gsxdsm
e85d25e383
FN-7395: fix packaged desktop launch assets
...
Fix installed desktop launches so they use packaged runtime assets without parsing caller workspaces.
- Resolve normal desktop launches from packaged CLI desktop assets, with explicit override and dev paths.
- Stage desktop runtime assets into the published CLI package and include them in npm files.
- Route desktop --no-auth into the embedded dashboard server and document installed/dev launch behavior.
- Cover invalid JSON caller directories, missing packaged assets, package contents, and CLI routing in tests.
Files changed:
.changeset/fn-7395-desktop-launcher.md | 7 ++
docs/cli-reference.md | 12 +-
packages/cli/package.json | 1 +
packages/cli/src/__tests__/bin.test.ts | 19 +++
packages/cli/src/__tests__/package-config.test.ts | 11 ++
packages/cli/src/bin.ts | 10 +-
.../cli/src/commands/__tests__/desktop.test.ts | 132 ++++++++++++++++++---
packages/cli/src/commands/desktop.ts | 85 ++++++++-----
packages/cli/tsup.config.ts | 60 ++++++++++
9 files changed, 285 insertions(+), 52 deletions(-)
Fusion-Task-Id: FN-7395
Fusion-Task-Lineage: e7a8d065-0d41-4fa3-9cea-1cfb5b466d16
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 15:39:34 -07:00
gsxdsm
37027632e0
FN-7378: upgrade pi SDK dependencies
...
Upgrade the bundled pi SDK packages and compatibility imports for the 0.80.3 release.
- Bump @earendil-works/pi-ai and @earendil-works/pi-coding-agent consumers to ^0.80.3.
- Update pi SDK import paths for the new compatibility and API export map layout.
- Refresh dependency contract tests and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7378-pi-sdk-upgrade.md | 7 ++
packages/cli/package.json | 4 +-
packages/cli/src/__tests__/package-config.test.ts | 8 +-
packages/dashboard/package.json | 2 +-
packages/engine/package.json | 4 +-
.../custom-providers-openai-completions.test.ts | 8 +-
pnpm-lock.yaml | 108 ++++++++++-----------
7 files changed, 72 insertions(+), 69 deletions(-)
Fusion-Task-Id: FN-7378
Fusion-Task-Lineage: ed8847dc-2adf-4ede-aa75-045f2e2436a0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 10:37:44 -07:00
gsxdsm
a9e2baa9f8
FN-7367: link imported GitHub issues to tracking
...
Imported GitHub issues can now adopt their source issue as the tracking issue without changing ordinary task defaults.
- Add the project-scoped githubLinkImportedIssuesToTracking setting with docs, Settings UI, and defaults.
- Honor the import-only setting across dashboard, CLI, and extension GitHub issue import paths.
- Cover saved settings and import tracking behavior with CLI, dashboard, and parity tests.
- Add a minor changeset for the published CLI package.
Files changed:
.changeset/fn-7367-github-import-tracking.md | 7 +++
docs/settings-reference.md | 3 +-
packages/cli/src/__tests__/extension.test.ts | 73 ++++++++++++++++++++++
.../task-command-github-import-tracking.test.ts | 16 +++++
packages/cli/src/commands/__tests__/task.test.ts | 28 +++++++++
packages/cli/src/commands/task.ts | 45 +++++++------
packages/cli/src/extension.ts | 45 +++++++------
.../core/src/__tests__/settings-parity.test.ts | 4 ++
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 6 ++
.../app/__tests__/settings-save-split.test.ts | 19 ++++++
.../dashboard/app/components/SettingsModal.tsx | 6 ++
.../__tests__/SettingsModal.general.test.tsx | 59 +++++++++++++++++
.../__tests__/SettingsModal.test-harness.tsx | 1 +
.../settings/sections/GeneralSection.tsx | 9 +++
.../dashboard/src/__tests__/routes-github.test.ts | 45 +++++++++++++
.../dashboard/src/routes/register-git-github.ts | 7 +++
17 files changed, 325 insertions(+), 49 deletions(-)
Fusion-Task-Id: FN-7367
Fusion-Task-Lineage: 43671cdf-7e0d-4b7a-9ba2-54c9a367dfec
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 09:50:57 -07:00
gsxdsm
94ddfe1064
FN-7274: document workflow tools in Fusion skill
...
Document the workflow-authoring tool surface in the packaged Fusion skill references.
- Add workflow tools to the generated Fusion skill category and capability tables.
- Teach the skill sync script to read workflow tool specs from extension and engine agent tool sources.
- Cover workflow tool documentation and cache inputs with sync tests.
- Add a changeset for the published CLI skill update.
Files changed:
.changeset/fn-7274-workflow-skill-tools.md | 7 +
packages/cli/skill/fusion/SKILL.md | 1 +
.../cli/skill/fusion/references/engine-tools.md | 4 +-
.../cli/skill/fusion/references/extension-tools.md | 83 +++++++++-
.../skill/fusion/references/fusion-capabilities.md | 8 +
packages/cli/src/__tests__/skill-sync.test.ts | 60 ++++++-
scripts/__tests__/skill-sync-cache.test.mjs | 5 +
scripts/sync-fusion-skill-tools.mjs | 172 ++++++++++++++++++---
8 files changed, 312 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-7274
Fusion-Task-Lineage: e1cd6bd8-aecc-49ca-96ed-a937a15a18a4
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 08:04:12 -07:00
gsxdsm
f01e5c9651
FN-7247: document current workflow behavior
...
Refresh workflow documentation to match the latest runtime, dashboard, and agent tool behavior.
- Add a current workflow behavior inventory covering built-ins, fail-closed runtime semantics, optional gates, settings, tools, routing, and create forwarding.
- Clarify dashboard All workflows aggregation, workflow badges, and workflow-aware task creation behavior.
- Expand editor, agent, CLI, and settings docs for governed workflow authoring, values, trait inspection, and selection boundaries.
- Add docs drift tests requiring workflow docs index coverage and current behavior markers.
Files changed:
docs/agents.md | 5 +-
docs/cli-reference.md | 11 ++-
docs/dashboard-guide.md | 10 ++-
docs/settings-reference.md | 5 ++
docs/workflow-editor.md | 15 +++-
docs/workflow-steps.md | 48 ++++++++---
.../cli/src/__tests__/docs-readme-index.test.ts | 4 +
.../src/__tests__/workflow-docs-current.test.ts | 95 ++++++++++++++++++++++
8 files changed, 172 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-7247
Fusion-Task-Lineage: 72bf0c89-80a3-440c-b6aa-1aea315279f5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 19:46:23 -07:00
gsxdsm
42226edde1
FN-7245: expose workflow authoring tools to agents
...
Expose workflow authoring and selection tools through agent-visible extension surfaces.
- Register workflow list/get/create/update/delete/settings/select and trait-list tools in the published pi extension.
- Export shared workflow tool schemas/factories and include workflow settings in centralized authoring tool sets.
- Update action-gate classifications, permission examples, docs, tests, and the changeset for the new agent workflow surface.
Files changed:
.changeset/FN-7245-workflow-tools.md | 7 +
docs/agents.md | 4 +-
docs/cli-reference.md | 17 ++
docs/workflow-steps.md | 9 +-
.../src/__tests__/extension-workflow-tools.test.ts | 244 +++++++++++++++++++++
packages/cli/src/__tests__/extension.test.ts | 8 +
packages/cli/src/extension.ts | 142 ++++++++++++
packages/core/src/types.ts | 6 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 9 +-
.../planning-document-tools-exposure.test.ts | 19 +-
.../engine/src/__tests__/agent-action-gate.test.ts | 8 +
.../agent-workflow-tools-exposure.test.ts | 30 ++-
.../src/__tests__/gating-classifications.test.ts | 13 +-
.../src/__tests__/permanent-agent-gating.test.ts | 4 +-
packages/engine/src/agent-tools.ts | 13 +-
packages/engine/src/gating-classifications.ts | 6 +-
packages/engine/src/index.ts | 7 +
17 files changed, 506 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-7245
Fusion-Task-Lineage: 82501602-7177-4ee8-a67b-32de35aa73de
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 16:35:51 -07:00
gsxdsm
bc38f0c842
FN-7209: require JDK 21 for Android CI builds
...
Align Android Gradle build environments with Capacitor's Java 21 source compatibility.
- Update mobile, release, and test-release workflows to provision Temurin JDK 21.
- Document Java 21 as the required Android Gradle build JDK.
- Add CI workflow coverage that checks Android build jobs satisfy @capacitor/android sourceCompatibility.
Files changed:
.github/workflows/mobile.yml | 6 +-
.github/workflows/release.yml | 6 +-
.github/workflows/test-release.yml | 6 +-
MOBILE.md | 4 +-
packages/cli/src/__tests__/ci-workflow.test.ts | 99 +++++++++++++++++++++++++-
5 files changed, 112 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7209
Fusion-Task-Lineage: d9e50bee-d7f8-4e87-b33e-136ffffc93af
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 16:56:35 -07:00
gsxdsm
524c15c2fd
FN-7188: prevent agents from pausing failed tasks
...
Clarify agent heartbeat and tool guidance so failures surface through recovery paths instead of task pauses.
- Update heartbeat prompts to prohibit failure/blocker handling via fn_task_pause.
- Clarify fn_task_pause tool copy as explicit user-requested manual control only.
- Refresh generated Fusion skill docs and add regression coverage for the guidance.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/FN-7188-no-pause-on-failure.md | 7 +++++++
packages/cli/skill/fusion/references/best-practices.md | 6 +++---
packages/cli/skill/fusion/references/extension-tools.md | 2 +-
packages/cli/skill/fusion/references/fusion-capabilities.md | 2 +-
packages/cli/skill/fusion/workflows/task-management.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 8 ++++++++
packages/cli/src/extension.ts | 10 ++++++++--
.../engine/src/__tests__/heartbeat-session-prompt.test.ts | 10 ++++++++++
packages/engine/src/agent-heartbeat.ts | 12 ++++++++++--
9 files changed, 49 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7188
Fusion-Task-Lineage: 29df6168-7920-49d5-9c11-804727033721
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 01:22:43 -07:00
gsxdsm
6f46fa17dd
FN-7138: show task column context in agent assignments
...
Agent Current Task output now includes linked task column context to distinguish active execution from parked or stale links.
- Add shared Current Task formatting for active, terminal, and unresolved task links.
- Show linked task columns in engine and CLI agent list/show surfaces.
- Cover parked, active, terminal, and missing task-link display cases with tests.
- Document the durable agent task-link invariant and release the CLI fix.
Files changed:
.changeset/fn-7138-agent-current-task-context.md | 7 ++++
docs/agents.md | 1 +
docs/architecture.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 44 ++++++++++++++++++++++
packages/cli/src/extension.ts | 35 +++++++++++++++--
packages/core/src/agent-store.ts | 30 +++++++++++++++
packages/core/src/index.ts | 2 +-
.../src/__tests__/agent-tools-delegation.test.ts | 44 +++++++++++++++++++++-
packages/engine/src/agent-tools.ts | 15 ++++++--
9 files changed, 169 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7138
Fusion-Task-Lineage: 0ea97b4c-d4f8-4289-a5b6-e5c51b47b768
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 16:16:25 -07:00
gsxdsm
8b22dd2ffe
FN-7090: link imported GitHub issues as tracked tasks
...
Link GitHub issue imports to existing source issues when tracking defaults are enabled.
- Resolve project/global GitHub tracking defaults before CLI, extension, and dashboard issue imports.
- Mark imported issue tasks as tracking-enabled so the post-create hook adopts the source issue instead of creating duplicates.
- Cover tracked and untracked import behavior across CLI tools, task commands, and dashboard GitHub routes.
- Document the import tracking behavior and add a minor changeset for the published CLI.
Files changed:
.changeset/fn-7090-import-github-tracked.md | 7 ++
docs/cli-reference.md | 2 +
docs/settings-reference.md | 2 +-
.../__tests__/extension-github-tracking.test.ts | 63 +++++++++++
packages/cli/src/__tests__/extension.test.ts | 125 ++++++++++++++++++++-
.../task-command-github-import-tracking.test.ts | 119 ++++++++++++++++++++
packages/cli/src/commands/__tests__/task.test.ts | 64 ++++++++++-
packages/cli/src/commands/task.ts | 30 ++++-
packages/cli/src/extension.ts | 27 +++++
.../dashboard/src/__tests__/routes-github.test.ts | 74 ++++++++++++
.../dashboard/src/routes/register-git-github.ts | 21 +++-
11 files changed, 524 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7090
Fusion-Task-Lineage: 1e5510c3-7a98-4ff2-a109-e465ff58b9c2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:29 -07:00
gsxdsm
42f46a12c1
FN-7060: sanitize bundled plugin manifests
...
Sanitize published CLI plugin manifests so off-workspace installs do not resolve private workspace packages.
- Add manifest sanitization for copied bundled plugins and vendored pi extensions during the CLI build.
- Cover built plugin and extension package.json files with a pack-shape regression test.
- Update plugin authoring docs and add a patch changeset for the published CLI fix.
Files changed:
.../fn-7060-fix-plugin-manifest-workspace-deps.md | 7 ++
docs/PLUGIN_AUTHORING.md | 8 ++-
.../cli/src/__tests__/plugin-pack-shape.test.ts | 55 +++++++++++++-
packages/cli/tsup.config.ts | 83 ++++++++++++++++++++--
4 files changed, 142 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7060
Fusion-Task-Lineage: e38a4237-7197-4bc4-87bd-117dfd35a0f8
2026-06-26 10:18:04 -07:00
gsxdsm
3ee47dec86
merge: integrate origin/main into feature/workflow-steps (FN-7039)
...
Resolve conflicts from 56 upstream commits:
- db.ts: renumber my migrations around main's new migration 130 (columnDwellMs) —
enable-id normalization 130→131, drop-table 131→132, SCHEMA_VERSION→132.
- index.ts / routes.ts: take main's new MCP exports/imports; keep WORKFLOW_STEP_TEMPLATES
array removed (kept the WorkflowStepTemplate type).
- merger.ts: keep the legacy post-merge execution path removed (U7c) over main's version.
- ci-workflow.test.ts (from main): add port-4040/process-supervisor allowlist markers to
the gate-script assertions that reference the checker filenames (pre-existing self-match).
Gate green (engine-core 299, ci-shape 62); boot smoke PASS; migration tests + typecheck clean.
2026-06-26 08:50:22 -07:00
gsxdsm
7d13f880ba
FN-7059: pin merge gate composition
...
Add CI-shape coverage that guards the trusted merge gate composition.\n\n- Load root and engine package scripts plus the engine vitest config in the CI workflow test.\n- Assert test:gate includes the audited guard scripts, engine core suite, and CLI CI-shape suite.\n- Assert engine test:core continues targeting the engine-core vitest project.\n\nFiles changed:\n packages/cli/src/__tests__/ci-workflow.test.ts | 26 ++++++++++++++++++++++++++\n 1 file changed, 26 insertions(+)
Fusion-Task-Id: FN-7059
Fusion-Task-Lineage: 47af7fdd-a812-4d03-960a-a6300d86b59e
2026-06-26 06:47:27 -07:00
gsxdsm
4a4e389254
FN-7032: add signed Android release artifacts
...
Add secret-gated signed Android release packaging while preserving the unsigned fallback.
- Build signed Android release APK and AAB artifacts when keystore secrets are configured.
- Verify signed APKs, generate checksums for APK/AAB outputs, and include AABs in release aggregation.
- Document Android signing secrets, sideload verification, fallback artifacts, and Play upload scope.
- Cover the release and rehearsal workflow wiring with CLI and desktop workflow tests.
Files changed:
.github/workflows/release.yml | 94 ++++++++++++++++++----
.github/workflows/test-release.yml | 94 ++++++++++++++++++----
MOBILE.md | 18 ++++-
RELEASING.md | 34 ++++++--
packages/cli/src/__tests__/ci-workflow.test.ts | 24 ++++++
packages/desktop/README.md | 2 +-
.../desktop/src/__tests__/release-workflow.test.ts | 24 +++++-
7 files changed, 251 insertions(+), 39 deletions(-)
Fusion-Task-Id: FN-7032
Fusion-Task-Lineage: 0334c026-384e-4531-a2b2-f8a0b5bb7ff0
2026-06-25 20:20:33 -07:00
gsxdsm
dba65933e5
FN-7014: publish Android APK release artifacts
...
Adds Android APK generation to binary release and rehearsal workflows so GitHub releases ship mobile assets.
- Add Android build jobs that sync Capacitor, assemble the debug APK, and upload APK/checksum artifacts.
- Include Android artifacts in release and test-release collection dependencies and file matching.
- Document Android release outputs and extend workflow shape tests for the new asset path.
Files changed:
.github/workflows/release.yml | 86 +++++++++++++++++++++-
.github/workflows/test-release.yml | 85 ++++++++++++++++++++-
MOBILE.md | 2 +-
RELEASING.md | 10 ++-
packages/cli/src/__tests__/ci-workflow.test.ts | 6 +-
packages/desktop/README.md | 1 +
.../desktop/src/__tests__/release-workflow.test.ts | 24 +++++-
7 files changed, 201 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-7014
Fusion-Task-Lineage: 8ed94f64-399b-433f-add4-0294fc5722d1
2026-06-25 19:35:05 -07:00
gsxdsm
bc56ab287e
fix: align tests with recent source changes on main
...
Fix 6 failing tests caused by intentional source changes that landed
without updating dependent test assertions:
- Core test-project: taskPrefix default changed from "FN" to undefined
(commit 800f845e1 , derived from project name at runtime)
- Dashboard ScriptsModal.css: replace banned --text-primary with --text
- CLI package-config: update expected pi dep version ^0.79.1 -> ^0.79.9
- CLI skill-sync: document 4 new engine tools in engine-tools.md
- CLI version: update expected release:version script to include
run-ci-distill.mjs
- CLI bundled-plugin-freshness: rebuild stale dist directories
2026-06-25 00:13:29 -07:00
gsxdsm
c18e827b90
FN-6839: await CLI cached store shutdown
...
Rescue the retained CLI quarantine by making TaskStore shutdown deterministic before fixture cleanup.
- Await cached extension TaskStore closes and clear the cache before asynchronous shutdown drains.
- Update CLI fixtures to await direct and cached store closure, with a regression proving cached close is awaited.
- Remove rescued CLI quarantine entries/excludes and document the loaded-suite rescue with a patch changeset.
Files changed:
.changeset/fn-6839-close-cached-stores.md | 5 ++
CLAUDE.md | 1 +
docs/testing.md | 4 ++
.../extension-agent-set-instructions.test.ts | 2 +-
.../__tests__/extension-goal-tools-audit.test.ts | 2 +-
.../cli/src/__tests__/extension-goal-tools.test.ts | 2 +-
.../cli/src/__tests__/extension-insights.test.ts | 6 +--
.../__tests__/extension-mission-goal-tools.test.ts | 2 +-
.../cli/src/__tests__/extension-task-tools.test.ts | 16 ++++---
packages/cli/src/__tests__/extension.test.ts | 56 +++++++++++-----------
.../src/__tests__/research-extension-tools.test.ts | 4 +-
packages/cli/src/extension.ts | 16 +++----
packages/cli/vitest.config.ts | 6 +--
scripts/lib/test-quarantine.json | 15 ------
14 files changed, 68 insertions(+), 69 deletions(-)
Fusion-Task-Id: FN-6839
Fusion-Task-Lineage: ea0c7c77-bb59-4db4-931d-5e052a1043e5
2026-06-21 09:00:40 -07:00
gsxdsm
259cdfb531
FN-6734: stabilize CLI extension test cleanup
...
Stabilize the CLI extension regression lane by closing cached stores before temp fixture removal.
- Close extension store caches and manually created TaskStore/AgentStore handles before deleting per-test fixture roots.
- Add a regression guard for the cached TaskStore close-before-remove invariant.
- Reduce oversized task-list truncation fixtures while preserving bounded-output assertions.
- Document the CLI affected-lane rescue pattern for store leaks, fixture sizing, and runtime-dist mocking order.
Files changed:
docs/testing.md | 4 +
.../extension-agent-set-instructions.test.ts | 3 +-
.../__tests__/extension-goal-tools-audit.test.ts | 3 +-
.../cli/src/__tests__/extension-goal-tools.test.ts | 3 +-
.../cli/src/__tests__/extension-insights.test.ts | 3 +-
.../__tests__/extension-mission-goal-tools.test.ts | 3 +-
packages/cli/src/__tests__/extension.test.ts | 221 +++++++++++++--------
.../src/__tests__/research-extension-tools.test.ts | 40 +++-
8 files changed, 186 insertions(+), 94 deletions(-)
Fusion-Task-Id: FN-6734
Fusion-Task-Lineage: efe91c0f-f84c-471c-8067-65a244b2aec7
2026-06-19 16:47:33 -07:00
gsxdsm
70cce18c31
FN-6712: add managed agent instructions tool
...
Add a scoped extension tool for managers to update report instructions through AgentStore.
- Register fn_agent_set_instructions with validation, hierarchy authorization, and config-revision persistence.
- Cover direct, indirect, privileged, denied, missing-target, and field-clearing behaviors with CLI extension tests.
- Document the new agent-management tool in agent docs, Fusion skill references, and a published package changeset.
Files changed:
.changeset/fn-6712-agent-set-instructions-tool.md | 5 +
docs/agents.md | 12 ++
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 10 +
.../skill/fusion/references/fusion-capabilities.md | 1 +
.../extension-agent-set-instructions.test.ts | 235 +++++++++++++++++++++
packages/cli/src/extension.ts | 94 +++++++++
7 files changed, 358 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6712
Fusion-Task-Lineage: 1fac1ff0-283d-4911-8fbf-f15c5de6b902
2026-06-19 07:41:44 -07:00
gsxdsm
538bf42e32
fix(dev): rebuild core+engine+dashboard on dev/local startup + stale-dist check
...
pnpm dev/local dashboard prebuild now rebuilds @fusion/core and @fusion/engine alongside the dashboard UI (was client-only), and startup warns loudly when built dist/ is older than src/. Prevents the FN-6638 class where landed engine fixes silently never run because the process loads stale dist.
2026-06-18 13:41:37 -07:00
gsxdsm
673a8a64c3
FN-6630: return text for empty task-list columns
...
Ensure filtered fn_task_list calls always return host-safe text for empty target columns.
- Add explicit empty-state copy for column filters with no matching tasks.
- Keep formatter fallback output non-empty before returning tool content.
- Cover empty active-column filters and existing small listings in CLI extension tests.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6630-task-list-empty-column.md | 5 ++++
packages/cli/src/__tests__/extension.test.ts | 36 +++++++++++++++++++++++++++-
packages/cli/src/extension.ts | 15 ++++++++++--
3 files changed, 53 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6630
Fusion-Task-Lineage: e371bf11-5841-47d0-ac72-4cdf2f1716ba
2026-06-18 04:53:50 -07:00
gsxdsm
4929198b5a
FN-6629: Lower task-list text budget
...
Keep fn_task_list responses below host text imageification thresholds.\n\n- Lower the shared task-list text clamp to a 3,000 character host-safe budget.\n- Reuse the shared budget in CLI, dashboard, and engine fallback formatters.\n- Cover realistic column-filtered fn_task_list outputs and fallback budget behavior with regression tests.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-6629-task-list-budget.md | 5 ++\n packages/cli/src/__tests__/extension.test.ts | 88 ++++++++++++++++++++++\n packages/cli/src/extension.ts | 7 +-\n .../core/src/__tests__/task-list-format.test.ts | 25 ++++++\n packages/core/src/task-list-format.ts | 5 +-\n .../src/__tests__/planning-board-tools.test.ts | 4 +-\n packages/dashboard/src/planning-board-tools.ts | 8 +-\n packages/engine/src/__tests__/triage.test.ts | 4 +-\n packages/engine/src/triage.ts | 7 +-\n 9 files changed, 144 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6629
Fusion-Task-Lineage: 6ec7cd33-d4e5-4c12-8512-c3823a9dfb3e
2026-06-18 03:24:57 -07:00
gsxdsm
4dd533753e
FN-6626: close cached CLI extension task stores
...
Close cached TaskStore handles so CLI extension task-tool tests shut down cleanly.\n\n- Add deterministic cached-store shutdown for the CLI extension and invoke it from extension teardown.\n- Expose the shutdown helper for tests and call it after canonical-project-root task-tool cases.\n- Add a patch changeset for the published @runfusion/fusion package.\n\nFiles changed:\n .changeset/fn-6626-close-cached-stores.md | 5 +++++\n .../cli/src/__tests__/extension-task-tools.test.ts | 8 ++++++++\n packages/cli/src/extension.ts | 19 ++++++++++++++++++-\n 3 files changed, 31 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6626
Fusion-Task-Lineage: 65791502-8992-4037-8ca0-fe21c8283506
2026-06-18 02:39:10 -07:00
gsxdsm
d3ea8dff33
FN-6627: guard dist-barrel tests on complete core dist
...
Align dist-barrel regression guards so partial @fusion/core dist artifacts skip instead of failing mismatched dependency checks.
- Add a shared @fusion/test-utils predicate for complete built core dist barrels.
- Use the predicate in CLI and core dist-barrel regression tests before importing runtime dist modules.
- Cover absent and partial dist directories with focused predicate tests.
Files changed:
packages/cli/src/__tests__/extension.test.ts | 9 +++--
.../src/__test-utils__/__tests__/core-dist.test.ts | 46 ++++++++++++++++++++++
packages/core/src/__test-utils__/workspace.ts | 11 ++++++
.../core/src/__tests__/task-list-format.test.ts | 17 ++++----
4 files changed, 72 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6627
Fusion-Task-Lineage: a05ad009-229d-44c2-a49d-2d9b3f3d6094
2026-06-18 01:45:18 -07:00
gsxdsm
c623b5108f
FN-6624: document fn_ask_question engine tool
...
Keep the Fusion skill engine-tool reference aligned with the registered chat question tool.\n\n- Add fn_ask_question to engine-tools.md with its chat scope and question schema.\n- Improve the skill-sync drift assertion so missing engine tools are reported directly.\n\nFiles changed:\n packages/cli/skill/fusion/references/engine-tools.md | 2 ++\n packages/cli/src/__tests__/skill-sync.test.ts | 6 +++++-\n 2 files changed, 7 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6624
Fusion-Task-Lineage: 94917a44-cdf0-4da1-bb59-f3a7526ed48a
2026-06-18 00:26:48 -07:00
gsxdsm
593ebac85c
FN-6573: guard task-list formatter resolution
...
Make fn_task_list surfaces tolerate stale core runtimes without crashing.
- Resolve formatTaskListText from the runtime @fusion/core namespace with a typeof guard.
- Add bounded inline fallback formatting for CLI, dashboard planning-board, and engine triage task-list tools.
- Cover missing formatter exports with regression tests and add a published package changeset.
Files changed:
.changeset/fn-6573-task-list-format-resolve-fix.md | 5 +++
packages/cli/src/__tests__/extension.test.ts | 25 +++++++++------
packages/cli/src/extension.ts | 36 ++++++++++++++++++++--
.../src/__tests__/planning-board-tools.test.ts | 27 +++++++++++++++-
packages/dashboard/src/planning-board-tools.ts | 36 ++++++++++++++++++++--
packages/engine/src/__tests__/triage.test.ts | 25 +++++++++++++++
packages/engine/src/triage.ts | 36 ++++++++++++++++++++--
7 files changed, 174 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6573
Fusion-Task-Lineage: 64577f09-5ca5-426e-a453-a91e6c2c3aee
2026-06-17 14:52:55 -07:00
gsxdsm
a84a8e1793
FN-6570: guard task list formatting fallback
...
Prevent fn_task_list surfaces from crashing when the runtime core namespace lacks the clamp export.
- Add a shared defensive task-list formatter with a bounded fallback clamp.
- Route CLI, dashboard planning-board, and engine triage fn_task_list output through the formatter.
- Cover missing, throwing, and non-string clamp behavior in core and CLI tests.
- Document the resilient task-list formatting behavior and add a patch changeset.
Files changed:
.changeset/fn-6570-task-list-resolve-fix.md | 5 ++
docs/cli-reference.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 57 +++++++++++++++++++++-
packages/cli/src/extension.ts | 8 ++-
.../core/src/__tests__/task-list-format.test.ts | 49 ++++++++++++++++++-
packages/core/src/index.ts | 2 +-
packages/core/src/task-list-format.ts | 35 +++++++++++++
packages/dashboard/src/planning-board-tools.ts | 8 ++-
packages/engine/src/triage.ts | 8 ++-
9 files changed, 164 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6570
Fusion-Task-Lineage: 455f38a8-5e4f-4643-a3ce-088ef0c92b01
2026-06-17 06:14:10 -07:00
gsxdsm
8e9b7b75a4
FN-6534: track docs screenshots
...
Restore the screenshot assets that published docs reference so rendered documentation no longer shows broken images.
- Keep docs/screenshots trackable by removing the blanket ignore rule.
- Add the referenced screenshot PNG assets under docs/screenshots.
- Add a regression test that verifies screenshot Markdown links resolve to tracked files.
Files changed:
.gitignore | 2 +-
docs/screenshots/agents-view.png | Bin 0 -> 88902 bytes
docs/screenshots/chat-view.png | Bin 0 -> 74669 bytes
docs/screenshots/dashboard-overview.png | Bin 0 -> 209599 bytes
docs/screenshots/documents-view.png | Bin 0 -> 37607 bytes
docs/screenshots/git-manager.png | Bin 0 -> 135486 bytes
docs/screenshots/list-view.png | Bin 0 -> 108702 bytes
docs/screenshots/mailbox-view.png | Bin 0 -> 72370 bytes
docs/screenshots/memory-view.png | Bin 0 -> 118122 bytes
docs/screenshots/mission-manager.png | Bin 0 -> 80643 bytes
docs/screenshots/nodes-view.png | Bin 0 -> 59576 bytes
docs/screenshots/roadmaps-view.png | Bin 0 -> 37828 bytes
docs/screenshots/settings.png | Bin 0 -> 131052 bytes
docs/screenshots/skills-view.png | Bin 0 -> 92259 bytes
docs/screenshots/task-detail.png | Bin 0 -> 171502 bytes
docs/screenshots/terminal.png | Bin 0 -> 70273 bytes
docs/screenshots/workflow-steps.png | Bin 0 -> 179100 bytes
.../src/__tests__/docs-screenshot-links.test.ts | 96 +++++++++++++++++++++
18 files changed, 97 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6534
Fusion-Task-Lineage: a0840905-8eb5-4da0-8c52-56904ac82e04
2026-06-17 03:42:03 -07:00
gsxdsm
d17a6dbd74
FN-6535: harden task list dist runtime coverage
...
Add regression coverage that exercises fn_task_list through the built @fusion/core dist exports.
- Expand core task-list formatting tests from export checks to a runtime-shaped fn_task_list execution path.
- Add a CLI extension regression test that mocks @fusion/core to the built dist barrel before executing fn_task_list.
- Cover broad and filtered task-list truncation paths with dependency rendering to catch missing clampTaskListText exports.
Files changed:
packages/cli/src/__tests__/extension.test.ts | 82 ++++++++++++++-
.../core/src/__tests__/task-list-format.test.ts | 110 ++++++++++++++++++++-
2 files changed, 190 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6535
Fusion-Task-Lineage: dd405811-5655-406d-92e6-53f0e35ac217
2026-06-17 02:50:29 -07:00
gsxdsm
177cce4059
FN-6515: guard task list formatting exports
...
Add regression coverage for task-list formatter exports and broad list clamping.\n\n- Verify @fusion/core source and built dist barrels expose task-list formatting helpers.\n- Cover broad fn_task_list output clamping as one plain-text block.\n- Document the built-dist guard expectation for runtime-consumed core exports.\n\nFiles changed:\n docs/testing.md | 2 ++\n packages/cli/src/__tests__/extension.test.ts | 35 ++++++++++++++++++++++\n .../core/src/__tests__/task-list-format.test.ts | 32 ++++++++++++++++++++\n 3 files changed, 69 insertions(+)
Fusion-Task-Id: FN-6515
Fusion-Task-Lineage: b19dd616-6b5a-4b8a-8909-f368459fdc53
2026-06-16 23:32:38 -07:00
gsxdsm
cc5c5eb7bd
FN-6520: document workflow editor
...
Add a canonical dashboard workflow editor guide and connect it from related docs.
- Add a new Workflow Editor guide covering entry points, canvas anatomy, authoring panels, settings values, templates, AI design, import/export, and mobile behavior.
- Link the guide from the docs index, settings reference, and Workflow IR overview.
- Require the workflow editor guide in the docs README index coverage test.
Files changed:
docs/README.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-editor.md | 158 +++++++++++++++++++++
docs/workflow-steps.md | 2 +-
.../cli/src/__tests__/docs-readme-index.test.ts | 1 +
5 files changed, 162 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6520
Fusion-Task-Lineage: 9a2525a5-6ff8-48de-ae13-a7c7c5844f99
2026-06-16 22:52:00 -07:00
gsxdsm
0db81349bb
FN-6492: clamp task list text output
...
Bound fn_task_list responses now stay as plain text across board-tool surfaces.\n\n- Add a shared task-list text clamp with an explicit truncation marker.\n- Route CLI, dashboard planning-board, and engine triage task-list output through the shared formatter.\n- Cover bounded and column-filtered output with core and CLI regression tests.\n- Record the patch changeset and quarantine the observed engine CLI executor flake.\n\nFiles changed:\n .changeset/fn-6492-task-list-text-bound.md | 5 ++\n packages/cli/src/__tests__/extension.test.ts | 79 +++++++++++++++++++++-\n packages/cli/src/extension.ts | 7 +-\n .../core/src/__tests__/task-list-format.test.ts | 75 ++++++++++++++++++++\n packages/core/src/index.ts | 1 +\n packages/core/src/task-list-format.ts | 45 ++++++++++++\n packages/dashboard/src/planning-board-tools.ts | 8 ++-\n packages/engine/src/triage.ts | 7 +-\n packages/engine/vitest.config.ts | 5 ++\n scripts/lib/test-quarantine.json | 5 ++\n 10 files changed, 232 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6492
Fusion-Task-Lineage: 8b347efb-bc17-4bbe-937c-4f07c63df318
2026-06-16 19:31:33 -07:00
gsxdsm
a38752c6bb
FN-6486: rescue quarantined flaky tests
...
Rescue the same-day core and CLI flaky quarantines by fixing their fixture seams instead of appeasing timeouts.
- Make the core concurrent-write lock helper release synchronously inside its child process so package load cannot delay the transient lock release.
- Close real CLI TaskStore fixtures before removing temp roots and switch mock cleanup to non-hoisted unmocking.
- Remove both test files from package quarantine excludes and clear the quarantine ledger while documenting the rescue pattern.
Files changed:
docs/testing.md | 2 ++
packages/cli/src/__tests__/extension-task-tools.test.ts | 17 +++++++++++++----
packages/cli/vitest.config.ts | 4 +++-
.../core/src/__tests__/store-concurrent-writes.test.ts | 8 +++++++-
packages/core/vitest.config.ts | 4 +++-
scripts/lib/test-quarantine.json | 13 +------------
6 files changed, 29 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-6486
Fusion-Task-Lineage: c90358c4-0549-4c68-8d17-2e2a336433b5
2026-06-16 15:08:24 -07:00
gsxdsm
601a85b7c9
FN-6474: clarify plugin tarball install docs
...
Clarifies packaged external plugin proof-point docs so tarballs are extracted before installation.
- Document that fn plugin install accepts built plugin directories or installed package names, not raw .tgz archives.
- Update external plugin proof-point and authoring guidance to extract pnpm pack output and install ./package.
- Add a static regression test guarding the runbook and authoring guide against raw tarball install instructions.
Files changed:
docs/cli-reference.md | 1 +
docs/plugins/external-authoring.md | 2 +-
docs/plugins/external-proof-point-runbook.md | 10 +++++-
.../external-proof-point-runbook-install.test.ts | 40 ++++++++++++++++++++++
4 files changed, 51 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6474
Fusion-Task-Lineage: 744d43ff-ed98-43a1-9cb9-e25f96225ab7
2026-06-16 15:08:24 -07:00
gsxdsm
de8f871b4d
FN-6479: index upstream ACP MCP forwarding doc
...
Index the upstream ACP MCP forwarding sponsorship doc so the docs README and CLI index test keep it discoverable.
- Add the upstream ACP MCP passthrough and permission forwarding sponsorship doc link under Audit Reports.
- Add the upstream doc to the required docs README index coverage.
- Guard that CLI Printing Press docs remain indexed in Audit Reports only, not duplicated under Plugins.
Files changed:
docs/README.md | 5 +++++
.../cli/src/__tests__/docs-readme-index.test.ts | 21 +++++++++++++++++++++
2 files changed, 26 insertions(+)
Fusion-Task-Id: FN-6479
Fusion-Task-Lineage: f23afeba-a989-4552-8857-fe2984df6081
2026-06-15 02:30:41 -07:00
gsxdsm
fa71525850
FN-6438: add external plugin proof-point runbook
...
Add a durable proof-point runbook for validating external plugins against released Fusion CLI builds.
- Document release selection, npm integrity capture, scaffold/build/test/install/enable validation, and pass/fail criteria for external plugin proof points.
- Link the runbook from the docs index so it remains discoverable with other plugin authoring docs.
- Extend the docs README index test to require the new proof-point runbook entry.
Files changed:
docs/README.md | 1 +
docs/plugins/external-proof-point-runbook.md | 211 +++++++++++++++++++++
.../cli/src/__tests__/docs-readme-index.test.ts | 1 +
3 files changed, 213 insertions(+)
Fusion-Task-Id: FN-6438
Fusion-Task-Lineage: 5c768d7e-4465-42ac-9535-f16dc42ab6d0
2026-06-14 15:29:35 -07:00
gsxdsm
8caced6b57
FN-6436: remove CLI Vitest timeout appeasement
...
Remove the CLI extension integration suite's hidden Vitest timeout override while keeping its explicit build-only allowance.
- Replace the file-wide 30s Vitest test and hook timeout override with a scoped comment documenting default caps.
- Derive the extension bundle path from the CLI root in the test file.
- Use a SQLite collision trigger instead of a TaskStore prototype spy and fix the agent delete tool payload.
- Clear the timeout appeasement allowlist now that the CLI test exemption is gone.
Files changed:
.../src/__tests__/extension-integration.test.ts | 25 ++++++++++++++++------
.../lib/test-timeout-appeasement-allowlist.json | 8 +------
2 files changed, 20 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6436
Fusion-Task-Lineage: 670f41ea-f98f-400c-aa16-6a1cbb1e9bea
2026-06-14 15:29:35 -07:00
gsxdsm
59f2596c61
FN-6435: add plugin scaffold state
...
Ensure generated plugin scaffolds include the FusionPlugin state required by the SDK contract.
- Add state: "installed" to workspace and standalone plugin scaffold outputs.
- Cover scaffold output with tests and a compile-time FusionPlugin fixture.
- Document the state field in plugin authoring guidance and add a patch changeset.
Files changed:
.changeset/FN-6435-plugin-scaffold-state.md | 9 +++++++
docs/PLUGIN_AUTHORING.md | 2 ++
packages/cli/src/__tests__/plugin-scaffold.test.ts | 22 ++++++++++++++--
packages/cli/src/commands/plugin-scaffold.ts | 5 ++++
.../type-guards/plugin-scaffold-fusion-plugin.ts | 30 ++++++++++++++++++++++
5 files changed, 66 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6435
Fusion-Task-Lineage: 8c7e2f5d-9dd4-4058-aef9-11d6ff0ba5e0
2026-06-14 15:29:35 -07:00
gsxdsm
2fc6d4d667
FN-6430: rescue CLI quarantine tests
...
Rescue the quarantined CLI suites by fixing shared test isolation instead of extending timeouts.
- Remove rescued CLI files from the quarantine ledger and Vitest exclude list while preserving an empty rescue ledger comment.
- Tighten Vitest HOME isolation to reject inherited worker homes and sweep legacy top-level fn-test-home roots with bounded cleanup.
- Reset affected CLI fixtures, close research stores, and narrow the slow mission store seam so rescued tests run on default timeouts.
- Document the CLI shared-fixture rescue pattern for future quarantine recoveries.
Files changed:
docs/testing.md | 2 +
.../cli/src/__tests__/extension-task-tools.test.ts | 7 +-
packages/cli/src/__tests__/extension.test.ts | 117 +++++++++----------
.../cli/src/commands/__tests__/mission.test.ts | 16 ++-
packages/cli/src/commands/__tests__/plugin.test.ts | 5 +
packages/cli/vitest.config.ts | 52 ++-------
packages/core/src/__test-utils__/vitest-setup.ts | 25 ++++-
.../core/src/__test-utils__/vitest-teardown.ts | 28 ++++-
.../vitest-teardown-worker-root-cleanup.test.ts | 15 +++
scripts/lib/test-quarantine.json | 124 +--------------------
10 files changed, 157 insertions(+), 234 deletions(-)
Fusion-Task-Id: FN-6430
Fusion-Task-Lineage: 943b73b4-5f92-4703-8e93-0ae3207eb63c
2026-06-14 15:29:35 -07:00
gsxdsm
740c7127e5
FN-6409: inline core types in plugin SDK declarations
...
Make the published plugin SDK declaration bundle self-contained for external plugins.
- Resolve private @fusion/core specifiers while emitting plugin-sdk declarations.
- Add a regression test covering built plugin-sdk .d.ts artifacts when present.
- Record a patch changeset for the published @runfusion/fusion package.
Files changed:
.changeset/FN-6409-plugin-sdk-dts-inline.md | 5 +++++
packages/cli/src/__tests__/plugin-sdk-export.test.ts | 9 +++++++++
packages/cli/tsup.config.ts | 11 ++++++++++-
3 files changed, 24 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6409
Fusion-Task-Lineage: b7590e39-763d-48ca-9301-5131d0a94b89
2026-06-13 18:27:39 -07:00
gsxdsm
96773dda0c
FN-6410: fix standalone pi runtime deps
...
Keep published CLI standalone installs from omitting the pi runtime packages.\n\n- Remove pi runtime packages from optional peer declarations so npm and pnpm install them as required dependencies.\n- Add a package manifest regression test for source and prepack-transformed publish manifests.\n- Add a patch changeset for the published CLI package.\n\nFiles changed:\n .changeset/fn-6410-standalone-pi-dependency.md | 5 +++\n packages/cli/package.json | 8 ----\n packages/cli/src/__tests__/package-config.test.ts | 47 +++++++++++++++++++++++\n 3 files changed, 52 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6410
Fusion-Task-Lineage: 579c8a91-a021-4b36-94d7-e4651ce241cb
2026-06-13 17:17:25 -07:00
gsxdsm
550e9edd46
FN-6367: fix constructible CLI test mocks
...
Update CLI test mocks so Vitest-spied constructors remain new-able under current mock semantics.
- Add constructible mock wrappers for TaskStore and related CLI test constructor mocks.
- Replace arrow-function constructor mock implementations with function-based implementations.
- Bring task retry fixture data in line with the graph resume retry counter shape.
Files changed:
.../cli/src/__tests__/experiment-finalize.test.ts | 19 +++++++++++++++++--
.../__tests__/extension-experiment-finalize.test.ts | 19 +++++++++++++++++--
packages/cli/src/__tests__/plugin-dev.test.ts | 19 +++++++++++++++++--
packages/cli/src/__tests__/project-resolver.test.ts | 17 ++++++++++++++++-
packages/cli/src/__tests__/task-plan.test.ts | 17 ++++++++++++++++-
packages/cli/src/__tests__/task-steer.test.ts | 17 ++++++++++++++++-
packages/cli/src/__tests__/update-cache.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/agent.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/backup.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/db.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/desktop.test.ts | 4 +++-
packages/cli/src/commands/__tests__/init.test.ts | 17 ++++++++++++++++-
.../src/commands/__tests__/memory-backup.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/message.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/node.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/plugin.test.ts | 19 +++++++++++++++++--
packages/cli/src/commands/__tests__/project.test.ts | 21 ++++++++++++++++++---
packages/cli/src/commands/__tests__/serve.test.ts | 17 ++++++++++++++++-
.../src/commands/__tests__/settings-export.test.ts | 17 ++++++++++++++++-
.../src/commands/__tests__/settings-import.test.ts | 17 ++++++++++++++++-
.../cli/src/commands/__tests__/settings.test.ts | 17 ++++++++++++++++-
packages/cli/src/commands/__tests__/task.test.ts | 2 ++
22 files changed, 331 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-6367
Fusion-Task-Lineage: d900dfe0-e286-4175-a5ba-7c319e2527b0
2026-06-13 09:14:02 -07:00
gsxdsm
95b91c1f72
FN-6355: add deterministic docs index test script
...
Expose the docs README index suite as a focused CLI test lane and document its deterministic invocation.
- Add a package script for running only the docs README index Vitest file.
- Lock the package-config contract around the new script and dashboard quality runner expectations.
- Clarify the CI shard docs to pass Vitest shard flags without a bare separator.
Files changed:
docs/contributing.md | 2 +-
packages/cli/package.json | 1 +
packages/cli/src/__tests__/package-config.test.ts | 37 ++++++++++++++++++-----
3 files changed, 31 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6355
Fusion-Task-Lineage: 2a02bc5f-2407-4bad-8aed-afa519826ce7
2026-06-13 07:38:54 -07:00
gsxdsm
66591ec11c
FN-6333: add legacy auto-merge cleanup surfaces
...
Expose operator controls for auditing and clearing legacy auto-merge stamps.
- Add CLI dry-run, apply, and JSON modes for legacy auto-merge stamp cleanup.
- Add dashboard maintenance endpoints and a Settings → Merge cleanup panel.
- Document the cleanup workflow and cover CLI, route, and UI behavior with tests.
Files changed:
.changeset/fn-6333-legacy-automerge-cleanup.md | 5 +
docs/cli-reference.md | 4 +
docs/dashboard-guide.md | 6 ++
docs/settings-reference.md | 2 +-
packages/cli/src/__tests__/bin.test.ts | 10 ++
.../cli/src/__tests__/pr-automerge-cleanup.test.ts | 107 ++++++++++++++++++++
packages/cli/src/bin.ts | 14 ++-
packages/cli/src/commands/pr.ts | 41 ++++++++
.../components/settings/sections/MergeSection.tsx | 109 ++++++++++++++++++++
.../MergeSection.legacy-automerge-cleanup.test.tsx | 110 +++++++++++++++++++++
.../legacy-automerge-stamps-routes.test.ts | 76 ++++++++++++++
packages/dashboard/src/routes.ts | 36 +++++++
12 files changed, 517 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6333
Fusion-Task-Lineage: 55a3fa22-e0ba-4996-bfce-cad31c71177d
2026-06-13 06:12:09 -07:00
gsxdsm
30e747bebc
FN-6351: add plugin scaffold dev toolchain dependencies
...
Ensure standalone plugin scaffolds declare the tools required by their generated config and scripts.
- Add @types/node, TypeScript, and Vitest dev dependencies to generated standalone plugin package manifests.
- Cover scaffold dependency ranges, script/tool alignment, scoped plugin names, and tsconfig types in plugin scaffold tests.
- Add a patch changeset documenting the scaffold dependency fix.
Files changed:
.changeset/FN-6351-plugin-scaffold-devdeps.md | 16 +++++++++++++++
packages/cli/src/__tests__/plugin-scaffold.test.ts | 24 ++++++++++++++++++++--
packages/cli/src/commands/plugin-scaffold.ts | 6 ++++++
3 files changed, 44 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6351
Fusion-Task-Lineage: 4134d7cb-b493-49a7-abe1-154a875aec0e
2026-06-13 04:44:51 -07:00
gsxdsm
43456664cf
FN-6331: remove Beads repository guidance
...
Remove Beads-specific repository guidance and documentation from the project.
- Delete the Beads/Dolt sync evaluation document and remove it from docs indexes/tests.
- Remove bd/Beads issue-tracking and session-push instructions from AGENTS.md and contributing docs.
- Keep the Dolt ignore rule generic rather than tied to bd initialization.
Files changed:
.gitignore | 2 +-
AGENTS.md | 113 -----
docs/README.md | 1 -
docs/beads-dolt-sync-evaluation.md | 501 ---------------------
docs/contributing.md | 57 ---
.../cli/src/__tests__/docs-readme-index.test.ts | 1 -
6 files changed, 1 insertion(+), 674 deletions(-)
Fusion-Task-Id: FN-6331
Fusion-Task-Lineage: d7498df6-6bc6-4a6d-b09b-d640184dc586
2026-06-12 21:50:49 -07:00
gsxdsm
e62847bd06
fix smoke test
2026-06-10 18:06:51 -07:00
gsxdsm
1c69ea78be
FN-6173: fix CLI stale constructor mocks and plugin SDK shims
...
Tighten CLI retry behavior and restore constructor-safe test/runtime wiring.
- move CLI merge retries back to todo before clearing retry metadata so resets persist
- add a plugin SDK runtime shim for @fusion/core board actions and alias it in the CLI bundle
- harden CLI daemon, serve, dashboard, research, and task tests against stale non-constructible mocks
- add a patch changeset for the published CLI package
Files changed:
.changeset/fn-6173-cli-fixes.md | 5 +
packages/cli/src/__tests__/task-retry.test.ts | 4 +-
packages/cli/src/commands/__tests__/daemon.test.ts | 182 ++++++++++--------
.../cli/src/commands/__tests__/dashboard.test.ts | 69 ++++---
.../cli/src/commands/__tests__/research.test.ts | 27 ++-
packages/cli/src/commands/__tests__/serve.test.ts | 204 ++++++++++++---------
packages/cli/src/commands/__tests__/task.test.ts | 61 +++---
packages/cli/src/commands/task.ts | 15 +-
packages/cli/src/plugin-sdk-core-runtime-shim.ts | 33 ++++
packages/cli/tsup.config.ts | 7 +
10 files changed, 385 insertions(+), 222 deletions(-)
Fusion-Task-Id: FN-6173
Fusion-Task-Lineage: 50bdbadd-39f7-4b43-bcf8-3891271917db
2026-06-10 01:07:48 -07:00
gsxdsm
e883a8df01
FN-6166: allow retry for stranded in-review tasks
...
Handle in-review tasks with status none as retryable when execution or merge retry state is stranded.
- treat in-review tasks with status "none" plus incomplete execution or prior merge attempts as retryable across the CLI, extension, and dashboard routes
- send stranded execution retries back to todo with preserved progress and keep stranded merge retries in-review while clearing merge retry state
- add CLI, extension, and dashboard regression coverage and publish a patch changeset for @runfusion/fusion
Files changed:
.changeset/fuzzy-ravens-retry.md | 5 +
packages/cli/src/__tests__/extension.test.ts | 147 +++++++++++++++++++++
packages/cli/src/commands/__tests__/task.test.ts | 147 +++++++++++++++++++--
packages/cli/src/commands/task.ts | 59 ++++++++-
packages/cli/src/extension.ts | 39 ++++--
packages/dashboard/src/__tests__/routes-tasks-ops.test.ts | 134 +++++++++++++++++++
packages/dashboard/src/routes/register-task-workflow-routes.ts | 30 +++--
7 files changed, 528 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-6166
Fusion-Task-Lineage: cf78b180-ded4-4b6f-8e98-35e6f309e1d4
2026-06-09 22:11:21 -07:00
gsxdsm
6271778dde
FN-6091: add workflow_id support to task tools
...
Add workflow selection support across task creation, delegation, and updates.
- add workflow_id parameters and response text for engine and CLI task-creation/delegation tools
- allow fn_task_update to select or clear task workflows with reconciliation and validation
- cover workflow selection behavior with engine and extension tests and document the new tool parameters
- add a changeset for the published CLI package
Files changed:
.changeset/fn-6091-workflow-id-agent-tools.md | 5 +
.../cli/skill/fusion/references/engine-tools.md | 4 +-
.../cli/skill/fusion/references/extension-tools.md | 9 +-
.../skill/fusion/references/fusion-capabilities.md | 6 +-
packages/cli/src/__tests__/extension.test.ts | 189 +++++++++++++++++++++
packages/cli/src/extension.ts | 71 +++++++-
packages/engine/src/__tests__/agent-tools.test.ts | 78 +++++++++
packages/engine/src/agent-tools.ts | 32 +++-
8 files changed, 374 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6091
Fusion-Task-Lineage: 7ab2f36a-feeb-4888-9845-65294bacf1d0
2026-06-09 12:51:20 -07:00