Phil Larson
122e404494
docs: clarify overseer badge access paths
2026-07-10 23:47:55 -07:00
Phil Larson
42a606ab5c
docs: address overseer badge review notes
2026-07-10 23:47:55 -07:00
Phil Larson
dbb29d449a
docs: explain planner overseer eye badge
2026-07-10 23:47:55 -07:00
gsxdsm
a8eafbbb14
feat: video, HTML mockup, and PDF artifact support end-to-end
...
Video was registrable but effectively unusable, and HTML/PDF deliverables
had no first-class path from agents to the gallery.
- media route now serves HTTP byte ranges (Accept-Ranges, 206 +
Content-Range, 416 on unsatisfiable) so <video>/<audio> seeking works
and Safari plays media at all
- video attachments (mp4/webm/mov, 100MB cap vs 5MB for other types)
bridge into the artifact registry like images; multer transport ceiling
raised to 100MB with per-type caps enforced in the store
- fn_artifact_register path payloads are signature-validated for video
(ftyp box / EBML header) and PDF (%PDF- prefix), mirroring images
- HTML doc artifacts (mimeType text/html) render as live sandboxed
iframe previews by default in the doc viewer, with a Preview/Source
toggle and the same FileEditor edit mode
- executor/heartbeat/planning prompts and tool descriptions now cover
the full type matrix: images, videos, audio, HTML mockups, PDFs, and
markdown docs, each with the registration recipe
Verified live: range requests (200/206/416) via curl, an ffmpeg-generated
mp4 playing to completion in the gallery lightbox, and an interactive
HTML mockup rendering in the sandboxed preview.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 23:42:10 -07:00
gsxdsm
9024f3a639
feat: agent-created visual artifacts end-to-end + redesigned category gallery with doc editing
...
Agents could never get screenshots/wireframes/mocks into the Artifacts view:
fn_artifact_register was gated on assignedAgentId (never set in default
ephemeral mode), the only image payload source was inline base64, and no
prompt ever told agents to register visual deliverables.
- always expose fn_artifact_register to executor sessions ("executor" author
fallback), resolve relative paths against the task worktree, and default
taskId to the executing task (heartbeat task lane too)
- add a `path` payload source: file read with 50MB cap, extension MIME
inference, PNG/JPEG/GIF/WebP signature + SVG sniff validation, persisted
through managed artifact storage
- executor/heartbeat/planning prompts + engine-tools reference now instruct
agents to register screenshots, wireframes, mockups, and recordings
- new ArtifactsGallery: Images/Docs/PDFs/Videos/Audio/Other category sections
and filter chips, visual tile grid + lightbox, embedded PDF viewer, audio
player rows, download rows; mobile-responsive down to the 768px breakpoint
- doc artifacts open a full viewer rendered as markdown by default with an
in-place edit mode using the shared CodeMirror FileEditor; persisted via new
GET/PATCH /api/artifacts/:id + TaskStore.updateArtifact and live-refreshed
through the new artifact:updated SSE event
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 23:42:10 -07:00
gsxdsm
1bf52758e4
test(cli): fix stale project-context/desktop/core mocks + version pin + engine-tools doc (shard 3)
2026-07-10 23:21:37 -07:00
gsxdsm
626e00288c
FN-7720: add operator review-lane bypass for stranded pre-merge review failures
...
Add a policy-gated review-lane bypass primitive so operators can unstick cards stranded by a failed pre-merge review step (e.g. the no-feedback review-engine defect), without exposing it to agent-driven lanes.
- Add `store.bypassFailedPreMergeReviewStep(id, { reason, actor })` in @fusion/core plus `getLatestFailedPreMergeReviewStep` in task-merge.ts, and new `bypassedBy`/`bypassedAt`/`bypassReason`/`bypassedFromStatus`/`bypassedFromVerdict` fields on `WorkflowStepResult`
- Add operator-only `fn_task_bypass_review` CLI/pi-extension tool; explicitly withheld from executor/reviewer/triage agent tool lists
- Add `POST /tasks/:id/bypass-review` dashboard API route and wire it through `register-task-workflow-routes.ts` and legacy API compatibility layer
- Add dashboard UI affordance (context menu action + task detail modal + right-dock controller wiring) to trigger the bypass with a reason
- Add i18n strings for the bypass action/labels across en/es/fr/ko/zh-CN/zh-TW locales
- Update `gating-classifications.ts` to recognize the bypassed state
- Add unit tests: `store-bypass-review.test.ts`, `task-merge-bypass.test.ts`, extension test coverage, and `useTasks` hook test coverage
- Update docs (`docs/workflow-steps.md`, `docs/dashboard-guide.md`, AGENTS.md, fusion skill references) to describe the new bypass tool/route
- Add changeset `.changeset/fn-7720-review-lane-bypass-primitive.md` (minor)
Files changed:
$(git diff --cached --stat)
Fusion-Task-Id: FN-7720
Fusion-Task-Lineage: 590b020a-ae02-4b51-8189-df8f54bf3044
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-09 19:58:04 -07:00
gsxdsm
a4fce60b18
FN-7677: fix quick-add workflow dropdown button height mismatch
...
Aligns the quick-entry workflow-trigger dropdown button height with the neighboring Save/Fast/Subtask buttons and adds a regression test plus changeset.
- QuickEntryBox.css: .quick-entry-workflow-trigger re-asserts .btn-sm's padding: 4px 10px locally so the shared global .dep-trigger padding: 3px 8px no longer shortens it by ~2px
- Add regression test packages/dashboard/app/__tests__/quick-entry-workflow-trigger-height.test.tsx covering the height parity
- Add changeset fn-7677-quick-add-workflow-trigger-height.md (patch, fix)
- Minor doc updates in cli skill fusion references (extension-tools.md, fusion-capabilities.md)
Files changed:
.changeset/fn-7677-quick-add-workflow-trigger-height.md | 7 +
packages/cli/skill/fusion/references/extension-tools.md | 6 +-
packages/cli/skill/fusion/references/fusion-capabilities.md | 4 +-
packages/dashboard/app/__tests__/quick-entry-workflow-trigger-height.test.tsx | 248 +++++++++++++++++++++
packages/dashboard/app/components/QuickEntryBox.css | 5 +
5 files changed, 266 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-7677
Fusion-Task-Lineage: c8cc1b0d-f9c1-4691-a5b4-14ec8ac7e98e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-08 08:09:53 -07:00
gsxdsm
91fb53f3c7
FN-7440: add agent update tool
...
Add a Fusion extension tool for updating existing agent configuration in place.
- Register fn_agent_update with editable agent fields, validation, and non-ephemeral guards.
- Enforce org-scoped authorization for agent callers and privileged manager-clearing semantics for operators.
- Cover update success, hierarchy denial, cycle prevention, and runtime/instruction edits in extension tests.
- Document the new tool in agent and Fusion skill references and add a published package changeset.
Files changed:
.changeset/fn-7440-agent-update-tool.md | 7 +
docs/agents.md | 21 +-
package.json | 1 +
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 21 ++
.../skill/fusion/references/fusion-capabilities.md | 1 +
.../src/__tests__/extension-agent-update.test.ts | 351 +++++++++++++++++++++
packages/cli/src/extension.ts | 230 ++++++++++++++
pnpm-lock.yaml | 1 +
9 files changed, 628 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-7440
Fusion-Task-Lineage: a6f4c928-5a63-4cf1-aa0b-4e38b536e965
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-02 13:16:07 -07:00
gsxdsm
865dec235b
FN-7424: add GitLab task imports
...
Adds GitLab-backed task import flows across the CLI, extension, API, and dashboard.
- Add GitLab client normalization, provenance, duplicate detection, and import routes for project issues, group issues, and merge requests.
- Extend the dashboard import modal with a GitLab provider, resource tabs, previews, imported-state detection, and import actions.
- Add CLI and extension task import commands plus usage event/gating classifications and operator documentation.
- Cover GitLab fetch/import behavior with dashboard, CLI, and gating tests.
Files changed:
.changeset/fn-7424-gitlab-imports.md | 7 +
docs/cli-reference.md | 11 +-
docs/gitlab-parity-inventory.md | 10 +-
docs/task-management.md | 6 +-
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 60 ++++
.../skill/fusion/references/fusion-capabilities.md | 6 +
packages/cli/src/__tests__/extension.test.ts | 6 +
.../__tests__/task-command-gitlab-import.test.ts | 97 ++++++
packages/cli/src/bin.ts | 25 +-
packages/cli/src/commands/task.ts | 58 ++++
packages/cli/src/extension.ts | 106 +++++++
packages/core/src/__tests__/usage-events.test.ts | 2 +
packages/core/src/types.ts | 7 +
packages/core/src/usage-events.ts | 3 +
packages/dashboard/app/api/legacy.ts | 52 ++++
.../dashboard/app/components/GitHubImportModal.css | 41 +++
.../dashboard/app/components/GitHubImportModal.tsx | 143 ++++++++-
.../__tests__/GitHubImportModal.test.tsx | 33 ++
packages/dashboard/src/__tests__/gitlab.test.ts | 56 ++++
.../dashboard/src/__tests__/routes-gitlab.test.ts | 99 ++++++
packages/dashboard/src/gitlab.ts | 334 +++++++++++++++++++++
packages/dashboard/src/index.ts | 15 +
packages/dashboard/src/routes.ts | 2 +
packages/dashboard/src/routes/register-gitlab.ts | 192 ++++++++++++
.../engine/src/__tests__/agent-action-gate.test.ts | 4 +
.../gating-classifications-provisioning.test.ts | 13 +-
.../src/__tests__/gating-classifications.test.ts | 6 +
packages/engine/src/gating-classifications.ts | 9 +
29 files changed, 1388 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-7424
Fusion-Task-Lineage: 8012425c-21d5-4b20-adb7-07d2e5aa1cef
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-02 11:38:34 -07:00
gsxdsm
855061db5f
fix: harden workflow graph cutover paths and migrate cutover-era tests
...
Production fixes:
- executor.ts: add safeLogEntry() wrapper so synchronous throws from
store.logEntry don't abort pause/abort/finalize control flow.
- workflow-authoritative-driver.ts: pass built-in auxiliary custom nodes
(task-summary nodes, bypassable optional-groups) through as success
instead of throwing.
Test migrations for graph-native runtime (cherry-picked from closed PR #1869 ):
- executor-prompt: two-party barrier for global-pause disposal test.
- executor-task-done-invariant: assert merge-node boundary moveTask.
- workflow-graph-merge-region-collapse: updated for merge-region node shapes.
- executor-worktree/worktree-liveness/implicit-task-done-budget: graph-aware.
- CLI extension tests: shared engine-workflow-authoring-mock helper.
- Dashboard/desktop/reliability tests: cutover-aware assertion updates.
2026-07-02 07:32:47 -07:00
gsxdsm
5f67c85fea
FN-7285: add workflow icons and trim built-in labels
...
Adds workflow icon metadata while preserving readable workflow names without built-in suffixes.
- Store and validate compact plain-text workflow icons across core APIs, imports, exports, tools, and analytics.
- Render Fusion marks for built-in workflows and custom text icons beside existing workflow labels on board, switcher, detail, and editor surfaces.
- Update workflow editor creation/copy flows, docs, release notes, and tests for icon metadata and shorter built-in names.
Files changed:
.changeset/fn-7285-workflow-icons.md | 7 ++
docs/dashboard-guide.md | 12 +--
.../cli/skill/fusion/references/extension-tools.md | 2 +
.../core/src/__tests__/builtin-workflows.test.ts | 8 +-
packages/core/src/__tests__/db-migrate.test.ts | 7 +-
.../core/src/__tests__/workflow-analytics.test.ts | 15 +--
.../__tests__/workflow-definition-store.test.ts | 31 ++++++
packages/core/src/builtin-workflows.ts | 20 ++--
packages/core/src/db.ts | 11 +-
packages/core/src/index.ts | 4 +
packages/core/src/store.ts | 24 ++++-
packages/core/src/workflow-analytics.ts | 7 +-
packages/core/src/workflow-definition-types.ts | 31 ++++++
packages/dashboard/app/api/legacy.ts | 2 +
packages/dashboard/app/components/Board.tsx | 18 ++--
packages/dashboard/app/components/Column.tsx | 2 +-
packages/dashboard/app/components/TaskCard.tsx | 7 +-
.../dashboard/app/components/TaskDetailModal.tsx | 20 ++--
packages/dashboard/app/components/WorkflowIcon.css | 42 ++++++++
packages/dashboard/app/components/WorkflowIcon.tsx | 49 +++++++++
.../app/components/WorkflowNodeEditor.css | 32 ++++++
.../app/components/WorkflowNodeEditor.tsx | 113 ++++++++++++++++-----
.../dashboard/app/components/WorkflowSwitcher.css | 9 ++
.../dashboard/app/components/WorkflowSwitcher.tsx | 15 ++-
.../dashboard/app/components/WorktreeGroup.tsx | 2 +-
.../app/components/__tests__/Board.test.tsx | 12 +--
.../app/components/__tests__/Lane.test.tsx | 6 +-
.../__tests__/WorkflowNodeEditor.test.tsx | 57 +++++++++--
.../components/__tests__/WorkflowSwitcher.test.tsx | 68 ++++++++-----
.../__tests__/board-mobile-initial-render.test.tsx | 2 +-
.../__tests__/CommandCenter.test.tsx | 4 +-
.../command-center/areas/WorkflowArea.tsx | 2 +
.../areas/__tests__/WorkflowArea.test.tsx | 6 +-
.../settings/sections/GeneralSection.tsx | 6 +-
.../register-command-center-routes.test.ts | 2 +-
.../__tests__/workflow-import-export.test.ts | 32 +++++-
packages/dashboard/src/routes/board-workflows.ts | 6 +-
.../src/routes/register-workflow-routes.ts | 32 +++++-
packages/engine/src/__tests__/agent-tools.test.ts | 4 +-
packages/engine/src/agent-tools.ts | 6 +-
40 files changed, 590 insertions(+), 145 deletions(-)
Fusion-Task-Id: FN-7285
Fusion-Task-Lineage: 0fa689a2-f19d-4d1b-9a40-cc0b2181200a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 12:21:25 -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
353aaf3b4a
fix(FN-7143): support task image artifacts
...
Fusion-Task-Id: FN-7143
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 09:47:59 -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
3d26d4e74b
FN-7127: standardize task show tool naming
...
Unify task-show references so planning, triage, docs, and telemetry use fn_task_show consistently.
- Replace legacy fn_task_get guidance and examples with fn_task_show across agent prompts, mission planning, triage, and docs.
- Keep fn_task_get as a deprecated read-only recognition alias for historical or in-flight calls.
- Update tests and changesets to cover the unified tool name and usage telemetry.
Files changed:
.changeset/FN-7118-shared-task-read-tools.md | 2 +-
.changeset/FN-7127-unify-task-show-tool-name.md | 7 ++++++
docs/cli-reference.md | 2 +-
docs/missions.md | 2 +-
.../cli/skill/fusion/references/engine-tools.md | 2 +-
packages/core/src/__tests__/usage-events.test.ts | 1 +
packages/core/src/agent-prompts.ts | 12 +++++-----
.../__tests__/milestone-slice-interview.test.ts | 2 +-
.../src/__tests__/mission-interview.test.ts | 2 +-
.../src/__tests__/planning-board-tools.test.ts | 6 ++---
.../dashboard/src/milestone-slice-interview.ts | 4 ++--
packages/dashboard/src/mission-interview.ts | 2 +-
packages/dashboard/src/planning-board-tools.ts | 10 +++++---
packages/dashboard/src/planning.ts | 2 +-
.../src/__tests__/agent-task-read-tools.test.ts | 28 +++++++++++++++-------
packages/engine/src/__tests__/triage.test.ts | 6 ++---
packages/engine/src/agent-tools.ts | 5 +++-
packages/engine/src/gating-classifications.ts | 8 +++++--
packages/engine/src/triage.ts | 12 ++++++----
19 files changed, 74 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-7127
Fusion-Task-Lineage: adf5a127-2741-4c88-97b3-aab239ab3960
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 12:25:53 -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
7ef381762a
feat: start engines by default
2026-06-20 23:57:37 -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
0ed46d9007
FN-6640: expose planning task document tools
...
Expose planning-lane task document tools with chat-style explicit task targeting.
- Add task document read/write tools to both planning agent creation paths.
- Cover non-streaming and streaming planning tool assembly plus explicit task_id document behavior.
- Update agent docs and generated skill tool references for chat/planning parity.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6640-planning-document-tools.md | 5 +
docs/agents.md | 2 +-
.../cli/skill/fusion/references/engine-tools.md | 4 +-
.../planning-document-tools-exposure.test.ts | 139 +++++++++++++++++++++
packages/dashboard/src/planning.ts | 7 ++
5 files changed, 154 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6640
Fusion-Task-Lineage: 6a9225cf-fbe7-4a87-8927-e01355a38e92
2026-06-18 07:23:02 -07:00
gsxdsm
b1a2aeebf2
FN-6635: expose task document tools to chat agents
...
Expose task document read/write tools to dashboard chat agents with explicit task targeting.
- Add chat-specific fn_task_document_write/read factories that require task_id and reuse task document read behavior.
- Wire dashboard chat custom tools to include task document tools when a scoped task store is available.
- Cover chat document tool exposure and explicit-task document operations with engine and dashboard tests.
- Document chat availability and add a published package changeset.
Files changed:
.changeset/fn-6635-chat-task-documents.md | 5 +
docs/agents.md | 1 +
.../cli/skill/fusion/references/engine-tools.md | 4 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 78 +++++++++++
packages/dashboard/src/chat.ts | 15 ++-
.../src/__tests__/agent-document-tools.test.ts | 108 +++++++++++++++
packages/engine/src/agent-tools.ts | 145 ++++++++++++++++-----
packages/engine/src/index.ts | 3 +
8 files changed, 318 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-6635
Fusion-Task-Lineage: 25e701d4-7670-470b-9dea-df49884f7b21
2026-06-18 07:06:00 -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
a013bc0309
FN-6607: align step tools with zero-based prompt steps
...
Align executor step tools and review bookkeeping with the 0-based Step N labels agents see in PROMPT.md.
- Treat fn_task_update and fn_review_step step parameters as 0-indexed values, including validation, logs, checkpoints, and review verdict maps.
- Update executor/reviewer/step-runner guidance and generated tool docs to describe Step 0 semantics consistently.
- Adjust affected executor and reliability tests and add coverage proving Step 0 progress, review, and revise handling work without off-by-one shifts.
- Add a patch changeset for the published Fusion CLI package.
Files changed:
.changeset/fn-6607-step-numbering.md | 5 +
.../cli/skill/fusion/references/engine-tools.md | 4 +-
.../engine/src/__tests__/executor-pause.test.ts | 2 +-
.../executor-review-step-indexing.test.ts | 18 +-
.../src/__tests__/executor-review-verdicts.test.ts | 18 +-
.../executor-step-numbering-zero-based.test.ts | 196 +++++++++++++++++++++
.../src/__tests__/executor-step-session.test.ts | 24 ++-
...executor-task-done-revise-verdict-guard.test.ts | 4 +-
.../executor-pending-review-skip-retry.test.ts | 8 +-
.../task-done-refusal-x-invariant.test.ts | 2 +-
packages/engine/src/__tests__/step-runner.test.ts | 4 +-
packages/engine/src/executor.ts | 57 +++---
packages/engine/src/reviewer.ts | 3 +
packages/engine/src/step-runner.ts | 6 +-
14 files changed, 284 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-6607
Fusion-Task-Lineage: 1b1fb1d8-07ca-4a33-84f5-1dab83388c01
2026-06-17 19:52:20 -07:00
gsxdsm
508551c593
FN-6299: allow archiving tasks from any column
...
Allow task archiving from every live board column while preserving a safe restore target.
- Record the pre-archive column and restore archived tasks to that column, downgrading active execution columns to todo.
- Expose archive actions and CLI/tooling documentation for all non-archived tasks.
- Expand store, dashboard, and route tests for archive/unarchive behavior across columns.
- Quarantine the flaky core db test observed during verification and add the published package changeset.
Files changed:
.changeset/fn-6299-archive-any-column.md | 5 ++
docs/cli-reference.md | 4 ++
docs/task-management.md | 9 +--
.../cli/skill/fusion/references/extension-tools.md | 6 +-
.../skill/fusion/references/fusion-capabilities.md | 4 +-
packages/cli/src/bin.ts | 2 +-
packages/cli/src/extension.ts | 18 ++---
.../src/__tests__/store-archive-search.test.ts | 76 +++++++++++++++++-----
packages/core/src/store.ts | 61 ++++++++++++-----
packages/core/src/types.ts | 4 ++
packages/core/vitest.config.ts | 1 +
packages/dashboard/app/components/TaskCard.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 2 +-
.../app/components/__tests__/TaskCard.test.tsx | 35 +++++++++-
...etailModal.responsive-and-dependencies.test.tsx | 26 ++++++++
.../src/__tests__/routes-tasks-ops.test.ts | 8 +--
.../src/routes/register-task-workflow-routes.ts | 9 +--
scripts/lib/test-quarantine.json | 5 ++
18 files changed, 215 insertions(+), 62 deletions(-)
Fusion-Task-Id: FN-6299
Fusion-Task-Lineage: fd5b5c12-35b8-4843-ab4e-14608d1ea395
2026-06-12 21:50:49 -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
gsxdsm
fab8a62b55
FN-5977: expose goal retrieval tools across engine agents
...
Make goal lookup tools available and citable throughout engine-driven agent sessions.
- add shared engine goal list/show tools with concise list snippets, full detail lookup, and retrieval audit coverage
- expose fn_goal_list and fn_goal_show in executor, heartbeat, and triage tool surfaces and classify them as readonly coordination-exempt tools
- extend CLI and engine regression coverage, refresh tool reference docs, and add a published changeset for the CLI package
Files changed:
.changeset/FN-5977-goal-retrieval-engine-tools.md | 7 +
packages/cli/skill/fusion/references/engine-tools.md | 2 +
packages/cli/src/__tests__/extension-goal-tools-audit.test.ts | 8 +-
packages/cli/src/__tests__/extension-goal-tools.test.ts | 118 +++++++++++-
packages/cli/src/__tests__/goal-store-resolution.test.ts | 2 +-
packages/cli/src/extension.ts | 38 +++-
packages/engine/src/__tests__/agent-tools-goal.test.ts | 213 +++++++++++++++++++++
packages/engine/src/__tests__/gating-classifications.test.ts | 4 +
packages/engine/src/__tests__/heartbeat-executor.test.ts | 22 ++-
packages/engine/src/__tests__/heartbeat-session-prompt.test.ts | 8 +-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 180 ++++++++++++++++-
packages/engine/src/executor.ts | 8 +
packages/engine/src/gating-classifications.ts | 2 +
packages/engine/src/triage.ts | 26 ++-
15 files changed, 600 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-5977
Fusion-Task-Lineage: 46f7e777-da4d-4e9c-b014-329a5cb1e3da
2026-06-07 18:51:46 -07:00
gsxdsm
6d16c07197
merge: main (editor consolidation #1433 , fast-tests, learnings) — renumber workflow_settings migration to 110, settings panel joins the sidebar disclosures, full-workspace literal sweep
2026-06-05 15:23:15 -07:00
gsxdsm
6c9a81a05f
fix(review): apply autofix feedback
2026-06-05 01:53:42 -07:00
gsxdsm
9a4343be26
feat(engine): fn_workflow_settings agent tool + settings declaration parity, plugin-sdk types, engine-tools docs
2026-06-04 22:57:01 -07:00
gsxdsm
8a5fa66def
feat(engine,dashboard): expose workflow authoring tools to chat and planning agents
2026-06-04 22:54:49 -07:00
gsxdsm
3ebaa321f8
fix(review): apply code-review fixes — runId/foreachNodeId wiring, worktree-leak cleanup, rework re-execution, instance pruning, SIGKILL fallback, type dedup, board memo split, agent-native field-schema context + fn_workflow_get
...
17 findings from 12-reviewer code review applied:
- P1 runId trio (pin-probe/resume/markIntegrated used placeholder runId; 4-reviewer corroboration) + production-wiring tests
- P1 worktree/branch release on instance failure/exhaustion/abort
- P2 runGraphTaskStep no longer masks step-session failures; rejected memo cleared so rework re-executes
- P2 clearStaleInstanceStates wired at run start/end (mirrors branch pruning)
- P2 code-node timeout killSignal SIGKILL; dead template-recursion removed
- P1/P2 field-type re-declarations replaced with @fusion/core imports (stale comments removed)
- P2 Board memo split + TaskCard comparator stringify guard + modal prop-driven field defs
- HIGH agent-native: executor prompt injects custom-field schema/values; self-correcting rejection text; fn_workflow_get; fn_task_update bare-call guard; integration-conflict task log
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:01:55 -07:00
gsxdsm
7076dd4516
feat(sdk,dashboard,docs): U9 — save-time code validation route, SDK type exports, skill doc, step-inversion docs + changeset
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 13:15:50 -07:00
gsxdsm
0257bdf9d6
fix(ci): align tests/docs with issue-fix commits (recoveryRehome args, pi-ai mock Unknown/Record, new agent tools doc, hex-pattern comment reword)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 10:56:47 -07:00
gsxdsm
e5386dc7ee
docs(skill): document fn_workflow_list / fn_workflow_select engine tools
...
skill-sync.test.ts ("engine-tools.md documents all engine session-scoped
tools") scans the engine sources for `name: "fn_*"` and requires each to appear
in packages/cli/skill/fusion/references/engine-tools.md. The two new workflow
tools were added to agent-tools.ts/executor without a doc entry, so the sync
test failed (masked earlier by the dashboard build break). Add both to the
shared agent-tools table.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 18:15:43 -07:00
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
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
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
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
009d569bdd
Recovery: re-land fn goals CLI + pi tools onto main
2026-05-28 19:44:15 -07:00
gsxdsm
5eacd79b43
feat(FN-5584): merge fusion/fn-5584
2026-05-25 15:27:06 -07:00
Fusion (runfusion.ai)
2d2e5b809f
feat(FN-5233): add tombstone recreate guard and allow-resurrection delete f
...
Implements the FN-5233 tombstone system for soft-delete resurrection: a configurable `tombstoneWindowSeconds` deduplicates recreation of recently deleted tasks, with an `allowResurrection` flag that permits explicit resurrect-on-recreate, tombstone recreate guards in the store layer, and cleanup of
Fusion-Task-Id: FN-5233
2026-05-23 17:07:14 -07:00
Fusion (runfusion.ai)
90b51587cd
feat(FN-5141): complete Step 3 — update manual skill delete wording
...
Fusion-Task-Id: FN-5141
Fusion-Task-Lineage: 2f90daca-c147-4807-b780-09f8f54580ae
2026-05-19 08:38:25 -07:00
Fusion (runfusion.ai)
935b0043fe
feat(FN-5141): complete Step 2 — regenerate skill tool docs
...
Fusion-Task-Id: FN-5141
Fusion-Task-Lineage: 2f90daca-c147-4807-b780-09f8f54580ae
2026-05-19 08:38:25 -07:00
Fusion (runfusion.ai)
ceacad78a1
chore(FN-4959): complete Step 4 — regenerate fusion skill tool references
...
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
96a19309ae
fix(FN-4884): finalize docs and keep workspace gates green
...
Fusion-Task-Id: FN-4884
Fusion-Task-Lineage: b906ade4-a9f1-4f2e-b684-4ebf49c3e7e6
2026-05-17 07:26:21 -07:00
Fusion (runfusion.ai)
16ede9ca27
fix(FN-4774): document fn_task_search in engine skill tools
...
Fusion-Task-Id: FN-4774
Fusion-Task-Lineage: f3b81550-fb23-441e-aee7-44ffec63d03d
2026-05-16 11:55:40 -07:00
Fusion
508a174e44
feat(FN-4579): complete Step 5 — clarify milestone field semantics
...
Fusion-Task-Id: FN-4579
Fusion-Task-Lineage: b0f3b436-599f-4b7b-a598-b8789e0e4cb7
2026-05-15 06:42:13 -07:00
Fusion
3db986b97d
feat(FN-4578): complete Step 7 — sync fusion skill tool docs
...
Fusion-Task-Id: FN-4578
Fusion-Task-Lineage: 1be0fa08-4d83-4988-a218-326225dfe4b5
2026-05-15 03:07:36 -07:00