FN-5899: add mission-goal linking commands and tools
Add mission↔goal linkage support across the API, CLI, and pi-extension surfaces. - add mission goal list/link/unlink REST endpoints and dashboard route coverage - add `fn mission goals`, `fn mission link-goal`, and `fn mission unlink-goal` CLI commands with tests - add `fn_mission_list_goals`, `fn_mission_link_goal`, and `fn_mission_unlink_goal` extension tools plus skill/docs updates - add a changeset for the published CLI package release Files changed: .changeset/FN-5899-mission-goal-tooling.md | 5 + docs/cli-reference.md | 11 +- docs/missions.md | 27 ++++ packages/cli/skill/fusion/SKILL.md | 2 +- packages/cli/skill/fusion/references/extension-tools.md | 26 ++++ packages/cli/skill/fusion/references/fusion-capabilities.md | 3 + packages/cli/src/__tests__/bin.test.ts | 21 +++ packages/cli/src/__tests__/extension-mission-goal-tools.test.ts | 140 +++++++++++++++++ packages/cli/src/bin.ts | 32 +++- packages/cli/src/commands/__tests__/mission.test.ts | 99 +++++++++++- packages/cli/src/commands/mission.ts | 102 +++++++++++++- packages/cli/src/extension.ts | 170 +++++++++++++++++++++ packages/dashboard/src/__tests__/mission-goal-links-routes.test.ts | 151 ++++++++++++++++++ packages/dashboard/src/mission-routes.ts | 153 ++++++++++++++++++- 14 files changed, 930 insertions(+), 12 deletions(-) Fusion-Task-Id: FN-5899 Fusion-Task-Lineage: c63b0f4b-c77e-4229-ade4-537a4dda0f5f
This commit is contained in:
@@ -29,7 +29,7 @@ Mission → Milestone → Slice → Feature → Task
|
||||
<!-- BEGIN: tool-categories (auto-generated by scripts/sync-fusion-skill-tools.mjs — do not edit by hand) -->
|
||||
- **Task tools** — `fn_task_create`, `fn_task_update`, `fn_task_list`, `fn_task_show`, `fn_task_attach`, `fn_task_pause`, `fn_task_unpause`, `fn_task_retry`, `fn_task_duplicate`, `fn_task_refine`, `fn_task_archive`, `fn_task_unarchive`, `fn_task_delete`, `fn_task_plan`
|
||||
- **GitHub tools** — `fn_task_import_github`, `fn_task_import_github_issue`, `fn_task_browse_github_issues`
|
||||
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_backfill_assertions`, `fn_mission_delete`, `fn_mission_update`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_feature_delete`, `fn_slice_delete`, `fn_milestone_delete`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_update`, `fn_milestone_update`
|
||||
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_list_goals`, `fn_mission_link_goal`, `fn_mission_unlink_goal`, `fn_mission_backfill_assertions`, `fn_mission_delete`, `fn_mission_update`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_feature_delete`, `fn_slice_delete`, `fn_milestone_delete`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_update`, `fn_milestone_update`
|
||||
- **Goal tools** — `fn_goal_list`, `fn_goal_create`, `fn_goal_archive`, `fn_goal_show`
|
||||
- **Agent tools** — `fn_agent_stop`, `fn_agent_start`, `fn_agent_create`, `fn_agent_delete`, `fn_list_agents`, `fn_delegate_task`, `fn_agent_show`, `fn_agent_org_chart`
|
||||
- **Skills tools** — `fn_skills_search`, `fn_skills_install`
|
||||
|
||||
@@ -196,6 +196,32 @@ Show mission details with full hierarchy: milestones → slices → features.
|
||||
|-----------|------|----------|-------------|
|
||||
| `id` | string | ✓ | Mission ID (e.g., M-001) |
|
||||
|
||||
### fn_mission_list_goals
|
||||
|
||||
List goals linked to a mission.
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `missionId` | string | ✓ | Mission ID (e.g., M-001) |
|
||||
|
||||
### fn_mission_link_goal
|
||||
|
||||
Link a goal to a mission.
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `missionId` | string | ✓ | Mission ID (e.g., M-001) |
|
||||
| `goalId` | string | ✓ | Goal ID (e.g., G-001) |
|
||||
|
||||
### fn_mission_unlink_goal
|
||||
|
||||
Unlink a goal from a mission.
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `missionId` | string | ✓ | Mission ID (e.g., M-001) |
|
||||
| `goalId` | string | ✓ | Goal ID (e.g., G-001) |
|
||||
|
||||
### fn_mission_backfill_assertions
|
||||
|
||||
Backfill mission assertions by deriving and linking one store-managed assertion for each feature without linked assertions. Supports dry-run mode.
|
||||
|
||||
@@ -48,6 +48,9 @@ All skill/extension tool invocations in this catalog use the public `fn_*` names
|
||||
| `fn_goal_archive` | Archive a goal by ID. |
|
||||
| `fn_goal_show` | Show full details for a single goal by ID. |
|
||||
| `fn_mission_show` | Show mission details with full hierarchy: milestones → slices → features. |
|
||||
| `fn_mission_list_goals` | List goals linked to a mission. |
|
||||
| `fn_mission_link_goal` | Link a goal to a mission. |
|
||||
| `fn_mission_unlink_goal` | Unlink a goal from a mission. |
|
||||
| `fn_mission_backfill_assertions` | Backfill mission assertions by deriving and linking one store-managed assertion for each feature without linked assertions. Supports dry-run mode. |
|
||||
| `fn_mission_delete` | Delete a mission and all its milestones, slices, and features. Cannot be undone. |
|
||||
| `fn_mission_update` | Update an existing mission's title or description. Partial patches leave untouched fields intact. |
|
||||
|
||||
Reference in New Issue
Block a user