gsxdsm
93e8bd9940
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
2026-06-02 14:47:51 -07:00
gsxdsm
48e08c07eb
FN-5880: recover plan-ready mission interview drafts
...
Keep completed mission interview summaries resumable until they are approved or discarded.
- include mission interview sessions in dashboard, CLI, and extension draft listings
- relabel complete drafts as plan-ready review items and reopen them at the summary approval step
- add regression coverage and docs/changeset updates for resumable complete drafts
Files changed:
.../fn-5880-mission-interview-complete-draft.md | 5 ++
docs/missions.md | 8 +--
packages/cli/src/__tests__/extension.test.ts | 13 +++-
.../cli/src/commands/__tests__/mission.test.ts | 11 ++-
packages/cli/src/commands/mission.ts | 17 ++++-
packages/cli/src/extension.ts | 7 +-
.../dashboard/app/components/MissionManager.tsx | 24 ++++---
.../components/__tests__/MissionManager.test.tsx | 70 ++++++++++++++++++
packages/dashboard/app/components/mission-types.ts | 2 +-
.../mission-interview-drafts-routes.test.ts | 18 ++++ -
.../src/__tests__/mission-interview.test.ts | 82 ++++++++++++++++++++++
packages/dashboard/src/mission-interview.ts | 36 +++++-----
12 files changed, 252 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-5880
Fusion-Task-Lineage: 18a9c25c-3f59-4179-9e9c-63f0747acb7f
2026-06-02 09:02:48 -07:00
gsxdsm
7d20a997b9
FN-5872: clear active-session registry on PR cleanup
...
Ensure PR-mode merge cleanup removes stale active-session registry state before deleting worktrees.
- unregister the task worktree from the active-session registry during merged-task artifact cleanup
- export the active-session registry from the engine entrypoint for lifecycle cleanup usage
- add CLI and engine regression coverage for registry cleanup and missing-entry best-effort behavior
- add a patch changeset for the published CLI package
Files changed:
.changeset/fn-5872-registry-cleanup.md | 5 ++++
.../src/commands/__tests__/task-lifecycle.test.ts | 29 +++++++++++++++++++++-
packages/cli/src/commands/task-lifecycle.ts | 8 +++++-
.../pr-mode-worktree-invariants.test.ts | 11 +++++---
packages/engine/src/index.ts | 1 +
5 files changed, 49 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-5872
Fusion-Task-Lineage: d4db24a3-7ae0-4d07-b029-7f30b2f65d2e
2026-06-02 07:46:38 -07:00
gsxdsm
e549d7af30
FN-5849: shard dashboard quality Vitest runs
...
Split the dashboard quality Vitest lane into bounded heap-managed shards to avoid signal exits.
- replace the single dashboard quality test command with sequential app and API shard scripts
- add a heap wrapper plus Vitest config shard definitions for foundation, component, App, ChatView, and SettingsModal coverage
- add guard tests for the sharded dashboard test configuration and restore spinner-animation.css.test.ts to foundation-ui coverage
- update the CLI package-config test expectations for the new dashboard test script layout
Files changed:
packages/cli/src/__tests__/package-config.test.ts | 8 +-
packages/dashboard/package.json | 18 +-
packages/dashboard/scripts/run-vitest-with-heap.mjs | 41 ++++
packages/dashboard/src/__tests__/dashboard-test-config-guard.test.ts | 77 ++++++
packages/dashboard/vitest.config.ts | 273 ++++++++++++++++++++-
5 files changed, 407 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-5849
Fusion-Task-Lineage: 522f3963-4647-4a59-bb6b-a3dacfbf620e
2026-06-02 00:53:39 -07:00
gsxdsm
de23db3789
FN-5862: bump pi coding agent dependencies to 0.78
...
Update Fusion to the latest pi coding agent and pi AI dependency release.
- bump @earendil-works/pi-coding-agent from ^0.77.0 to ^0.78.0 in the CLI, dashboard, and engine packages
- bump @earendil-works/pi-ai from ^0.77.0 to ^0.78.0 where it is consumed
- add a patch changeset documenting the published @runfusion/fusion update and refresh the lockfile
Files changed:
.changeset/fn-5862-pi-coding-agent-0.78.md | 5 +
packages/cli/package.json | 4 +-
packages/dashboard/package.json | 2 +-
packages/engine/package.json | 4 +-
pnpm-lock.yaml | 193 +++++++++++++++++++----------
5 files changed, 138 insertions(+), 70 deletions(-)
Fusion-Task-Id: FN-5862
Fusion-Task-Lineage: abdfa987-7ba5-45f7-8bea-3db3329a760c
2026-06-01 23:55:20 -07:00
gsxdsm
7d1708f023
FN-5851: fix goal tool store resolution
...
Resolve goal tool lookups to the canonical project store from Fusion worktree directories.
- recognize both legacy .worktrees and .fusion/worktrees paths when resolving the project root for pi extensions
- add CLI coverage proving fn_goal_list and fn_goal_show return dashboard-created goals from a Fusion worktree cwd
- extend core worktree-resolution tests and keep the branch conflict recovery test worktree path isolated in tmpdir
- add a patch changeset for the published CLI fix
Files changed:
.changeset/fn-5851-goal-store-resolution.md | 5 +
packages/cli/src/__tests__/goal-store-resolution.test.ts | 104 +++++++++++++++++++++
packages/core/src/__tests__/pi-extensions.test.ts | 14 ++-
packages/core/src/pi-extensions.ts | 12 ++-
packages/engine/src/__tests__/branch-conflicts-recovery.test.ts | 2 +-
5 files changed, 130 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5851
Fusion-Task-Lineage: ec4c8239-b953-4df7-9f72-02e17e4b0851
2026-06-01 23:39:20 -07:00
gsxdsm
0a418e6875
FN-5844: add plugin dev loop and external authoring docs
...
Add a local plugin development loop plus publishable external plugin guidance.
- add `fn plugin dev` routing and implementation with supervised build, install, and hot-reload behavior
- export plugin loader/store helpers and add CLI tests for dev flow, pack shape validation, and scaffold docs coverage
- document external plugin authoring, update CLI/plugin authoring docs, and add a patch changeset for `@runfusion/fusion`
Files changed:
.changeset/fn-5844-external-plugin-authoring.md | 5 +
docs/PLUGIN_AUTHORING.md | 10 +-
docs/cli-reference.md | 3 +-
docs/plugins/external-authoring.md | 114 +++++++++++
packages/cli/src/__tests__/bin.test.ts | 16 +-
packages/cli/src/__tests__/plugin-dev.test.ts | 138 ++++++++++++++
.../cli/src/__tests__/plugin-pack-shape.test.ts | 94 +++++++++
packages/cli/src/__tests__/plugin-scaffold.test.ts | 3 +
packages/cli/src/bin.ts | 16 +-
packages/cli/src/commands/plugin-dev.ts | 212 +++++++++++++++++++++
packages/cli/src/commands/plugin-scaffold.ts | 6 +-
packages/cli/src/commands/plugin.ts | 6 +-
12 files changed, 613 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-5844
Fusion-Task-Lineage: 80afa0a0-225c-486d-901a-909d14e7b056
2026-06-01 19:40:28 -07:00
gsxdsm
b09bbbce9c
FN-5848: clarify onboarding and git test expectations
...
Clarifies test expectations around onboarding auto-launch and non-matching integration tips.
- Rename the onboarding marker test to describe central DB gating accurately.
- Assert task-list routing when onboarding is skipped after central DB creation.
- Avoid accidental matching SHA construction in the git advance pending test.
Files changed:
packages/cli/src/__tests__/bin.test.ts | 8 ++++++--
packages/dashboard/src/__tests__/routes-git.test.ts | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5848
Fusion-Task-Lineage: c730deb9-875d-4371-9d92-f85281bcb658
2026-06-01 19:15:39 -07:00
gsxdsm
d4db0b0b00
FN-5847: honor onboarding completion marker in auto-launch
...
CLI onboarding auto-launch now skips once the persisted completion marker is present.
- Load `cliOnboardingCompletedAt` from global settings before launching onboarding when the central DB is missing.
- Preserve existing skip precedence for non-TTY, command, flag, environment, and central DB guards.
- Add unit and backcompat coverage for completion-marker and skipped-central-DB scenarios.
- Document the updated auto-launch behavior and add a patch changeset.
Files changed:
.changeset/fn-5847-onboard-autolaunch-marker.md | 5 ++
docs/cli-reference.md | 12 +--
.../onboard-autolaunch-backcompat-e2e.test.ts | 7 ++
.../onboard-autolaunch-backcompat.test.ts | 8 ++
.../__tests__/onboard-autolaunch-bypass.test.ts | 7 ++
.../commands/__tests__/onboard-autolaunch.test.ts | 93 ++++++++++++++++++++++
packages/cli/src/commands/onboard-autolaunch.ts | 46 ++++++++++-
7 files changed, 171 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5847
Fusion-Task-Lineage: db3e474e-e4b8-4299-8087-07b6cd1f4518
2026-06-01 18:52:28 -07:00
gsxdsm
b6783dd33e
FN-5814: add CLI onboarding gate coverage for TTY and skip paths
...
Expand CLI bin routing tests to cover onboarding auto-launch gating and bypass behavior.
- mock onboarding and TTY/core seams in bin command tests
- add coverage for interactive trigger vs non-TTY no-trigger paths
- verify serve/daemon bypass onboarding auto-launch
- verify skip controls via --skip-onboarding and FUSION_SKIP_ONBOARDING
- assert explicit onboard --force forwarding and marker-related invocation seam
Files changed:
packages/cli/src/__tests__/bin.test.ts | 97 +++++++++++++++++++++++++++++++++-
1 file changed, 96 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5814
Fusion-Task-Lineage: 805bd91e-687d-4a67-821d-5f4982cfe96e
2026-06-01 17:40:55 -07:00
gsxdsm
c676cbe12f
FN-5813: update fn onboard help and CLI docs
...
Align onboarding HELP text and CLI reference with current fn onboarding behavior.
- Document onboarding auto-launch conditions around missing central DB and interactive command flow.
- Add and clarify onboarding escape hatches: --skip-onboarding and FUSION_SKIP_ONBOARDING.
- Add an onboard docs parity test to keep HELP and docs aligned for key onboarding terms.
- Add a patch changeset for @runfusion/fusion describing the documentation/help update.
Files changed:
.changeset/fn-5813-onboard-docs.md | 5 ++++
docs/cli-reference.md | 21 +++++++++-----
packages/cli/src/bin.ts | 4 ++-
packages/cli/src/commands/__tests__/onboard-docs.test.ts | 33 ++++++++++++++++++++++
4 files changed, 55 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-5813
Fusion-Task-Lineage: 14a74ad9-5f09-471a-878d-aa120a28ef41
2026-06-01 17:15:11 -07:00
gsxdsm
245129e24c
FN-5812: add onboard autolaunch backcompat guard coverage
...
Protect onboarding autolaunch behavior so legacy projects and agent-run commands are not blocked.
- add end-to-end CLI test coverage for onboarding autolaunch backcompat guard behavior
- document the onboarding autolaunch compatibility behavior in the CLI reference
- add a patch changeset for @runfusion/fusion release tracking
Files changed:
.changeset/fn-5812-onboard-backcompat-guard.md | 5 +
docs/cli-reference.md | 6 +
packages/cli/src/commands/__tests__/onboard-autolaunch-backcompat-e2e.test.ts | 161 +++++++++++++++++++++
3 files changed, 172 insertions(+)
Fusion-Task-Id: FN-5812
Fusion-Task-Lineage: d735ef0e-1abc-4c22-bd11-07c2de69ace1
2026-06-01 16:55:56 -07:00
gsxdsm
9cbb54906f
FN-5843: scaffold standalone external-author plugins with reference template
...
Add a standalone external-author plugin scaffold flow and reference plugin output for fn plugin new.
- add standalone scaffold mode to plugin generator with external-author defaults
- generate reference plugin files and metadata tailored for out-of-tree/plugin-author usage
- update CLI wiring and command behavior for the new scaffold path
- expand CLI and scaffold tests to cover standalone generation behavior
- document the updated plugin scaffolding flow in CLI reference docs
Files changed:
docs/cli-reference.md | 3 +-
packages/cli/src/__tests__/bin.test.ts | 12 +-
packages/cli/src/__tests__/plugin-scaffold.test.ts | 114 ++++++---
packages/cli/src/bin.ts | 18 +-
packages/cli/src/commands/plugin-scaffold.ts | 269 +++++++++++++++++++--
5 files changed, 356 insertions(+), 60 deletions(-)
Fusion-Task-Id: FN-5843
Fusion-Task-Lineage: 4383e9ed-0b12-451e-a946-2d002f7e8faf
2026-06-01 16:20:52 -07:00
gsxdsm
af6e5b5eaf
FN-5842: publish plugin SDK subpath export
...
Expose the plugin SDK as a published CLI subpath while preserving existing workspace behavior.
- add a prepack transform helper that injects the ./plugin-sdk and ./package.json exports only in packed manifests
- split tsup config into dedicated CLI and plugin-sdk builds so dist/plugin-sdk JS and DTS are emitted with @fusion deps inlined
- add coverage for definePlugin/validatePluginManifest behavior and manifest/build export guarantees
- document the new published @runfusion/fusion/plugin-sdk surface for plugin authors
Files changed:
docs/agents.md | 2 +
packages/cli/scripts/prepare-publish-manifest.mjs | 61 +++++++++++++++-------
packages/cli/src/__tests__/plugin-sdk-export.test.ts| 50 ++++++++++++++++++
packages/cli/tsup.config.ts | 31 +++++++++--
4 files changed, 121 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-5842
Fusion-Task-Lineage: b6b481ae-aaac-46c0-a6f7-8cc1e9eed1ce
2026-06-01 16:09:35 -07:00
gsxdsm
bf37ce89f6
FN-5811: respect persisted CLI onboarding completion marker
...
Ensure CLI onboarding only auto-runs once by honoring a valid persisted completion timestamp.
- add `isCliOnboardingComplete` helper to validate non-empty `cliOnboardingCompletedAt` marker values
- use the helper in `runOnboard` so reruns are blocked unless `--force` is provided
- extend onboard tests to cover marker validation and verify the rerun guidance log
Files changed:
packages/cli/src/commands/__tests__/onboard.test.ts | 10 ++++++++++
packages/cli/src/commands/onboard.ts | 10 +++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5811
Fusion-Task-Lineage: 1547fd85-d06f-4ad0-adca-3a22709447fa
2026-06-01 14:39:09 -07:00
gsxdsm
379d01ae45
FN-5810: add onboard test guard for force re-run flow
...
Tighten onboarding verification for forced re-run behavior in CLI tests.
- assert the auth-only onboarding path does not invoke init
- preserve existing force re-run assertions around onboarding completion timestamp
Files changed:
packages/cli/src/commands/__tests__/onboard.test.ts | 1 +
1 file changed, 1 insertion(+)
Fusion-Task-Id: FN-5810
Fusion-Task-Lineage: 2d240c73-2a28-47be-b726-a4645a382cb6
2026-06-01 14:17:17 -07:00
gsxdsm
38e0422d35
FN-5809: add onboarding skip-flag and env bypass handling
...
Ensure CLI onboarding auto-launch is bypassed cleanly via explicit flag/env controls.
- Parse and strip global `--skip-onboarding` in CLI argument preprocessing while surfacing a dedicated `skipOnboarding` signal.
- Pass the surfaced skip signal into onboarding auto-launch decisions and preserve distinct reasons (`skip-flag` vs `skip-env`).
- Tighten `FUSION_SKIP_ONBOARDING` parsing to strict truthy values only (`1`, `true`, `yes`, `on`).
- Add focused tests covering bypass reasons, truthy env parsing, global flag stripping behavior, and integration with onboarding gating.
- Add a patch changeset for @runfusion/fusion documenting the onboarding bypass behavior update.
Files changed:
.changeset/fn-5809-skip-onboarding-bypass.md | 9 ++
packages/cli/src/bin.ts | 23 +++-
.../__tests__/onboard-autolaunch-bypass.test.ts | 140 +++++++++++++++++++++
packages/cli/src/commands/onboard-autolaunch.ts | 11 +-
4 files changed, 173 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-5809
Fusion-Task-Lineage: fc461eab-84df-42dc-924d-9d8cc59502cd
2026-06-01 14:07:46 -07:00
gsxdsm
e1a35a364b
FN-5808: skip onboarding auto-launch for non-interactive and existing setups
...
Prevent onboarding autolaunch when invocation is non-interactive or an existing central+project setup is detected.
- Add a project initialization probe in onboard autolaunch flow and skip when both central DB and project DB already exist.
- Preserve skip behavior for serve/daemon and all non-TTY invocations so agent/headless runs never block.
- Expand CLI autolaunch coverage with backward-compat and seam tests, and add a changeset for the published package.
Files changed:
.changeset/fn-5808-onboard-backcompat-guard.md | 5 +
.../onboard-autolaunch-backcompat.test.ts | 135 +++++++++++++++++++++
.../commands/__tests__/onboard-autolaunch.test.ts | 9 ++
packages/cli/src/commands/onboard-autolaunch.ts | 16 ++-
4 files changed, 164 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5808
Fusion-Task-Lineage: b859aa93-44d5-4d93-bc07-8149b95b4042
2026-06-01 13:33:56 -07:00
gsxdsm
40b491958f
FN-5806: make onboarding steps individually skippable
...
Allow each fn onboard stage to be skipped without exiting the overall onboarding flow.
- add a reusable skippable-step helper that prompts before each onboarding section
- gate central DB setup, provider setup, project init, core settings, and next-steps output behind per-step skip prompts
- preserve onboarding completion persistence while keeping cancellation semantics intact
- expand onboarding command tests for full skip, selective skip, and cancellation coverage
- document per-step skip behavior in the CLI reference
- add a patch changeset for @runfusion/fusion
Files changed:
.changeset/fn-5806-onboard-step-skip.md | 5 +
docs/cli-reference.md | 3 +-
packages/cli/src/commands/__tests__/onboard.test.ts | 72 ++++++++++++-
packages/cli/src/commands/onboard.ts | 112 ++++++++++++---------
4 files changed, 141 insertions(+), 51 deletions(-)
Fusion-Task-Id: FN-5806
Fusion-Task-Lineage: d122d67a-2a13-4b2f-a1aa-459dc548d370
2026-06-01 13:20:55 -07:00
gsxdsm
641b932631
FN-5807: add onboarding auto-launch hook before interactive commands
...
Ensure CLI onboarding auto-launch runs before interactive command execution when central DB is missing.
- Hooked auto-launch flow into bin.ts before interactive command handling.
- Added a dedicated onboard-autolaunch command module to detect missing central DB and trigger onboarding.
- Added focused CLI tests covering auto-launch behavior and guard conditions.
- Added a changeset for @runfusion/fusion patch release.
Files changed:
.changeset/fn-5807-onboarding-autolaunch.md | 5 +
packages/cli/src/bin.ts | 3 +
.../commands/__tests__/onboard-autolaunch.test.ts | 164 +++++++++++++++++++++
packages/cli/src/commands/onboard-autolaunch.ts | 116 +++++++++++++++
4 files changed, 288 insertions(+)
Fusion-Task-Id: FN-5807
Fusion-Task-Lineage: a12551b3-d8a4-492a-81f8-e92b4e138204
2026-06-01 13:03:20 -07:00
gsxdsm
130f6f1e9a
FN-5834: enforce explicit developer-role compatibility for custom providers
...
Prevent unsupported developer-role API failures by making provider role compatibility explicit and covered by regression safeguards.
- Add explicit supportsDeveloperRole capability to custom provider metadata/types and wire it through provider registration.
- Update CLI custom-provider registration behavior and tests to persist and validate developer-role compatibility settings.
- Add/adjust engine regression coverage for openai-completions message role conversion, including reasoning-model fallback behavior.
- Document the new custom provider setting and add a published changeset for @runfusion/fusion.
Files changed:
.changeset/fn-5834-developer-role-compat.md | 5 ++
docs/settings-reference.md | 2 +-
packages/cli/src/commands/__tests__/custom-provider-registry.test.ts | 44 +++++++++++-
packages/cli/src/commands/custom-provider-registry.ts | 9 ++-
packages/core/src/types.ts | 5 ++
packages/engine/src/__tests__/custom-providers-openai-completions.test.ts | 84 +++++++++++-----------
6 files changed, 106 insertions(+), 43 deletions(-)
Fusion-Task-Id: FN-5834
Fusion-Task-Lineage: 4edc80c9-5e60-41e4-bce1-662d18255d88
2026-06-01 09:05:18 -07:00
gsxdsm
9c29e2e776
FN-5829: add shared feature branch option for new tasks
...
Allow new tasks to target a shared branch-group feature branch during creation.
- Add branch-group aware branch selection handling in task workflow routes.
- Update store/types/db wiring to support and persist shared feature-branch targeting.
- Extend dashboard task creation UI/tests and route tests to cover the new option.
- Add a changeset for @runfusion/fusion documenting the new CLI/task behavior.
Files changed:
.changeset/fn-5829-shared-feature-branch-option.md | 7 ++
.../src/commands/__tests__/task-lifecycle.test.ts | 2 +-
.../core/src/__tests__/branch-group-store.test.ts | 26 ++++++
packages/core/src/db.ts | 4 +-
packages/core/src/store.ts | 9 +-
packages/core/src/types.ts | 2 +-
packages/dashboard/app/components/NewTaskModal.tsx | 2 +-
packages/dashboard/app/components/TaskForm.tsx | 9 +-
.../app/components/__tests__/NewTaskModal.test.tsx | 37 ++++++++
.../src/__tests__/branch-selection.test.ts | 12 +++
.../dashboard/src/__tests__/mission-e2e.test.ts | 8 +-
.../src/__tests__/routes-planning.test.ts | 6 +-
.../src/__tests__/routes-tasks.test.ts | 102 +++++++++++++++++++++
packages/dashboard/src/routes/branch-selection.ts | 19 +++-
.../src/routes/register-task-workflow-routes.ts | 23 +++--
15 files changed, 242 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-5829
Fusion-Task-Lineage: 7d69acc8-19a3-4112-9bf2-5ac7b5e5a929
2026-06-01 03:23:10 -07:00
gsxdsm
e854d33375
FN-5805: add fn onboard command with sequential runOnboard flow
...
Add a new interactive onboarding CLI flow that guides first-time setup end to end.
- add new `fn onboard` command wiring in CLI entrypoint and usage help
- implement `runOnboard()` with sequential prompts for central DB, provider auth, init, test mode, and project maxConcurrent
- persist `cliOnboardingCompletedAt` marker in global settings with `--force` rerun support
- add onboarding command tests and global settings regression coverage
- document `fn onboard` usage and options in CLI reference
- add a minor changeset for published `@runfusion/fusion`
Files changed:
.changeset/fn-5805-onboard-command.md | 5 +
docs/cli-reference.md | 20 ++
packages/cli/src/bin.ts | 10 +
packages/cli/src/commands/__tests__/onboard.test.ts| 193 ++++++++++++++++
packages/cli/src/commands/onboard.ts | 249 +++++++++++++++++++++
packages/core/src/__tests__/global-settings.test.ts| 11 +
packages/core/src/index.ts | 2 +-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 +
9 files changed, 494 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5805
Fusion-Task-Lineage: b1bcaf27-9bd7-4569-b685-225a97fa1200
2026-06-01 01:42:19 -07:00
gsxdsm
a8c920daf9
chore(release): v0.39.0
...
Version bump via changesets.
2026-05-31 20:05:32 -07:00
gsxdsm
c8ae94db6b
FN-5785: fix branch group PR typecheck errors
...
Export BranchGroupPrState from @fusion/core, narrow task.branchContext
before group lookup, and populate the full PrInfo shape when
reconstructing the group PR from branch_groups metadata.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 14:01:50 -07:00
gsxdsm
e2101ea721
FN-5785: add group-level pull request support for branch_groups
...
Add a single group-level pull request path for branch_groups in task lifecycle workflows.
- add CLI task lifecycle logic to create one pull request per branch group
- update task lifecycle tests to cover grouped pull request behavior and edge cases
- document the pull/merge dashboard behavior update
- add a changeset for @runfusion/fusion patch release
Files changed:
.changeset/fn-5785-group-pr.md | 7 +
docs/dashboard-guide.md | 1 +
.../src/commands/__tests__/task-lifecycle.test.ts | 294 ++++++++++++++++++++-
packages/cli/src/commands/task-lifecycle.ts | 156 ++++++++++-
4 files changed, 443 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-5785
Fusion-Task-Lineage: 3100dedd-5b41-4cde-a56c-291410563568
2026-05-31 13:50:23 -07:00
gsxdsm
0c425788cb
FN-5782: wire branch groups into merge routing
...
Connect branch_group metadata through planning and merge execution for grouped integration branches.
- propagate `branchGroup` and `branchGroupName` through core store types, merge metadata, and CLI task lifecycle APIs
- add merge coordination that computes branch-group plans and routes grouped tasks via `group-merge-coordinator`
- extend finalize-plan, merger, and reliability tests to cover grouped merge routing and integration behavior
- document the architecture update and add a patch changeset for `@runfusion/fusion`
Files changed:
.changeset/fn-5782-branch-group-merge.md | 7 +
docs/architecture.md | 2 +
packages/cli/src/commands/__tests__/task-lifecycle.test.ts | 64 ++++++++-
packages/cli/src/commands/task-lifecycle.ts | 4 +
packages/core/src/__tests__/branch-group-store.test.ts | 20 +++
packages/core/src/__tests__/task-merge.test.ts | 64 +++++++++
packages/core/src/store.ts | 22 ++-
packages/core/src/task-merge.ts | 26 +++-
packages/core/src/types.ts | 2 +-
packages/engine/src/__tests__/experiment-finalize-plan.test.ts | 33 ++++-
packages/engine/src/__tests__/group-merge-coordinator.test.ts | 62 +++++++++
packages/engine/src/__tests__/reliability-interactions/branch-group-merge-routing.test.ts | 153 +++++++++++++++++++++
packages/engine/src/experiment/finalize-plan.ts | 62 +++++++--
packages/engine/src/group-merge-coordinator.ts | 51 +++++++
packages/engine/src/index.ts | 4 +
packages/engine/src/merger.ts | 47 ++++++-
16 files changed, 601 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-5782
Fusion-Task-Lineage: 0a70cfaa-2379-4955-b295-64de1f3093c8
2026-05-31 13:50:23 -07:00
gsxdsm
acad46cc10
FN-5764: expose mission assertion backfill through API and CLI
...
Expose mission assertion backfill controls and run paths across engine, API, and CLI surfaces.
- add mission assertion backfill gating classification and reliability coverage for assertion-linked validation recovery
- add dashboard mission routes plus legacy API coverage and e2e checks for running assertion backfill
- expose new extension tool support and update Fusion skill docs/capability references
- add a changeset for @runfusion/fusion and refresh mission documentation
Files changed:
.changeset/fn-5764-mission-backfill-assertions.md | 9 ++
docs/missions-completion-contract.md | 7 +-
docs/missions.md | 7 +-
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 9 ++
.../skill/fusion/references/fusion-capabilities.md | 1 +
packages/cli/src/__tests__/extension.test.ts | 41 +++++++
packages/cli/src/extension.ts | 43 +++++++
.../dashboard/app/__tests__/api-missions.test.ts | 44 +++++++
packages/dashboard/app/api/legacy.ts | 34 ++++++
.../dashboard/src/__tests__/mission-e2e.test.ts | 127 +++++++++++++++++++++
packages/dashboard/src/mission-routes.ts | 29 +++++
.../mission-validation-trigger-gap.test.ts | 66 +++++++++++
.../workflow-step-readonly-allowlist.test.ts | 1 +
packages/engine/src/gating-classifications.ts | 1 +
15 files changed, 418 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5764
Fusion-Task-Lineage: b16123c2-7cfe-4b17-a899-4e30044a7a49
2026-05-31 08:32:01 -07:00
gsxdsm
0ffe7f0604
FN-5762: add mission hierarchy delete tools with linked-task guards
...
Add mission delete tooling across core, dashboard routes, and CLI extension surfaces.
- Add `fn_feature_delete`, `fn_slice_delete`, and `fn_milestone_delete` tools to the CLI extension with `force` override support.
- Enforce live-task linkage guards for feature/slice/milestone deletes in mission store logic and expose conflict behavior through mission routes.
- Extend coverage and docs for delete behavior, allowlist/gating metadata, and published Fusion skill/tool references.
Files changed:
.changeset/fn-5762-feature-delete.md | 7 +
docs/missions.md | 15 +++
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 27 ++++
.../skill/fusion/references/fusion-capabilities.md | 3 +
packages/cli/src/__tests__/extension.test.ts | 34 +++++
packages/cli/src/extension.ts | 106 +++++++++++++++
packages/core/src/__tests__/mission-store.test.ts | 146 ++++++++++++++++++++-
packages/core/src/mission-store.ts | 98 ++++++++++++--
.../dashboard/src/__tests__/mission-e2e.test.ts | 62 +++++++--
packages/dashboard/src/mission-routes.ts | 42 +++++-
.../workflow-step-readonly-allowlist.test.ts | 3 +
packages/engine/src/gating-classifications.ts | 3 +
13 files changed, 514 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-5762
Fusion-Task-Lineage: 9c6eceff-dcb4-4a2b-90c6-59cb0228ca6d
2026-05-31 08:32:01 -07:00
gsxdsm
194dfa9387
FN-5758: add cited-goal audit aggregation and runtime route
...
Add end-to-end goal-citation audit trail plumbing across core, engine, CLI, and dashboard.
- extend goal citation extraction with aggregation logic and new core coverage
- expose cited-goal runtime data through dashboard routes with dedicated API tests
- wire goal-citation audit details into engine diagnostics and CLI extension audit expectations
- document the new audit behavior and publish a patch changeset for @runfusion/fusion
Files changed:
.changeset/fn-5758-goal-citation-audit.md | 9 +++
docs/dashboard-guide.md | 2 +
docs/diagnostics.md | 4 ++
.../__tests__/extension-goal-tools-audit.test.ts | 6 +-
packages/cli/src/extension.ts | 3 +
.../goal-citation-audit-aggregation.test.ts | 63 ++++++++++++++++++
packages/core/src/goal-citation-extractor.ts | 54 ++++++++++++++-
packages/core/src/index.ts | 1 +
.../src/__tests__/routes-run-cited-goals.test.ts | 77 ++++++++++++++++++++++
packages/dashboard/src/routes.ts | 11 ++++
.../src/routes/register-agent-runtime-routes.ts | 49 ++++++++++++++
.../src/__tests__/goal-anchoring-audit.test.ts | 40 +++++++----
packages/engine/src/goal-anchoring-audit.ts | 4 ++
packages/engine/src/goal-injection-diagnostics.ts | 1 +
14 files changed, 308 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-5758
Fusion-Task-Lineage: b077c0b7-6ca4-489d-8c36-73d80a2afdb2
2026-05-30 22:53:24 -07:00
Phil Larson
b1c1a33d34
Add safe task dependency mutation
2026-05-30 13:43:36 -07:00
gsxdsm
cf95d3636f
ci(release): drop macOS Intel (bun-darwin-x64) from binary matrix
...
macos-13 runners are too scarce — the darwin-x64 leg sat queued for hours
and blocked the release publish job (which needs all build legs). Ship the
CLI Apple-Silicon-only for macOS; desktop macOS DMG/ZIP stays universal.
Removed from release.yml + test-release.yml matrices, updated ci-workflow
assertions (5→4 targets) and RELEASING.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-30 10:06:51 -07:00
gsxdsm
884e677afa
fix(build): pin @types/node workspace-wide; make build-exe tests opt-in
...
(b) Windows desktop build flakily failed with "Property 'ok'/'status' does
not exist on type 'Response'" because the workspace resolved multiple
@types/node versions (incl. an ancient 12.20.55 from @manypkg/find-root that
predates global fetch types). plugin-sdk compiles with lib:["ES2022"] and no
DOM lib, so Response comes solely from @types/node — nondeterministic across
runners. Pin via pnpm.overrides "@types/node": "^25.5.2"; collapses the
lockfile to one version. Verified: plugin-sdk build + desktop + full
workspace typecheck all pass.
Also: build-exe-cross tests cross-compiled all 5 platforms on every CI run
(auto-enabled via Boolean(process.env.CI)) — a release-build dependency in
the normal lane. Made them opt-in (FUSION_TEST_BUILD_EXE=1) and pointed the
root test:slow-cli at the CLI slow lane instead of test:pre-release, so
everyday CI no longer depends on release builds. test:pre-release and
test-release.yml still validate binaries deliberately.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-30 08:39:38 -07:00
gsxdsm
033f74c458
FN-5714: reject linking features to non-active tasks
...
Gracefully handle feature-to-task linking when the referenced task is archived, deleted, or missing.
- enforce active-board task validation in mission store linkage path with clear error text
- return surfaced validation errors from fn_feature_link_task instead of throwing opaque failures
- add regression coverage in core and CLI extension tests for archived/non-active task references
- add changeset and sync Fusion skill reference docs with the new fn_feature_link_task behavior
Files changed:
.changeset/fn-5714-link-archived-task.md | 5 +++
.../cli/skill/fusion/references/extension-tools.md | 2 +-
.../skill/fusion/references/fusion-capabilities.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 50 ++++++++++++++++++++++
packages/cli/src/extension.ts | 35 +++++++++------
packages/core/src/__tests__/mission-store.test.ts | 17 ++++++++
packages/core/src/mission-store.ts | 9 ++++
7 files changed, 106 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-5714
Fusion-Task-Lineage: d84c45cf-0a0d-47a3-81c5-f99d16e03ecf
2026-05-30 08:39:38 -07:00
gsxdsm
3b594879a8
FN-5713: add mission update tool and docs
...
Add mission-update support to Fusion tooling and document it across mission references.
- register new `fn_mission_update` extension tool to patch mission title/description with validation and not-found handling
- add extension tests covering successful mission updates and error cases
- allowlist `fn_mission_update` in workflow-step readonly gating policy tests and classifications
- update Fusion skill and mission docs to describe mission updates and extension tool usage
- add a changeset for `@runfusion/fusion` patch release
Files changed:
.changeset/fn-5713-mission-update-tool.md | 5 ++
docs/missions.md | 13 ++++
packages/cli/skill/fusion/SKILL.md | 2 +-
packages/cli/skill/fusion/references/extension-tools.md | 10 +++
packages/cli/skill/fusion/references/fusion-capabilities.md | 1 +
packages/cli/src/__tests__/extension.test.ts | 71 ++++++++++++++++++++++
packages/cli/src/extension.ts | 69 +++++++++++++++++++++
packages/engine/src/__tests__/workflow-step-readonly-allowlist.test.ts | 1 +
packages/engine/src/gating-classifications.ts | 1 +
9 files changed, 172 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5713
Fusion-Task-Lineage: e491973a-2d5d-4ef8-bf13-39b3669918ee
2026-05-30 08:39:38 -07:00
gsxdsm
f659a07a25
chore(release): v0.38.1
...
Version bump via changesets.
2026-05-30 00:18:41 -07:00
gsxdsm
45d22586dc
chore(release): v0.38.0
...
Version bump via changesets.
2026-05-29 23:17:31 -07:00
gsxdsm
afc3b4749f
FN-5655: add goal anchoring audit events across lanes
...
Add audit guardrails that track goal anchoring injection across executor, heartbeat, and CLI/dashboard surfaces.
- add a dedicated engine goal-anchoring audit emitter and export it
- emit goal anchoring audit events from executor and heartbeat goal-context injection paths
- extend run-audit wiring and CLI extension output to surface goal anchoring events
- add engine, CLI, and dashboard regression tests for goal-tool and audit event behavior
- document the new audit coverage and include a published changeset entry
Files changed:
.changeset/fn-5655-goal-anchoring-audit.md | 7 ++
docs/architecture.md | 1 +
docs/dashboard-guide.md | 1 +
.../__tests__/extension-goal-tools-audit.test.ts | 65 +++++++++++++++
packages/cli/src/extension.ts | 28 +++++++
.../__tests__/routes-run-audit-goal-events.test.ts | 72 ++++++++++++++++
.../src/__tests__/goal-anchoring-audit.test.ts | 95 ++++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 20 +++--
packages/engine/src/executor.ts | 20 +++--
packages/engine/src/goal-anchoring-audit.ts | 89 ++++++++++++++++++++
packages/engine/src/index.ts | 10 +++
packages/engine/src/run-audit.ts | 6 +-
12 files changed, 399 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-5655
Fusion-Task-Lineage: f3c10568-4050-42c4-9fe2-b84bf749b89d
2026-05-29 20:05:14 -07:00
gsxdsm
0dbb1cd6f9
FN-5704: escalate self-owned execution limbo instead of endless resume
...
Escalate reclaimable in-progress resume limbo into an explicit failure path to stop infinite self-healing loops.
- add resume-limbo escalation handling in self-healing/executor flow so self-owned stuck execution is failed and surfaced
- extend core task/run-audit types and retry-reset/store behavior to persist and expose the new escalation state
- add reliability interaction coverage for reclaim self-owned resume limbo escalation and update related schema/store/CLI/plugin tests and docs
Files changed:
AGENTS.md | 1 +
docs/architecture.md | 2 +
packages/cli/src/commands/__tests__/task.test.ts | 2 +
packages/core/src/__tests__/db-migrate.test.ts | 12 +-
packages/core/src/__tests__/db.test.ts | 34 ++---
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
packages/core/src/__tests__/secrets-schema.test.ts | 6 +-
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/db.ts | 13 +-
packages/core/src/manual-retry-reset.ts | 1 +
packages/core/src/store.ts | 37 ++++-
packages/core/src/types.ts | 11 ++
...laim-self-owned-resume-limbo-escalation.test.ts | 168 +++++++++++++++++++++
packages/engine/src/executor.ts | 5 +
packages/engine/src/run-audit.ts | 1 +
packages/engine/src/self-healing.ts | 72 +++++++++
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
21 files changed, 345 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-5704
Fusion-Task-Lineage: c8f73d16-d95b-450f-a514-e7d3c2f7aebe
2026-05-29 20:05:14 -07:00
gsxdsm
71e2aec5b7
FN-5663: add goal-citation audit trail to agent reasoning
...
Record goal citation evidence so agent reasoning can be traced end-to-end.
- add core goal citation types, extraction helper, persistence schema, and store APIs for citation create/list workflows
- add CLI support and tests for goal citation flows, including command wiring and regression coverage
- update docs and add a published changeset for @runfusion/fusion describing the new audit-trail capability
Files changed:
.changeset/fn-5663-goal-citation-audit-trail.md | 10 +
docs/agents.md | 15 ++
docs/cli-reference.md | 6 +-
packages/cli/src/__tests__/bin.test.ts | 2 +
.../cli/src/__tests__/goals-citations-cli.test.ts | 82 ++++++++
packages/cli/src/bin.ts | 19 +-
packages/cli/src/commands/goals.ts | 43 +++++
packages/core/src/__tests__/db-migrate.test.ts | 10 +-
packages/core/src/__tests__/db.test.ts | 34 ++--
.../src/__tests__/goal-citation-extractor.test.ts | 56 ++++++
.../src/__tests__/goal-citations-store.test.ts | 175 +++++++++++++++++
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
packages/core/src/__tests__/secrets-schema.test.ts | 6 +-
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/db.ts | 51 ++++-
packages/core/src/goal-citation-extractor.ts | 56 ++++++
packages/core/src/index.ts | 13 ++
packages/core/src/store.ts | 210 ++++++++++++++++++++-
packages/core/src/types.ts | 51 ++++-
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
24 files changed, 817 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-5663
Fusion-Task-Lineage: 720f2c4b-4363-464a-a76f-472ec6aca136
2026-05-29 08:25:38 -07:00
gsxdsm
a960bb1031
chore(release): v0.37.0
...
Version bump via changesets.
2026-05-29 08:09:33 -07:00
gsxdsm
b335f3d7c4
FN-5652: add goal retrieval tool for agent execution
...
Expose goal details to agents during task execution workflows.
- add fn_goal_show tool to the CLI extension with goal lookup, formatted output, and not-found error details
- add focused tests for goal tool registration and execution behavior
- mark fn_goal_show as execution-safe in engine gating classifications and test coverage
- update Fusion skill/reference docs to include the new goal retrieval capability
- add a changeset for @runfusion/fusion patch release
Files changed:
.changeset/fn-5652-goal-show.md | 7 +
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 16 +++
.../skill/fusion/references/fusion-capabilities.md | 1 +
.../cli/src/__tests__/extension-goal-tools.test.ts | 148 +++++++++++++++++++++
packages/cli/src/extension.ts | 43 ++++++
.../src/__tests__/gating-classifications.test.ts | 7 +
packages/engine/src/gating-classifications.ts | 2 +
8 files changed, 225 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5652
Fusion-Task-Lineage: 98c2c417-0887-4794-81b1-6b47ab0f708f
2026-05-29 07:13:23 -07:00
gsxdsm
6c44ed16e7
chore(release): v0.36.0
...
Version bump via changesets.
2026-05-28 23:40:25 -07:00
gsxdsm
cec191eac3
FN-5638: migrate pi-ai and pi-coding-agent packages to @earendil-works scope
...
Fusion-Task-Id: FN-5638
Fusion-Task-Lineage: 6e99c156-5f6c-42e6-bd26-618e08ffd05f
2026-05-28 21:23:48 -07:00
gsxdsm
1153b0932e
Gitignore .fusion and stray fusion.db files on fn init
2026-05-28 19:55:52 -07:00
gsxdsm
009d569bdd
Recovery: re-land fn goals CLI + pi tools onto main
2026-05-28 19:44:15 -07:00
gsxdsm
b96b0bc79a
feat(FN-5632): add collision retry logic to fn update command
...
Adds collision retry logic to the `fn update` CLI command to handle binary path conflicts, including test coverage and a getting-started guide update.
Fusion-Task-Id: FN-5632
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
Fusion-Task-Id: FN-5632
2026-05-28 14:50:15 -07:00
gsxdsm
5b5da2c24f
feat(FN-5630): add bundled plugin installation support to CLI
...
Adds bundled plugin resolution for `@runfusion/fusion`, including a dist candidate check in `bundled-plugin-install.ts` and regression tests covering the install path, with a patch changeset prepared.
Fusion-Task-Id: FN-5630
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
Fusion-Task-Id: FN-5630
2026-05-28 13:28:53 -07:00
gsxdsm
2b66825fc1
test(core): force deterministic fs.watch failure with NUL-byte path
...
Prior attempt accepted either fs.watch failure path (sync throw vs async
error event) — but on Linux Node, fs.watch with `recursive: true` on a
missing directory silently succeeds (returns a no-op watcher, never
throws, never emits an error). Neither catch arm fires, so the warning
the test wants to assert never appears.
Switch to a NUL-byte-embedded path. Node validates the path argument up
front and throws ERR_INVALID_ARG_VALUE synchronously on every platform,
guaranteeing the `watch:fs-watch-setup` catch arm runs. Restore the
strict assertions on phase + message.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 10:46:21 -07:00
gsxdsm
0a04837e7a
chore(release): v0.35.0
...
Version bump via changesets.
2026-05-28 08:20:50 -07:00