gsxdsm
011b401764
Merge pull request #1668 from plarson/fix/fn-424-plan-only-no-commit
...
fix(FN-424): allow plan-only no-commit completion
2026-06-12 22:01:03 -07:00
gsxdsm
199990bd5a
Linux fixes
2026-06-12 21:50:49 -07:00
gsxdsm
97f3d6579b
FN-6332: improve task chat tool summaries
...
Refine task chat transcripts so collapsed tool groups summarize real invocations and expand into paired call/result details.
- Count tool calls by invocation instead of raw tool log rows.
- Show deduped tool names, overflow counts, and error badges in collapsed summaries.
- Pair tool calls with their result or error details when expanded.
- Cover the grouped summary behavior with dashboard tests and documentation.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 36 +++++--
packages/dashboard/app/components/TaskChatTab.tsx | 116 +++++++++++++++++----
.../app/components/__tests__/TaskChatTab.test.tsx | 105 ++++++++++++++++---
4 files changed, 213 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-6332
Fusion-Task-Lineage: 7c14b76c-dcaa-4227-8393-cb24f99b765d
2026-06-12 21:50:49 -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
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
1450d39976
Merge origin/main into fix/fn-424-plan-only-no-commit
...
Resolve conflicts from main's FN-6232 single-source triage prompt refactor:
- Drop the inline FAST_TRIAGE_SYSTEM_PROMPT const removed by main; the fast
triage prompt now lives in agent-prompts.ts (planning-fast seam).
- Migrate the PR's no-commit/operational-routing heuristic edits into the
fast block of agent-prompts.ts (standard block already carried them).
- Point triage tests at FAST_PLANNING_PROMPT/TRIAGE_POLICY_PROMPT instead of
the removed const.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 21:47:57 -07:00
gsxdsm
0457144111
Merge pull request #1665 from plarson/fix/insights-extract-response
...
fix(dashboard): repair insight extraction and research provider config
2026-06-12 21:36:20 -07:00
gsxdsm
9d0573a2ee
Merge pull request #1663 from plarson/fix/fn-343-merge-worktree-cleanup
...
fix: classify harmless merge worktree cleanup failures
2026-06-12 21:34:51 -07:00
gsxdsm
167f9b0542
FN-6324: allow opted-in engineer backlog auto-claim
...
Engineer backlog auto-claim now respects an explicit opt-in while keeping the default executor-only behavior.
- Add engineerBacklogAutoClaim settings and runtime overrides for backlog pickup role checks.
- Update heartbeat auto-claim filtering, logs, and no-task prompt guidance for opted-in engineer agents.
- Cover executor/default engineer/opted-in engineer routing with core and heartbeat tests.
- Document the setting and record quarantined unrelated temp-root flakes seen during verification.
Files changed:
.changeset/FN-6324-engineer-backlog-auto-claim.md | 5 ++
docs/agents.md | 3 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/agent-role-policy.test.ts | 33 +++++++++-
packages/core/src/agent-role-policy.ts | 11 +++-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 ++
packages/core/vitest.config.ts | 6 ++
.../src/__tests__/heartbeat-executor.test.ts | 70 ++++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 65 +++++++++++++++-----
scripts/lib/test-quarantine.json | 20 +++++++
11 files changed, 199 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6324
Fusion-Task-Lineage: 4d124d98-4ad1-44ce-a76c-f1db3199b3c6
2026-06-12 19:45:37 -07:00
gsxdsm
e7bb23be66
FN-6330: document bd workflow in contributing guide
...
Document the repository-local Beads issue workflow for contributors.
- Add the bd ready/claim/create/close/sync workflow with expected outcomes.
- Document Beads issue types and priority levels.
- Clarify that local Beads tracking is separate from the Fusion storage evaluation.
Files changed:
docs/contributing.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
Fusion-Task-Id: FN-6330
Fusion-Task-Lineage: 9a56def0-40bf-4e61-8582-4bb66e382a3a
2026-06-12 19:35:13 -07:00
gsxdsm
f19c4d64ee
FN-6316: collapse task chat tool and thinking entries
...
Make task-detail agent chat easier to scan during tool-heavy sessions.
- Group consecutive tool, result, and error entries into collapsed summaries with status counts.
- Render thinking output in expanded-by-default collapsible blocks.
- Add responsive styling, docs, and regression coverage for grouped transcript segments.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 120 +++++++++++++--
packages/dashboard/app/components/TaskChatTab.tsx | 161 ++++++++++++++++++---
.../app/components/__tests__/TaskChatTab.test.tsx | 100 +++++++++++--
4 files changed, 337 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-6316
Fusion-Task-Lineage: 84c83ea1-fa9a-4e30-9794-ae95e29f989e
2026-06-12 19:30:53 -07:00
gsxdsm
1f32b909cc
FN-6317: close plugin-store migration test databases
...
Close plugin-store migration test database handles so migration cleanup does not hang.
- Close legacy project database handles after seeding plugin rows.
- Close central and local database handles after idempotency assertions.
- Preserve the migration coverage while preventing open handles from delaying test teardown.
Files changed:
packages/core/src/__tests__/plugin-store.test.ts | 86 ++++++++++++++----------
1 file changed, 49 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-6317
Fusion-Task-Lineage: 36f6a1da-6ec8-4dae-89a4-6caf1e566def
2026-06-12 19:27:17 -07:00
gsxdsm
869a4f77da
FN-6329: prevent Quick Chat keyboard board shift
...
Keep the mobile board layout stable while Quick Chat owns the keyboard viewport.
- Treat fullscreen mobile overlays as suppressors for App-level footer hiding.
- Pass Quick Chat mobile open state into the shared keyboard flag helper.
- Cover iOS, Android, modal, and non-mobile keyboard flag behavior.
- Document the Quick Chat mobile keyboard board-shift root cause and fix.
Files changed:
.../quick-chat-mobile-keyboard-board-shift.md | 58 ++++++++++++++++++++++
packages/dashboard/app/App.tsx | 4 +-
.../utils/__tests__/mobileBarKeyboardFlags.test.ts | 57 ++++++++++++++++++++-
.../dashboard/app/utils/mobileBarKeyboardFlags.ts | 10 +++-
4 files changed, 126 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6329
Fusion-Task-Lineage: f7c37252-c0ea-44f0-b4e3-5aa2022cf7bc
2026-06-12 19:22:11 -07:00
gsxdsm
1d190f37ed
FN-6322: validate settings scopes workflow payload
...
Clarify and cover the settings scopes response shape including workflow settings.
- Document that GET /api/settings/scopes returns workflowSettings with global and project scopes.
- Assert workflowSettings is always a non-null object for default and project-scoped route tests.
- Preserve exact workflow setting payload coverage when workflow overrides are present.
Files changed:
docs/settings-reference.md | 2 +-
packages/dashboard/src/__tests__/routes-settings.test.ts | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6322
Fusion-Task-Lineage: 08796f9d-be99-46a1-8326-251a8d79dda4
2026-06-12 19:17:25 -07:00
gsxdsm
d0bbca4fa9
FN-6309: remove Chat active edge highlights
...
Refine Chat active-state styling by dropping edge highlights while preserving active tints.
- Remove the scope-tab active bottom underline shadow.
- Remove the active chat-row left border and compensating padding offset.
- Add CSS contract coverage to prevent the removed desktop and mobile highlights from returning.
Files changed:
packages/dashboard/app/components/ChatView.css | 3 --
.../app/components/__tests__/ChatView.test.tsx | 47 ++++++++++++++++++++++
2 files changed, 47 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6309
Fusion-Task-Lineage: e6645f38-a77c-4426-900b-71334d2145a9
2026-06-12 18:34:46 -07:00
gsxdsm
0a135c9367
FN-6315: Scroll task chat to latest output
...
Ensure the task-details Chat transcript opens at the newest agent output without breaking live scroll-away behavior.
- Track active-state transitions and initial log population to snap populated transcripts to the bottom.
- Preserve existing near-bottom live-follow behavior and inactive cached scroll bookkeeping.
- Cover initial desktop/mobile load, reactivation, delayed population, and empty transcript cases.
- Document the updated Chat tab behavior and add a published package patch changeset.
Files changed:
.changeset/fn-6315-chat-scroll-bottom.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 25 ++-
.../app/components/__tests__/TaskChatTab.test.tsx | 182 ++++++++++++++++++++-
4 files changed, 211 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6315
Fusion-Task-Lineage: 6cd7c418-124f-4730-a533-cc866f9a16a8
2026-06-12 18:26:45 -07:00
gsxdsm
8f66a41c1c
FN-6308: parallelize dashboard quality lanes
...
Reduce dashboard quality gate wall-clock by orchestrating existing Vitest lanes with bounded concurrency.
- Add a dashboard quality orchestrator that runs app/API lanes through the existing heap wrapper with safe concurrency and failure short-circuiting.
- Route dashboard quality scripts through the orchestrator while preserving compatibility lane scripts and shard boundaries.
- Export project glob metadata and strengthen guards for lane parity, heap usage, and settings route response expectations.
- Document the new dashboard quality orchestration model and measured FN-6308 timing results.
Files changed:
docs/test-speed-audit-FN-5048.md | 8 +-
docs/testing.md | 35 +++-
packages/dashboard/package.json | 14 +-
.../scripts/__tests__/run-quality-tests.test.ts | 110 ++++++++++
packages/dashboard/scripts/run-quality-tests.mjs | 221 +++++++++++++++++++++
.../__tests__/dashboard-test-config-guard.test.ts | 134 ++++++++++---
.../src/__tests__/routes-settings.test.ts | 14 +-
packages/dashboard/vitest.config.ts | 49 ++++-
8 files changed, 540 insertions(+), 45 deletions(-)
Fusion-Task-Id: FN-6308
Fusion-Task-Lineage: 05a465fd-8eef-4c03-baa3-2b7cb024fef0
2026-06-12 18:18:24 -07:00
gsxdsm
2670627d21
FN-6306: batch corruption test seed writes
...
Reduce the Database.recoverIfCorrupt startup guard setup cost without changing corruption coverage.
- Wrap the 3000 activityLog seed inserts in a single database transaction.
- Keep the wide-page corruption fixture intact while avoiding per-row transaction overhead.
Files changed:
packages/core/src/__tests__/db.test.ts | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6306
Fusion-Task-Lineage: af1d5615-b599-46c3-941f-7dc70099147c
2026-06-12 18:10:35 -07:00
gsxdsm
0d51a58d09
FN-6320: enable active task chat steering
...
Allow task chat steering whenever an in-progress task has an active assigned or checked-out agent session.
- Treat in-progress sessions as steerable unless they are explicitly paused, waiting, failed, or needing replan.
- Keep in-review steering constrained to review and merge statuses while honoring paused states.
- Cover queued, cleared, checked-out, blocked, and non-board task states in TaskChatTab tests.
- Update dashboard docs to describe active, assigned, non-paused chat sessions.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 16 +++--
.../app/components/__tests__/TaskChatTab.test.tsx | 81 ++++++++++++++++++++--
3 files changed, 89 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6320
Fusion-Task-Lineage: bdc7df52-5d1f-4882-82a7-9fe32496e1d1
2026-06-12 18:03:51 -07:00
gsxdsm
bd87ce7d7e
FN-6304: add optional workflow steps
...
Allow workflows to define default-on optional steps and expose browser verification as a togglable workflow option.
- Add core optional-step helpers, IR metadata, compiler support, exports, and regression coverage.
- Mark browser verification optional in the built-in coding workflow and document optional workflow-step behavior.
- Add dashboard/API support for optional step defaults and enabled-state presentation with localized label cleanup.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6304-optional-workflow-steps.md | 5 ++
docs/task-management.md | 2 +-
docs/workflow-steps.md | 8 ++
packages/core/src/__tests__/workflow-ir.test.ts | 45 +++++++++++
.../src/__tests__/workflow-optional-steps.test.ts | 88 ++++++++++++++++++++++
packages/core/src/builtin-coding-workflow-ir.ts | 1 +
packages/core/src/index.ts | 3 +
packages/core/src/store.ts | 3 +
packages/core/src/workflow-compiler.ts | 30 +++++++-
packages/core/src/workflow-ir-types.ts | 11 +++
packages/core/src/workflow-ir.ts | 32 +++++++-
packages/core/src/workflow-optional-steps.ts | 46 +++++++++++
packages/dashboard/app/api/legacy.ts | 10 +++
.../dashboard/app/components/InlineCreateCard.css | 20 +++++
.../dashboard/app/components/InlineCreateCard.tsx | 87 ++++++++++++++++-----
.../app/components/WorkflowResultsTab.tsx | 44 +++++++++--
.../components/__tests__/InlineCreateCard.test.tsx | 41 +++++++++-
.../__tests__/WorkflowResultsTab.test.tsx | 58 +++++++++++++-
.../src/__tests__/workflow-routes.test.ts | 22 ++++++
.../src/routes/register-workflow-routes.ts | 16 +++-
packages/i18n/locales/en/app.json | 6 +-
packages/i18n/locales/es/app.json | 3 -
packages/i18n/locales/fr/app.json | 3 -
packages/i18n/locales/ko/app.json | 3 -
packages/i18n/locales/zh-CN/app.json | 3 -
packages/i18n/locales/zh-TW/app.json | 3 -
packages/i18n/src/resources.d.ts | 6 +-
27 files changed, 543 insertions(+), 56 deletions(-)
Fusion-Task-Id: FN-6304
Fusion-Task-Lineage: 385f8ae1-494f-4e2b-a6e9-3a2d2bbe7f71
2026-06-12 17:57:19 -07:00
gsxdsm
4faeed1cda
FN-6323: mock mobile keyboard viewport lock in App tests
...
Keep the App test suite aligned with the mobile scroll lock hook exports.\n\n- Add a vi.fn() mock for useMobileKeyboardViewportLock in the existing useMobileScrollLock module mock.\n- Preserve the iOS and lock-state mocks used by App test coverage.\n\nFiles changed:\n packages/dashboard/app/components/__tests__/App.test.tsx | 1 +\n 1 file changed, 1 insertion(+)
Fusion-Task-Id: FN-6323
Fusion-Task-Lineage: cc257afe-2ab7-4e97-b04f-2ccae28eaf38
2026-06-12 17:51:53 -07:00
gsxdsm
e17e8b34f8
FN-6319: quarantine flaky engine tests
...
Quarantine unrelated engine test flakes so the gate avoids known unstable fixtures.
- Add the soft-delete blocker residue reliability test to the quarantine ledger and reliability interaction exclusions.
- Add the bubblewrap sandbox backend test to the quarantine ledger and engine-core exclusions.
Files changed:
packages/engine/vitest.config.ts | 6 +++++-
scripts/lib/test-quarantine.json | 10 ++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6319
Fusion-Task-Lineage: 9a47ae20-76b8-47d8-8858-f4fe51ea807e
2026-06-12 17:47:02 -07:00
gsxdsm
21cb8abcf3
FN-6310: recreate temp redirect sink after cleanup
...
Recreate Vitest tmpdir redirect sinks on demand after recovery cleanup removes them.
- Ensure cached tmpdir redirect sinks are recreated before later mkdtemp calls.
- Preserve live/current redirect sinks when sweeping stale pid-owned sinks.
- Add regression coverage for sync/async mkdtemp recovery and stale sink sweeping.
Files changed:
packages/core/src/__test-utils__/vitest-setup.ts | 21 ++++++-
.../__tests__/vitest-setup-tmp-redirect.test.ts | 66 +++++++++++++++++++++-
2 files changed, 85 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6310
Fusion-Task-Lineage: 311cb7f6-9c7b-4e4d-9235-e787382dcc3a
2026-06-12 17:21:14 -07:00
gsxdsm
0cd2ae1032
FN-6314: allow chat steering during review sessions
...
Task Chat can now steer active assigned sessions while tasks are being reviewed or merged.
- Permit composer steering for in-review reviewing, merging, merging-fix, and fixing statuses when an agent is assigned or checked out.
- Keep paused, user-paused, unassigned, todo, and done tasks disabled with clearer active-session messaging.
- Cover in-review steering and disabled-session states in TaskChatTab tests and update dashboard documentation.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 13 +++--
.../app/components/__tests__/TaskChatTab.test.tsx | 61 ++++++++++++++++++++--
3 files changed, 67 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6314
Fusion-Task-Lineage: 42c0f4f7-58f5-4e0c-837f-9f4b7c497fa3
2026-06-12 16:10:02 -07:00
Phil Larson
285f238e92
fix(FN-424): keep audit logging non-blocking
2026-06-12 16:08:00 -07:00
Phil Larson
f331419867
fix(FN-424): simplify prompt scope parsing
2026-06-12 15:59:58 -07:00
Phil Larson
e6eef1a925
fix(dashboard): harden insight extraction response handling
2026-06-12 15:58:20 -07:00
Phil Larson
8541db3185
fix(engine): normalize dashboard research providers
2026-06-12 15:57:12 -07:00
Phil Larson
8a4cc12d67
fix(dashboard): map merge workflow nodes in editor
2026-06-12 15:57:12 -07:00
Phil Larson
151277ac4c
fix(dashboard): read insight extraction response from session state
2026-06-12 15:57:05 -07:00
Phil Larson
02a85818c1
fix(FN-343): address follow-up review findings
2026-06-12 15:51:15 -07:00
Phil Larson
2ac9968ea5
fix(FN-343): address PR review feedback
2026-06-12 15:51:15 -07:00
Phil Larson
271c0be231
fix(dashboard): map merge workflow nodes in editor
2026-06-12 15:51:14 -07:00
Phil Larson
4f803b8625
feat(FN-343): complete Step 5 — document cleanup diagnostics and changeset
...
Fusion-Task-Id: FN-343
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:50:53 -07:00
Phil Larson
14cc9d82d1
test(FN-343): cover merger temp cleanup visibility
...
Fusion-Task-Id: FN-343
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:50:53 -07:00
Phil Larson
b094e0c765
fix(FN-343): classify pruned temp merge worktree removals
...
Fusion-Task-Id: FN-343
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:50:53 -07:00
Phil Larson
af830ac770
test(FN-343): add regression for temp cleanup classification
...
Fusion-Task-Id: FN-343
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:45:16 -07:00
Phil Larson
e9b48bd50c
fix(FN-424): address no-commit review edge cases
2026-06-12 15:45:04 -07:00
gsxdsm
480e55ffd8
FN-6311: fix localized next-heartbeat fallbacks
...
Fix Active Agents next-heartbeat localization so non-English UI falls back to interpolated elapsed text instead of raw placeholders.
- Clear stale non-English nextHeartbeat strings that referenced the obsolete {{time}} placeholder.
- Add regression coverage across supported non-English app catalogs for future and overdue heartbeat labels.
- Add a patch changeset for the published Fusion package.
Files changed:
.../fn-6311-active-agents-heartbeat-locales.md | 5 ++
.../__tests__/ActiveAgentsPanel.test.tsx | 69 +++++++++++++++++++++-
packages/i18n/locales/es/app.json | 2 +-
packages/i18n/locales/fr/app.json | 2 +-
packages/i18n/locales/zh-CN/app.json | 2 +-
packages/i18n/locales/zh-TW/app.json | 2 +-
6 files changed, 77 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6311
Fusion-Task-Lineage: b307cce4-2691-499e-bbe9-73cc1ca1705d
2026-06-12 15:34:05 -07:00
Phil Larson
fb4a5e912a
feat(FN-424): complete Step 3 — guide operational no-commit planning
...
Fusion-Task-Id: FN-424
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:02:41 -07:00
Phil Larson
630b2a834f
docs(FN-424): add no-commit completion changeset
2026-06-12 15:00:39 -07:00
Phil Larson
ab35c87114
test(FN-424): prove no-commit guard preserves worktree checks
...
Fusion-Task-Id: FN-424
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 15:00:19 -07:00
gsxdsm
2b5c4ae745
FN-6307: trim dashboard test waits
...
Trim heavyweight dashboard test paths while preserving coverage and recording the timing evidence.
- Seed the planning route rate limiter directly so boundary assertions avoid 999 duplicate HTTP session creations.
- Replace negative wait polling in NewTaskModal and heartbeat saturation assertions with direct checks after the triggering event settles.
- Document FN-6307 timing measurements and note the unrelated pre-existing settings-route failures observed during verification.
Files changed:
docs/test-speed-audit-FN-5048.md | 20 +++++++++++++
.../app/components/__tests__/NewTaskModal.test.tsx | 8 ++----
.../src/__tests__/routes-planning.test.ts | 33 +++++++++++++---------
3 files changed, 41 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6307
Fusion-Task-Lineage: b32b22e7-6729-4bd0-bc3a-ad053178bb1c
2026-06-12 14:58:59 -07:00
Phil Larson
35502afdb8
fix(FN-424): align no-commit regression fixtures
...
Fusion-Task-Id: FN-424
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 14:58:40 -07:00
Phil Larson
cb128f5824
test(FN-424): cover plan-only no-commit finalization
...
Fusion-Task-Id: FN-424
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-06-12 14:58:39 -07:00
gsxdsm
039d3ce440
FN-6236: move fast triage into workflow settings
...
Move fast triage prompting into the workflow/settings prompt model.
- Add a core-owned fast triage prompt and expose the workflow prompt mode type.
- Add a fast-mode builtin workflow variant and route triage prompt selection through workflow settings.
- Remove the engine-local fast triage prompt constant and update triage tests for workflow-driven fast mode.
- Document the fast triage prompt mode setting and add a patch changeset.
Files changed:
.changeset/FN-6236-fast-mode-workflow-variant.md | 7 +
docs/settings-reference.md | 2 +
packages/core/src/__tests__/agent-prompts.test.ts | 16 +-
.../builtin-workflow-settings-triage.test.ts | 5 +
packages/core/src/agent-prompts.ts | 221 +++++++++++++++++++
packages/core/src/builtin-workflow-prompts.ts | 12 +-
packages/core/src/builtin-workflow-settings.ts | 18 +-
packages/core/src/index.ts | 5 +
packages/core/src/types.ts | 4 +
.../triage-duplicate-search-regression.test.ts | 18 +-
.../triage-fast-mode-workflow-variant.test.ts | 219 +++++++++++++++++++
.../triage-planning-prompt-single-source.test.ts | 8 +-
packages/engine/src/__tests__/triage.test.ts | 64 +++---
packages/engine/src/triage.ts | 235 ++-------------------
14 files changed, 565 insertions(+), 269 deletions(-)
Fusion-Task-Id: FN-6236
Fusion-Task-Lineage: 369954d8-41e7-4d88-aa6d-e6bbca077d50
2026-06-12 14:39:51 -07:00
gsxdsm
751d94244c
FN-6294: collapse workflow merge primitives
...
Collapse built-in workflow merge-policy primitives back to the legacy merge seam until graph execution owns merge policy end-to-end.
- Treat all merge-policy primitive node kinds as a synthetic legacy merge node during graph traversal.
- Preserve shadow-stage parity by mapping the synthetic merge node into legacy stage transitions.
- Add regression coverage for success, failure, pre-merge review failure, and alternate merge-region entry points.
- Record a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6294-merge-region-collapse.md | 5 +
.../workflow-graph-executor-handlers.test.ts | 13 ++-
.../workflow-graph-merge-region-collapse.test.ts | 116 +++++++++++++++++++++
packages/engine/src/executor.ts | 14 ++-
packages/engine/src/workflow-graph-executor.ts | 63 ++++++++++-
5 files changed, 203 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6294
Fusion-Task-Lineage: fe86b5e2-861f-448d-8db0-b0332e6ad76f
2026-06-12 14:21:18 -07:00
gsxdsm
ba610a1c0e
FN-6296: fix stuck-kill force-requeue cleanup
...
Reap hung executor surfaces before requeueing stuck-kill timeout tasks.
- terminate spawned child agents and active session surfaces before clearing execution guards
- remove stale worktrees during force-requeue while preserving concurrent recovery ownership
- add regression coverage and architecture notes for the cleanup contract
Files changed:
docs/architecture.md | 2 +
.../engine/src/__tests__/executor-recovery.test.ts | 248 ++++++++++++++++++++-
packages/engine/src/executor.ts | 61 ++++-
3 files changed, 305 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6296
Fusion-Task-Lineage: a393e2b1-a72c-4d7b-9de2-6bf7268986d4
2026-06-12 14:08:52 -07:00
gsxdsm
dd51b5e321
FN-6293: stabilize process supervisor cascade test
...
Stabilize the process supervisor cascade teardown assertion without relying on the lifetime timer.
- Disable maxLifetimeMs for the explicit cascade teardown test so it cannot race the test's wait window.
- Assert the supervised child exits from SIGTERM and the supervisor registry is cleaned up.
- Keep the grandchild termination assertion explicit after cascade cleanup.
Files changed:
packages/core/src/__tests__/process-supervisor.test.ts | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6293
Fusion-Task-Lineage: 56fbedee-57e3-4b33-b84e-03fc1a7b7212
2026-06-12 13:50:24 -07:00
gsxdsm
491b04c44b
FN-6289: Treat merge primitives as terminal workflow boundaries
...
Allow the linear workflow compiler to stop at engine-owned merge policy regions.
- Exempt merge/retry/branch-group primitive kinds from linearity fan-out checks and step emission.
- Validate builtin coding workflow compilation while preserving deferral for stepwise workflows.
- Update builtin workflow selection tests and publish the patch changeset for @runfusion/fusion.
Files changed:
.changeset/fix-workflow-compiler-merge-region.md | 4 +-
.../core/src/__tests__/builtin-workflows.test.ts | 8 ++--
.../core/src/__tests__/workflow-compiler.test.ts | 38 ++++++++++++++++++
packages/core/src/workflow-compiler.ts | 46 +++++++++++++++++++---
4 files changed, 85 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6289
Fusion-Task-Lineage: 22d6e778-2e92-42b9-bb0d-4cc71d1631c7
2026-06-12 13:36:02 -07:00