gsxdsm
d7f26bb6cf
fix(FN-7219): stabilize compound engineering workflow
2026-06-29 16:42:11 -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
5b668d297f
FN-7238: add Done column sort modes
...
Add Done-column controls for choosing descending completion-date or task-ID order.
- Add a Done-only sort selector shared by legacy and workflow complete columns.
- Extend task display sorting with completion-date and task-ID descending modes.
- Cover board, column, and sorting behavior with regression tests and docs.
- Add a minor changeset for the published CLI package.
Files changed:
.changeset/fn-7238-done-column-sort.md | 7 +
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/components/Board.tsx | 28 +++-
packages/dashboard/app/components/Column.tsx | 33 ++++-
.../app/components/__tests__/Board.test.tsx | 133 ++++++++++++++++-
.../app/components/__tests__/Column.test.tsx | 158 +++++++++++++++++++++
.../app/components/__tests__/taskSorting.test.ts | 114 +++++++++++++++
packages/dashboard/app/components/taskSorting.ts | 39 ++++-
packages/dashboard/app/styles.css | 35 +++++
9 files changed, 538 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-7238
Fusion-Task-Lineage: 143722e9-0b59-41e5-954d-810263f18ba9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 15:46:35 -07:00
gsxdsm
0ff60a79d1
FN-7243: focus auth token recovery on unauthorized
...
Focus daemon authorization failures on auth-token recovery instead of engine remediation.
- Pass auth-token recovery state into dashboard banners so engine unavailable and status remediation banners stay hidden while recovery is open.
- Improve auth recovery dialog focus styling and tests for unauthorized daemon responses.
- Add release notes for focused auth-token recovery behavior.
Files changed:
.changeset/auth-token-recovery-focus.md | 7 ++
.changeset/fn-7243-auth-recovery-banner.md | 7 ++
packages/dashboard/app/App.tsx | 1 +
packages/dashboard/app/__tests__/auth.test.ts | 31 ++++-
.../app/components/AuthTokenRecoveryDialog.css | 7 +-
.../__tests__/AuthTokenRecoveryDialog.test.tsx | 41 +++++-
.../app/components/dashboard/DashboardBanners.tsx | 14 ++-
.../dashboard/__tests__/DashboardBanners.test.tsx | 138 ++++++++++++++++++++-
.../dashboard/app/components/dashboard/types.ts | 1 +
.../hooks/__tests__/useAuthTokenRecovery.test.ts | 9 +-
10 files changed, 238 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-7243
Fusion-Task-Lineage: 8292080d-a310-4fdc-9b5f-baa17a592bad
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 15:34:06 -07:00
gsxdsm
c6c4a003f9
FN-7241: add per-block task chat timestamps
...
Show relative timestamps throughout task-detail chat transcript blocks.
- Add reusable timestamp rendering for text, tool, thinking, and user message blocks.
- Align timestamp styling with quiet, responsive task chat metadata treatments.
- Cover empty, loading, invalid timestamp, block timestamp, and tool fallback cases.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7241-task-chat-block-timestamps.md | 7 ++
packages/dashboard/app/components/TaskChatTab.css | 44 +++++++++++-
packages/dashboard/app/components/TaskChatTab.tsx | 65 +++++++++++++++---
.../app/components/__tests__/TaskChatTab.test.tsx | 80 ++++++++++++++++++++--
4 files changed, 179 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-7241
Fusion-Task-Lineage: 87470de1-4113-4c6a-832d-ced4b1675a76
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 15:28:46 -07:00
gsxdsm
3886e585dd
fix(FN-7143): show compound workflow node progress
...
Record skill-backed workflow nodes into workflowStepResults and teach task progress surfaces to include those graph-node records without re-showing disabled optional workflow checks.
2026-06-29 14:59:16 -07:00
gsxdsm
167d242ad5
FN-7236: make workflow tabs swipeable on mobile
...
Keep the Workflow simple-editor tab bar contained while preserving horizontal touch scrolling.
- Clamp the mobile tab strip to the editor width and make it the horizontal scroll owner.
- Preserve intrinsic tab button widths and pan gestures for narrow touch viewports.
- Add CSS, component, and shared overflow regression coverage for the full six-tab strip.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7236-workflow-mobile-tab-scroll.md | 7 +++
.../dashboard-overflow-containment.test.tsx | 32 ++++++++++++-
.../app/components/WorkflowNodeEditor.css | 32 ++++++++++++-
.../__tests__/WorkflowNodeEditor.css.test.ts | 29 ++++++++++++
.../__tests__/WorkflowNodeEditor.test.tsx | 55 +++++++++++++++++++++-
5 files changed, 152 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7236
Fusion-Task-Lineage: 1601d4c2-2039-4410-809c-7dcdfea04301
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 14:50:02 -07:00
gsxdsm
b36327059a
FN-7234: preserve board workflow selections
...
Persist workflow choices across dashboard board surfaces so operators return to their selected lane reliably.
- Add project-scoped durable storage helpers for board workflow selection with stale-id validation and cleanup.
- Share the workflow selection hook across Board, List, Header, and Graph surfaces while preserving cached payloads on transient refresh failures.
- Update List quick-create/planning handoffs, cross-surface tests, and dashboard documentation for durable workflow selection behavior.
- Add patch changesets for the published Fusion package.
Files changed:
.changeset/fn-7234-durable-board-workflow-selection.md | 7 ++
.changeset/workflow-selection-board-list.md | 7 ++
docs/dashboard-guide.md | 5 +-
.../workflow-selection-cross-surface.test.tsx | 66 ++++++++--
packages/dashboard/app/components/ListView.tsx | 111 ++++-------------
.../app/components/__tests__/Board.test.tsx | 45 +++++++
.../__tests__/GraphWorkflowSwitcherSlot.test.tsx | 57 +++++++++
.../__tests__/HeaderWorkflowSwitcherSlot.test.tsx | 42 ++++++-
.../app/components/__tests__/ListView.test.tsx | 122 +++++++++++++++++++
.../app/hooks/__tests__/useBoardWorkflows.test.ts | 29 +++++
packages/dashboard/app/hooks/useBoardWorkflows.ts | 64 ++++++++-
.../utils/__tests__/boardWorkflowSelection.test.ts | 135 +++++++++++++++++++++
.../app/utils/__tests__/projectStorage.test.ts | 3 +-
.../dashboard/app/utils/boardWorkflowSelection.ts | 49 ++++++++
packages/dashboard/app/utils/projectStorage.ts | 1 +
15 files changed, 633 insertions(+), 110 deletions(-)
Fusion-Task-Id: FN-7234
Fusion-Task-Lineage: 6ebc000c-19c3-4a8e-9303-4e18a59902ed
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 14:41:52 -07:00
gsxdsm
d22b8cc60a
FN-7232: dismiss task detail on mobile swipe-back
...
Mobile task details now participate in history navigation so native swipe-back dismisses or unwinds the detail modal.
- Push a navigation entry whenever task detail opens through the app-level modal path.
- Restore the previous task detail snapshot when backing out of nested detail opens before closing the modal.
- Add mobile swipe-back coverage for board, list, dock, nested, and explicit close surfaces.
- Include a patch changeset for the published Fusion CLI package.
Files changed:
.changeset/fn-7232-swipe-back-task-detail.md | 7 +
packages/dashboard/app/App.tsx | 5 +-
packages/dashboard/app/components/AppModals.tsx | 26 +-
.../__tests__/TaskDetail.swipe-back.test.tsx | 572 +++++++++++++++++++++
packages/dashboard/vitest.config.ts | 1 +
5 files changed, 605 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7232
Fusion-Task-Lineage: 0291d01c-2008-490c-b0d1-0f0641fbd18c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 14:34:44 -07:00
gsxdsm
e80d85b101
FN-7240: Make task-detail tool text readable
...
Raise task-detail chat tool-call typography while preserving compact collapsed rows.
- Increase task chat tool summary, kicker, label, and detail text to the base spacing font token.
- Add CSS regression coverage to prevent the smaller calc font size from returning across desktop, mobile, and narrow hosts.
- Include the TaskChatTab suite in the dashboard chat quality test lane and add a patch changeset.
Files changed:
.changeset/fn-7240-task-chat-tool-font.md | 7 ++++++
packages/dashboard/app/components/TaskChatTab.css | 11 ++++++----
.../app/components/__tests__/TaskChatTab.test.tsx | 25 +++++++++++++++++++---
packages/dashboard/vitest.config.ts | 2 ++
4 files changed, 38 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-7240
Fusion-Task-Lineage: 4d3ed287-27b7-4107-bc42-0119d5a4f1e9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 14:29:17 -07:00
gsxdsm
a766813ed9
FN-7239: scope executor prompts and quarantine stale pause test
...
Scope missing executor prompts safely while keeping graph coverage aligned with the post-cutover workflow route.
- Treat absent executor prompts as empty before worktree path scoping.
- Update graph retry, parity, and smoke expectations for plan review, completion summary, and post-merge traversal.
- Quarantine only the stale executor-pause direct-dispatch suite with a ledger entry and engine-default exclude.
Files changed:
.changeset/fn-7239-scope-prompt-guard.md | 7 ++++
.../engine/src/__tests__/executor-pause.test.ts | 10 +++++
.../src/__tests__/task-pipeline-smoke.test.ts | 7 ++++
.../workflow-graph-executor-parity.test.ts | 15 ++++++-
...ow-graph-executor-retry-coding-workflow.test.ts | 48 +++++++++++++++++-----
packages/engine/src/executor.ts | 15 ++++---
packages/engine/vitest.config.ts | 5 +++
scripts/lib/test-quarantine.json | 8 +++-
8 files changed, 97 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-7239
Fusion-Task-Lineage: 9382e4e0-7cfc-416a-93e8-6ba1c7cd7879
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 14:17:29 -07:00
gsxdsm
41c0cf3603
fix(FN-7235): scope workflow remediation recovery
...
Keep merge finalization from stranding scoped workflow tasks on out-of-scope branch residue, move built-in optional gate remediation attempts into workflow config, and guard review remediation against out-of-scope fixes.
Also covers FN-7236 review-remediation scope drift.
2026-06-29 14:00:32 -07:00
gsxdsm
7b43f73327
FN-7235: align footer concurrency use markers
...
Align footer concurrency indicators with absolute running-agent utilization.
- Change footer use-marker ratio math to use current running count over configured cap.
- Cover zero, one-active, mid-track, over-cap, loading, and error marker states in EngineControlMenu tests.
- Document the footer marker behavior and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7235-footer-concurrency-marker.md | 7 +++
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/EngineControlMenu.tsx | 14 +++--
.../__tests__/EngineControlMenu.test.tsx | 70 +++++++++++++++++++---
4 files changed, 79 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-7235
Fusion-Task-Lineage: 0dda1277-2d89-4195-882c-6488dfc67288
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 13:44:09 -07:00
gsxdsm
a84afc178f
fix(FN-7233): preserve workflow optional step phase
2026-06-29 12:47:21 -07:00
gsxdsm
50f8807037
fix(FN-7233): persist workflow transition notifications
...
Store workflow transition notification markers as durable task state so recovery alerts do not depend on human-readable log text.
2026-06-29 12:40:00 -07:00
gsxdsm
e09d45037f
fix(FN-7233): move workflow lifecycle policy into nodes
2026-06-29 12:23:20 -07:00
gsxdsm
24d78816a0
fix(FN-7233): route workflow reviews through remediation nodes
2026-06-29 11:24:41 -07:00
gsxdsm
b169072224
fix(FN-7233): enforce workflow summary and done guards
2026-06-29 11:07:11 -07:00
gsxdsm
2135bd653d
fix(FN-7228): record workflow completion summaries
2026-06-29 10:32:51 -07:00
gsxdsm
2b73a0a238
FN-7228: add task pipeline smoke and plan review retry
...
Add engine coverage for the default task pipeline while preserving accepted plans during Plan Review retries.
- Add a deterministic engine-core smoke test for the minimal builtin:coding task pipeline.
- Reuse existing PROMPT.md when retrying plan-review-unavailable tasks instead of replanning them.
- Cover missing-PROMPT retry failure handling and workflow parity ordering.
- Add a patch changeset for the Plan Review retry behavior.
Files changed:
.changeset/fn-7228-plan-review-retry.md | 7 ++
.../src/__tests__/task-pipeline-smoke.test.ts | 140 +++++++++++++++++++++
packages/engine/src/__tests__/triage.test.ts | 47 +++++++
.../workflow-graph-executor-parity.test.ts | 6 +-
packages/engine/src/triage.ts | 49 +++++++-
packages/engine/vitest.config.ts | 5 +
6 files changed, 252 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7228
Fusion-Task-Lineage: e61ba4aa-6d96-4413-9048-9eeaf9ea95b5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 10:21:29 -07:00
gsxdsm
6239b2acb3
fix(FN-7228): make built-in code review blocking
2026-06-29 10:16:17 -07:00
gsxdsm
6fc50d8d9e
fix(FN-7232): enforce workflow merge boundary
2026-06-29 10:05:49 -07:00
gsxdsm
123639c89f
fix(FN-7231): require current workflow merge proof
2026-06-29 09:28:02 -07:00
gsxdsm
6ce61affe0
FN-7231: add padding to task chat blocks
...
Add tokenized inner spacing to Task Detail chat message surfaces.
- Add border-boxed padding to task chat entries, tool groups, tool entries, thinking blocks, and tool details.
- Keep mobile chat block spacing responsive with scoped TaskChatTab CSS overrides.
- Cover text, user, tool, thinking, and mobile padding expectations with a regression test.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7231-task-chat-block-padding.md | 7 ++++
packages/dashboard/app/components/TaskChatTab.css | 20 +++++++++--
.../app/components/__tests__/TaskChatTab.test.tsx | 42 ++++++++++++++++++++++
3 files changed, 67 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7231
Fusion-Task-Lineage: 2c6bee23-14fb-4a76-99a8-99528f35013a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 09:07:17 -07:00
gsxdsm
875cfad136
fix(FN-7231): require merge proof before workflow done
2026-06-29 09:01:00 -07:00
gsxdsm
4184062288
fix(FN-7224): notify workflow graph task flows
...
Fusion-Task-Id: FN-7224
2026-06-29 08:49:59 -07:00
gsxdsm
8b20f3458e
fix(FN-7224): address workflow code review findings
...
Fusion-Task-Id: FN-7224
2026-06-29 08:36:07 -07:00
gsxdsm
64518280f7
fix(FN-7224): normalize built-in workflow review toggles
...
Expose Plan Review, Code Review, and Browser Verification optional groups across engineering built-ins, with Quick Fix defaulting all three off and Compound Engineering keeping CE code review inside the shared optional toggle.
Fusion-Task-Id: FN-7224
2026-06-29 08:28:29 -07:00
gsxdsm
57d8065778
fix(FN-7224): let workflow nodes own worktree prep
...
Classify write-capable graph nodes before handler dispatch and let executor adapters fulfill the declared worktree requirement, keeping custom-node execution out of lifecycle decision making.
Fusion-Task-Id: FN-7224
2026-06-29 08:22:49 -07:00
gsxdsm
cb94fc8451
fix(FN-7224): make workflow graph replay idempotent
...
Move completed-step replay and proven-merge finalization into workflow-owned execution paths so graph restarts continue from live task projection instead of failing stale step nodes.
Fusion-Task-Id: FN-7224
2026-06-29 08:15:32 -07:00
gsxdsm
05c54fbe29
fix(FN-7228): complete workflow recovery after reviews pass
...
Fusion-Task-Id: FN-7228
2026-06-29 04:12:13 -07:00
gsxdsm
c088f8a412
fix(FN-7228): preserve plan review status during execution
2026-06-29 03:40:43 -07:00
gsxdsm
984e36255d
fix(FN-7229): stop parking execution errors in review
2026-06-29 03:33:18 -07:00
gsxdsm
f430f5db39
fix(FN-7228): respect workflow step dependencies
2026-06-29 03:23:01 -07:00
gsxdsm
50ccd79b9f
fix(FN-7226): land graph step-session commits
2026-06-29 03:15:30 -07:00
gsxdsm
399a4a2a5f
fix(FN-7226): use graph projection for step sessions
2026-06-29 03:09:43 -07:00
gsxdsm
1efcdcfe35
fix(FN-7224): clear stale graph pins on reset
2026-06-29 02:55:35 -07:00
gsxdsm
36d090c326
fix(FN-7225): keep plan review in triage
2026-06-29 02:47:17 -07:00
gsxdsm
7cd5552f76
fix(FN-7224): clear workflow pins on retry
...
Fusion-Task-Id: FN-7224
2026-06-29 02:12:25 -07:00
gsxdsm
c93217dee0
fix(FN-7225): honor plan review approvals in workflows
...
Fusion-Task-Id: FN-7225
2026-06-29 02:08:08 -07:00
gsxdsm
998a7f2745
fix(FN-7226): make plan review the single pre-execution gate
...
Fusion-Task-Id: FN-7226
2026-06-29 01:48:27 -07:00
gsxdsm
1d21241725
fix(FN-7225): auto-retry stale parse pause aborts
2026-06-29 01:13:31 -07:00
gsxdsm
1f365163a4
fix(FN-7225): clear stale pause state on workflow retry
2026-06-29 01:05:44 -07:00
gsxdsm
b86ddf4d10
fix(FN-7225): route failed plan review to triage
2026-06-29 00:48:49 -07:00
gsxdsm
c7cbd1dbf1
fix(FN-7221): clear stale workflow pins on spec rebuild
2026-06-29 00:37:17 -07:00
gsxdsm
138d6447fb
fix(workflows): address review feedback on recovery and docs
2026-06-29 00:10:27 -07:00
gsxdsm
d1caa3bdbf
test(workflows): cover coding optional gates
2026-06-28 23:45:32 -07:00
gsxdsm
d4b8032f28
feat(workflows): add optional plan review gate
2026-06-28 23:38:33 -07:00
gsxdsm
6ce0b44058
feat(workflows): make coding stepwise with final review
2026-06-28 23:24:29 -07:00
gsxdsm
e963be4088
FN-7220: harden workflow recovery lineage checks
...
Harden workflow recovery so pause/resume parks and already-merged detection preserve task ownership lineage.
- Reject already-merged recovery candidates with foreign task or lineage trailers before accepting patch-id, tree, or branch-tip matches.
- Recover benign pause/resume abort parks back to todo when the task has no live executor/session state.
- Add real-git and executor regression coverage plus architecture docs and a changeset for recovery behavior.
Files changed:
.changeset/fn-7220-workflow-recovery-lineage.md | 7 +
docs/architecture.md | 8 +-
.../already-merged-detector.real-git.test.ts | 69 ++++++++
.../executor-paused-abort-todo-benign.test.ts | 194 ++++++++++++++++++---
.../self-healing-already-merged.real-git.test.ts | 64 ++++++-
packages/engine/src/already-merged-detector.ts | 113 +++++++++---
packages/engine/src/executor.ts | 84 +++++++++
packages/engine/src/self-healing.ts | 134 ++++++++++++--
8 files changed, 609 insertions(+), 64 deletions(-)
Fusion-Task-Id: FN-7220
Fusion-Task-Lineage: 186c65bc-fe1a-457a-b90a-abbd73044252
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 22:43:02 -07:00