- guard optional project selection callbacks and keep bookmarked search matches visible
- use structured timeout/rate-limit handling in retry backoff
- add focused regressions for selector and retry behavior
Note: pnpm test passed the merge gate but hit pre-existing non-blocking engine mock failures in changed-package tests.
- Bump workflow model lane changeset to minor
- Clear pending workflow model edits after value reload failures
- Exclude Vite source module requests with query strings from API proxy
Ensure the workflow node editor opens at the origin instead of auto-fitting away from the top-left.
- replace React Flow's fitView startup behavior with an explicit default viewport at x=0, y=0, zoom=1
- add a regression test that asserts the initial viewport transform starts at the top-left with scale 1
Files changed:
packages/dashboard/app/components/WorkflowNodeEditor.tsx | 2 +-
.../app/components/__tests__/WorkflowNodeEditor.test.tsx | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5990
Fusion-Task-Lineage: 682ca8f8-a698-4234-a2d6-31c8efa657db
Add a browser demo workflow and supporting fixtures for board walkthroughs.
- add a demo README plus seeded Browser Demo Lifecycle workflow with Todo, In Progress, In Review, QA, and Publish columns
- seed representative browser demo tasks and lifecycle log entries across the custom workflow columns
- update the live simulator to advance workflow tasks through QA and Publish while preserving the legacy merge path
- add a core lifecycle test covering workflow selection and the Todo → In Progress → In Review → QA → Publish transitions
Files changed:
demo/README.md | 25 ++++
demo/seed.ts | 131 ++++++++++++++++++++-
demo/simulate.ts | 35 ++++--
packages/core/src/__tests__/browser-demo-lifecycle.test.ts | 71 +++++++++++
4 files changed, 248 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-5986
Fusion-Task-Lineage: 9638f7da-9b50-4de1-8ffa-d861dbf7aff2
Align mission goal link write paths on the documented GOAL_NOT_FOUND contract.
- return 400 GOAL_NOT_FOUND from linkable goal validation instead of 404 when a goal is missing
- update mission goal route tests to assert the new error payload across create, patch, set, and add flows
- document the link-vs-unlink missing-goal behavior and add a patch changeset for the published CLI package
Files changed:
.../FN-5985-mission-goal-not-found-contract.md | 5 ++++
docs/missions.md | 2 +-
.../__tests__/mission-goal-links-routes.test.ts | 32 +++++++++++++++++-----
packages/dashboard/src/mission-routes.ts | 9 +++++-
4 files changed, 39 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-5985
Fusion-Task-Lineage: 5649266e-5813-41b4-8a54-c7c46df61a35
Reduce SQLite and FTS churn on hot task-update paths.
- switch hot task writes to column-scoped UPDATE statements that touch only changed fields plus updatedAt
- keep create and replication-style persistence on full-row INSERT/UPSERT paths and rewrite task.json from the refreshed DB row after partial updates
- route executor lease renewals through renewCheckoutLease and add regression coverage plus storage docs for the narrower write paths
Files changed:
docs/storage.md | 5 +-
.../core/src/__tests__/task-partial-update.test.ts | 191 ++++++
packages/core/src/store.ts | 638 +++++++++++----------
.../src/__tests__/executor-lease-renewal.test.ts | 66 +++
packages/engine/src/executor.ts | 2 +-
5 files changed, 603 insertions(+), 299 deletions(-)
Fusion-Task-Id: FN-5945
Fusion-Task-Lineage: ad0c5b64-f411-4379-85ab-f81edfc18101
Document why live task FTS tables should stay in fusion.db for now.
- expand the storage audit note to cover FN-5976 alongside FN-5943
- explain why moving tasks_fts into an attached database would require abandoning external-content FTS and trigger-based sync
- capture the operational tradeoffs, current code paths, and defer/revisit criteria for a future redesign
Files changed:
docs/storage.md | 31 +++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-5976
Fusion-Task-Lineage: 5e6c6eea-d1d6-4997-9f2b-a8597a7640be
Restore mobile auto-merge dashboard stability and broaden regression coverage.
- share the mobile media query between viewport detection and board stabilization so landscape phones stay on the mobile path
- add an integration regression suite for toggling auto-merge across mobile, tablet, desktop, rollback, and task review surfaces
- expand dashboard and CLI tests, keep the new published changeset, and preserve related vitest coverage lists and safety comments
Files changed:
$(git diff --cached --stat)
Fusion-Task-Id: FN-5972
Fusion-Task-Lineage: f3a3bbae-21c2-451b-b24f-848cc12d0542
Clean up stale test timing metadata after the cwd fallback test removal.
- remove the obsolete timing entry for cwd-integration-fallback-removed.test.ts
- keep scripts/test-timings.json aligned with the current reliability-interactions test set
Files changed:
scripts/test-timings.json | 1 -
1 file changed, 1 deletion(-)
Fusion-Task-Id: FN-5969
Fusion-Task-Lineage: 8e8541a6-6198-4472-a40a-1161cc8443bd
Remove obsolete cwd-fallback reliability coverage and keep the remaining worktree recovery test portable.
- delete the skipped reliability-interactions cwd fallback removal test that no longer covers a distinct path
- update executor worktree recovery to use os.tmpdir() and clean up its temporary root in finally
Files changed:
.../engine/src/__tests__/executor-worktree.test.ts | 57 ++++++++++++----------
.../cwd-integration-fallback-removed.test.ts | 56 ---------------------
2 files changed, 31 insertions(+), 82 deletions(-)
Fusion-Task-Id: FN-5952
Fusion-Task-Lineage: 8a621b9c-ec24-4400-93c7-e9d946e15283
Add explicit visibility for active missions that remain intentionally unlinked to goals.
- document the no-backfill decision with an engine-emitted unlinked mission advisory
- add a scheduler reporter that emits one deduped workflow insight for active missions without goal links and falls back to task logs when insight storage is unavailable
- cover the advisory reporter and scheduler integration with focused tests
- clear PR remediation errors when changing the Create Pull Request base branch
Files changed:
docs/missions.md | 2 +
.../dashboard/app/components/PrCreateModal.tsx | 2 +
packages/engine/src/__tests__/scheduler.test.ts | 8 +
.../unlinked-missions-advisory-reporter.test.ts | 170 +++++++++++++++++++++
packages/engine/src/scheduler.ts | 18 +++
.../src/unlinked-missions-advisory-reporter.ts | 117 ++++++++++++++
6 files changed, 317 insertions(+)
Fusion-Task-Id: FN-5960
Fusion-Task-Lineage: efdbb4f5-fbd5-4ed7-9b9e-58706041d993
Same pattern as agents-view fix — .chat-view had display:flex + height:100%
but no flex or width, so it shrank to content width (~270px) instead of
filling the .project-content parent.