FN-5958: add mission goal linking to create and update flows
Expand mission goal-link management across the REST API, CLI, and pi extension. - accept optional goalIds during mission create and patch requests, and enforce archived-goal rejection while keeping unlink permissive - add repeatable --goal support to fn mission create and reuse goal validation for CLI linking - expose archived-goal errors in pi-extension mission goal tools and document the new behavior Files changed: .changeset/FN-5958-mission-goal-links.md | 10 + docs/cli-reference.md | 8 +- docs/missions.md | 15 +- packages/cli/src/__tests__/bin.test.ts | 34 ++++ packages/cli/src/__tests__/extension-mission-goal-tools.test.ts | 36 ++++ packages/cli/src/bin.ts | 24 ++- packages/cli/src/commands/mission.ts | 29 ++- packages/cli/src/extension.ts | 7 + packages/dashboard/src/__tests__/mission-goal-links-routes.test.ts | 201 ++++++++++++++++++++- packages/dashboard/src/mission-routes.ts | 66 +++++-- 10 files changed, 390 insertions(+), 40 deletions(-) Fusion-Task-Id: FN-5958 Fusion-Task-Lineage: cf9d6013-5484-439d-b66d-44cac843c6ef
This commit is contained in:
@@ -653,7 +653,7 @@ Subcommands: `status`.
|
||||
Mission hierarchy operations.
|
||||
|
||||
```bash
|
||||
fn mission create "Platform hardening" "Security and reliability initiative" --base-branch develop
|
||||
fn mission create "Platform hardening" "Security and reliability initiative" --base-branch develop --goal G-001 --goal G-002
|
||||
fn mission list
|
||||
fn mission show mission_123
|
||||
fn mission goals mission_123
|
||||
@@ -665,13 +665,13 @@ fn mission activate-slice slice_456
|
||||
|
||||
Subcommands: `create`, `list|ls`, `show|info`, `goals`, `link-goal`, `unlink-goal`, `delete`, `activate-slice`.
|
||||
|
||||
`fn mission create` supports `--base-branch <branch>` to set a mission-level default integration branch used by mission feature/slice triage when no explicit branch override is provided.
|
||||
`fn mission create` supports `--base-branch <branch>` to set a mission-level default integration branch used by mission feature/slice triage when no explicit branch override is provided. It also supports repeatable `--goal <goal-id>` flags to link active goals during creation.
|
||||
|
||||
Mission ↔ goal linkage commands operate on the persisted `mission_goals` relation:
|
||||
|
||||
- `fn mission goals <mission-id>` lists the linked goals for a mission.
|
||||
- `fn mission link-goal <mission-id> <goal-id>` idempotently adds a goal link.
|
||||
- `fn mission unlink-goal <mission-id> <goal-id>` idempotently removes a goal link.
|
||||
- `fn mission link-goal <mission-id> <goal-id>` idempotently adds a goal link; archived goals reject with `GOAL_ARCHIVED` and missing goals still fail with `404`/not found.
|
||||
- `fn mission unlink-goal <mission-id> <goal-id>` idempotently removes a goal link, including archived goals.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user