gsxdsm
4fec139927
FN-6881: move stash recovery into Git Manager
...
Move stash recovery into the Git Manager while retiring the standalone dashboard route.
- Add a Recovery section to Git Manager that hosts the existing StashRecoveryView.
- Remove stash recovery from top-level, overflow, mobile, and lazy-loaded view registries.
- Preserve orphaned-stash counts on Git Manager entry points and migrate saved stash-recovery routes back to Board.
- Update dashboard docs, lazy-load inventory, tests, and add a published package changeset.
Files changed:
.changeset/fn-6881-stash-recovery-git-manager.md | 5 +++
AGENTS.md | 3 +-
docs/dashboard-guide.md | 9 ++--
packages/dashboard/app/App.tsx | 13 ------
.../app/__tests__/lazy-loaded-views-docs.test.ts | 11 ++---
.../dashboard/app/components/GitManagerModal.tsx | 19 +++++++-
packages/dashboard/app/components/Header.css | 9 ++++
packages/dashboard/app/components/Header.tsx | 22 +++-------
.../dashboard/app/components/LeftSidebarNav.tsx | 4 --
packages/dashboard/app/components/MobileNavBar.tsx | 16 +------
.../components/__tests__/GitManagerModal.test.tsx | 51 ++++++++++++++++++++++
.../app/components/__tests__/Header.test.tsx | 21 +++++++++
.../components/__tests__/LeftSidebarNav.test.tsx | 10 ++---
.../app/components/__tests__/MobileNavBar.test.tsx | 10 +++++
.../app/components/__tests__/RightDock.test.tsx | 4 +-
.../__tests__/overflowViewRegistry.test.tsx | 3 +-
.../app/components/overflowViewRegistry.tsx | 10 -----
packages/dashboard/app/hooks/__tests__/useViewState.test.ts | 28 ++++++++++++
packages/dashboard/app/hooks/useViewState.ts | 19 +++++++-
packages/dashboard/src/view-chunk-manifest.ts | 1 -
20 files changed, 184 insertions(+), 84 deletions(-)
Fusion-Task-Id: FN-6881
Fusion-Task-Lineage: 467d34ec-8a6a-46db-8eb8-cb0216c031da
2026-06-21 20:28:33 -07:00
gsxdsm
08d1f09107
FN-6796: preserve benign in-review pause aborts
...
Preserve completed in-review tasks when benign pause/resume aborts surface after executor handoff.
- Detect non-user hard-cancel pause aborts on clean completed in-review rows and clear the transient abort marker without moving the task.
- Let self-healing recover persisted safe in-review pause-abort parks in place while keeping hard-cancel, pause, autoMerge:false, terminal merge, and live-execution guards intact.
- Cover executor and self-healing recovery paths with regression tests, document the audit metadata, and add a patch changeset.
Files changed:
.../fn-6796-pause-resume-in-review-recovery.md | 5 ++
AGENTS.md | 1 +
docs/architecture.md | 2 +
.../engine/src/__tests__/executor-recovery.test.ts | 97 +++++++++++++++++++++-
.../active-worktree-removal-liveness.test.ts | 2 +-
.../self-healing-paused-abort-recovery.test.ts | 90 +++++++++++++++++++-
packages/engine/src/executor.ts | 35 ++++++++
packages/engine/src/self-healing.ts | 38 +++++++--
8 files changed, 257 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6796
Fusion-Task-Lineage: d2fe6c6d-c118-4f2f-b19e-58e6f1b29384
2026-06-20 15:11:22 -07:00
gsxdsm
61ff17a057
FN-6797: harden in-review dependency rebound audits
...
Harden in-review dependency drift reconciliation with explicit guarded no-action audit evidence.
- Emit no-action run-audit events when pause, auto-merge, live execution, checkout, or rebound mutation guards prevent an in-review dependency rebound.
- Preserve scheduler dependency satisfaction semantics so in-review dependencies remain non-blocking under merge-request shadow mode without accepted markers.
- Extend regression coverage and run-audit documentation for guarded in-review rebounds.
Files changed:
.changeset/fn-6797-in-review-dependency-drift.md | 5 +
AGENTS.md | 2 +-
docs/architecture.md | 4 +-
.../in-review-unmet-dependency-reconcile.test.ts | 18 ++-
packages/engine/src/__tests__/self-healing.test.ts | 79 +++++++++++--
packages/engine/src/self-healing.ts | 129 ++++++++++++++++-----
6 files changed, 190 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-6797
Fusion-Task-Lineage: f94c7875-619a-47be-88f5-320a4dda3b34
2026-06-20 10:21:26 -07:00
gsxdsm
d2fc70ac91
FN-6793: enforce dependency gates before review
...
Dependency gating now blocks executor and review recovery paths when dependencies remain unmet.
- Re-check unmet scheduling dependencies before workflow graph or authoritative executor dispatch and requeue blocked tasks with blockedBy.
- Rebound auto-merge-eligible in-review tasks with live unmet dependencies back to todo while preserving progress, worktree, and resume state.
- Add run-audit documentation, a patch changeset, and regression coverage for executor, scheduler, and self-healing behavior.
Files changed:
.changeset/fn-6793-dependency-gating.md | 7 +
AGENTS.md | 1 +
docs/architecture.md | 2 +
.../engine/src/__tests__/executor-core.test.ts | 68 +++++++++
.../in-review-unmet-dependency-reconcile.test.ts | 115 +++++++++++++++
packages/engine/src/__tests__/scheduler.test.ts | 36 +++++
packages/engine/src/__tests__/self-healing.test.ts | 159 +++++++++++++++++++++
packages/engine/src/executor.ts | 46 ++++++
packages/engine/src/self-healing.ts | 112 +++++++++++++++
9 files changed, 546 insertions(+)
Fusion-Task-Id: FN-6793
Fusion-Task-Lineage: b209264c-faae-41aa-a024-c33e0d8b61be
2026-06-20 08:13:33 -07:00
gsxdsm
c32c925321
FN-6783: recover orphaned task dirs into the task index
...
Reconcile on-disk task.json records that are missing from SQLite without resurrecting tombstoned IDs.
- Add TaskStore orphaned task directory scanning with metadata validation, FTS-safe insertion, cache updates, lifecycle events, and run-audit entries.
- Run the reconcile during store init and self-healing maintenance for tasks created after startup.
- Cover recovery, skip, and maintenance behavior with core and engine regression tests.
- Document task index reconciliation and add the published package changeset.
Files changed:
.changeset/fn-6783-orphaned-task-dir-reconcile.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 2 +
docs/storage.md | 8 +
.../store-orphaned-task-dir-reconcile.test.ts | 179 +++++++++++++++++++++
packages/core/src/store.ts | 170 ++++++++++++++++++-
.../self-healing-orphaned-task-dirs.test.ts | 40 +++++
packages/engine/src/self-healing.ts | 14 ++
8 files changed, 412 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6783
Fusion-Task-Lineage: 5c8d4690-5278-4c29-8f02-32d9f01d581d
2026-06-20 04:40:31 -07:00
gsxdsm
a326e8e684
FN-6717: move Nodes into Command Center
...
Move node management into the Command Center experience while removing the separate Nodes overlay entry points.
- Add a gated Nodes tab to Command Center and pass toast wiring through from App.
- Remove top-level header and mobile-nav Nodes overlay controls and overlay-only styling.
- Let NodesView render without a close button when embedded as a tab.
- Update navigation, lazy-load docs, mobile access, and Command Center tests for the new surface.
Files changed:
AGENTS.md | 3 +-
packages/dashboard/app/App.tsx | 57 ++-------------
.../app/__tests__/lazy-loaded-views-docs.test.ts | 11 +--
.../mobile-feature-access-regression.test.tsx | 12 ++--
packages/dashboard/app/components/Header.tsx | 33 +--------
packages/dashboard/app/components/MobileNavBar.tsx | 16 -----
packages/dashboard/app/components/NodesView.css | 37 ----------
packages/dashboard/app/components/NodesView.tsx | 22 +++---
.../app/components/__tests__/Header.test.tsx | 22 ++----
.../app/components/__tests__/MobileNavBar.test.tsx | 22 +-----
.../app/components/__tests__/NodesView.test.tsx | 81 +++-------------------
...-merge-toggle-blank.mobile-integration.test.tsx | 1 -
.../components/command-center/CommandCenter.tsx | 17 ++++-
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +-
.../__tests__/CommandCenter.tablet-layout.test.tsx | 2 +-
.../__tests__/CommandCenter.test.tsx | 40 ++++++++++-
packages/dashboard/app/styles.css | 2 +-
packages/i18n/locales/en/app.json | 1 +
18 files changed, 106 insertions(+), 275 deletions(-)
Fusion-Task-Id: FN-6717
Fusion-Task-Lineage: 89306335-c247-4c66-8937-adfdf8c3cbb8
2026-06-19 23:16:19 -07:00
gsxdsm
df139ec84c
FN-6736: reclaim phantom executor bindings
...
Recover wedged in-progress tasks by clearing stale executor bindings only after liveness proves the owner is gone.
- Add a guarded executor escape hatch that clears only stale in-memory task bookkeeping while refusing live session surfaces.
- Teach self-healing to identify phantom executor-active bindings using age, checkout, heartbeat, run-audit, and worktree liveness signals before requeueing preserved work.
- Record reclaim events in run audit and cover preserved-worktree recovery with reliability interaction tests.
- Document the recovery path and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6736-phantom-executor-binding.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 1 +
.../reclaim-phantom-executor-binding.test.ts | 244 +++++++++++++++++++++
packages/engine/src/executor.ts | 35 +++
packages/engine/src/run-audit.ts | 2 +
packages/engine/src/runtimes/in-process-runtime.ts | 3 +-
packages/engine/src/self-healing.ts | 112 ++++++++++
8 files changed, 402 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6736
Fusion-Task-Lineage: c76191ba-f4c3-4832-a790-67676e258ba2
2026-06-19 16:47:33 -07:00
gsxdsm
c9eff71de9
FN-6702: move Reliability into Command Center
...
Move Reliability from standalone dashboard navigation into Command Center while preserving legacy entry points.
- Remove the top-level Reliability view from desktop and mobile navigation.
- Add Reliability as a Command Center subtab backed by the existing ReliabilityView.
- Migrate persisted and linked legacy reliability view values to Command Center.
- Update docs and regression coverage for the new navigation surface.
Files changed:
AGENTS.md | 3 +-
docs/dashboard-guide.md | 9 ++--
packages/dashboard/app/App.tsx | 12 -----
.../app/__tests__/lazy-loaded-views-docs.test.ts | 11 +++--
.../mobile-feature-access-regression.test.tsx | 17 ++-----
packages/dashboard/app/components/Header.tsx | 14 +-----
packages/dashboard/app/components/MobileNavBar.tsx | 11 -----
.../components/command-center/CommandCenter.tsx | 8 ++++
.../__tests__/CommandCenter.test.tsx | 54 +++++++++++++++++++++-
.../app/hooks/__tests__/useViewState.test.ts | 44 ++++++++++++++++++
packages/dashboard/app/hooks/useViewState.ts | 23 +++++++--
packages/i18n/locales/en/app.json | 1 +
12 files changed, 141 insertions(+), 66 deletions(-)
Fusion-Task-Id: FN-6702
Fusion-Task-Lineage: 2d1ca07c-9619-438d-b09e-73fe124a5ffb
2026-06-19 05:50:13 -07:00
gsxdsm
fbd9ad2f3b
FN-6617: add weekly test velocity baseline
...
Adds a report-only weekly baseline for test feedback-loop velocity.
- Add a test:velocity script that measures gate, boot smoke, and changed-only test durations and regenerates a #leads-ready report.
- Track committed baseline history, slowest-file summaries, and quarantine deletion-clock counts.
- Document the weekly refresh workflow in testing guidance and agent instructions.
Files changed:
AGENTS.md | 4 +-
docs/test-velocity-baseline.md | 92 ++++++
docs/testing.md | 18 ++
package.json | 1 +
scripts/__tests__/test-velocity-baseline.test.mjs | 121 ++++++++
scripts/test-velocity-baseline.mjs | 339 ++++++++++++++++++++++
scripts/test-velocity-history.json | 231 +++++++++++++++
7 files changed, 805 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6617
Fusion-Task-Lineage: 50a07298-74ec-4481-b288-4fadb7d3d29b
2026-06-17 20:09:05 -07:00
gsxdsm
8037ef15a3
Merge main into feature/factory-view: reconcile lazy-view inventory to 23
...
Resolves conflicts in the lazy-loaded heavy-views inventory. main independently
grew the curated list to 22 (adding AppModals lazy modals); this branch added the
Command Center view. Combined count is 23 — updated the AGENTS.md prose/inventory
and the lazy-loaded-views-docs test contract (count + length assertions) to 23,
keeping main's richer "App-level and AppModals" wording.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 11:46:31 -07:00
gsxdsm
7852c34a9f
FN-6493: update lazy view inventory guard
...
Keep the lazy-loaded dashboard inventory aligned with AppModals imports.\n\n- Document SettingsModal and WorkflowNodeEditor alongside other lazy-loaded dashboard views.\n- Update the dashboard guide inventory count and modal lazy-load note.\n- Extend the docs guard test to scan AppModals lazy imports and assert the 22-view inventory.\n\nFiles changed:\n AGENTS.md | 6 ++--\n docs/dashboard-guide.md | 5 ++-\n .../app/__tests__/lazy-loaded-views-docs.test.ts | 40 +++++++++++++++++++---\n 3 files changed, 43 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6493
Fusion-Task-Lineage: d2b4de05-fb3c-4965-921e-4f8551e3e96a
2026-06-16 18:22:28 -07:00
gsxdsm
90cfbfb4fc
feat(dashboard): U4 — Command Center view shell, nav, and chart primitives
...
New command-center built-in view (lazy-loaded, ARIA-tabbed) with hand-rolled
CSS-bar chart primitives (Bar/StackedBar/Sparkline/Funnel), DateRangePicker,
and Overview tab. Animations use --duration-* tokens (IACVT-safe).
2026-06-15 19:23:17 -07:00
gsxdsm
e89a9aa5a7
Update Agents
2026-06-13 16:30:29 -07:00
gsxdsm
00282fbf20
FN-6357: document external integration evidence format
...
Document the labeled provenance evidence layout expected by spec validation.
- Add an AGENTS.md example for required external integration evidence fields.
- Expand contributing guidance with accepted labels, URL expectations, and checksum rules.
- Add a regression test that keeps the documented example aligned with the evidence gate.
Files changed:
AGENTS.md | 14 ++++++++
docs/contributing.md | 28 ++++++++++++++++
.../src/__tests__/docs-evidence-example.test.ts | 37 ++++++++++++++++++++++
3 files changed, 79 insertions(+)
Fusion-Task-Id: FN-6357
Fusion-Task-Lineage: 788260ed-d5cf-4592-b117-40af5c45e0a1
2026-06-13 09:18:58 -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
283adce4d0
FN-6295: move AI merge clean rooms into worktrees
...
Move AI-merge clean-room worktrees into the configured worktrees directory while preserving legacy cleanup.
- Resolve AI-merge roots through the configured worktrees directory using a hidden .ai-merge container.
- Keep local git excludes and stale cleanup compatible with legacy .fusion/ai-merge and tmpdir locations.
- Exclude the .ai-merge container from worktree pool and self-healing one-level sweeps.
- Add regression coverage for path resolution, cleanup, orphan reap, and cap enforcement behavior.
- Update architecture and agent guidance for the relocated clean-room root.
Files changed:
AGENTS.md | 2 +-
docs/architecture.md | 4 +-
.../engine/src/__tests__/merger-ai-cleanup.test.ts | 50 +++++++++----
.../__tests__/self-healing-tempdir-sweep.test.ts | 87 +++++++++++++++++++---
.../engine/src/__tests__/worktree-paths.test.ts | 24 ++++++
.../engine/src/__tests__/worktree-pool.test.ts | 55 ++++++++++++++
packages/engine/src/merger-ai.ts | 27 +++++--
packages/engine/src/self-healing.ts | 25 +++----
packages/engine/src/worktree-paths.ts | 17 +++++
packages/engine/src/worktree-pool.ts | 10 +--
10 files changed, 247 insertions(+), 54 deletions(-)
Fusion-Task-Id: FN-6295
Fusion-Task-Lineage: d95d32c2-3253-4964-b68a-252b4cb65109
2026-06-12 12:49:34 -07:00
gsxdsm
36ba1b9d68
FN-6292: prevent dependency-blocking file leases
...
Prevent dependency waiters from holding file-scope leases that can block their own dependencies.
- Exclude in-progress tasks with unmet scheduling dependencies from active overlap lease maps.
- Add self-healing recovery for existing dependency/lease circular waits with triple-proof auditing.
- Cover scheduler and self-healing behavior with regression tests and document the new audit events.
Files changed:
AGENTS.md | 1 +
docs/architecture.md | 5 +-
packages/engine/src/__tests__/scheduler.test.ts | 108 +++++++++++++
packages/engine/src/__tests__/self-healing.test.ts | 172 ++++++++++++++++++++-
packages/engine/src/scheduler.ts | 67 +++++---
packages/engine/src/self-healing.ts | 132 ++++++++++++++++
6 files changed, 462 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6292
Fusion-Task-Lineage: 7c0e852d-bdb1-4775-a6b7-2b60b7583da1
2026-06-12 10:49:02 -07:00
gsxdsm
2085610e9e
FN-6246: move AI merge clean rooms into repo storage
...
Move AI merge clean-room worktrees into a repo-local ignored root while preserving legacy temp cleanup.
- Add repo-local `.fusion/ai-merge` resolution and ignore handling for AI merge worktrees.
- Sweep both repo-local clean rooms and legacy tempdir worktrees with active-session and age safeguards.
- Prune stale git worktree metadata after cleanup and classify missing clean-room errors as transient.
- Update cleanup tests, architecture docs, and changeset coverage for the relocation.
Files changed:
.changeset/fn-6246-ai-merge-cleanroom-relocation.md | 5 +
AGENTS.md | 2 +-
docs/architecture.md | 6 +-
.../merger-ai-cleanup-active-session.test.ts | 22 ++-
.../engine/src/__tests__/merger-ai-cleanup.test.ts | 48 +++++-
.../ai-merge-worktree-cleanup.test.ts | 26 ++-
.../__tests__/self-healing-tempdir-sweep.test.ts | 34 ++++
.../transient-merge-error-classifier.test.ts | 2 +
packages/engine/src/merger-ai.ts | 144 ++++++++++-------
packages/engine/src/self-healing.ts | 180 ++++++++++++---------
.../engine/src/transient-merge-error-classifier.ts | 14 +-
11 files changed, 325 insertions(+), 158 deletions(-)
Fusion-Task-Id: FN-6246
Fusion-Task-Lineage: f6fe8ef2-aa7b-4cc3-903f-b7a5cc165487
2026-06-12 06:49:29 -07:00
gsxdsm
b9ec794f47
bd init: initialize beads issue tracking
2026-06-11 23:39:12 -07:00
gsxdsm
245e1280ed
Fix agents
2026-06-11 12:22:02 -07:00
gsxdsm
1f366c8de1
FN-6229: enforce symptom verification in triage and review
...
Require bug-class specs and reviews to prove original symptoms are reproduced and fixed.
- Add Symptom Verification guidance to triage prompt templates and self-review rules.
- Teach reviewer prompts to REVISE missing symptom verification or green-build-only acceptance.
- Document symptom-based acceptance alongside Surface Enumeration and cover the prompt contracts with tests.
Files changed:
AGENTS.md | 1 +
docs/testing.md | 12 +++++++++++
packages/engine/src/__tests__/reviewer.test.ts | 29 +++++++++++++++++++++++++-
packages/engine/src/__tests__/triage.test.ts | 23 +++++++++++++++++---
packages/engine/src/reviewer.ts | 2 ++
packages/engine/src/triage.ts | 20 ++++++++++++++++++
6 files changed, 83 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6229
Fusion-Task-Lineage: 01ad963f-c62b-410f-8571-57bc68307288
2026-06-11 09:21:23 -07:00
gsxdsm
733489b010
Agent
2026-06-09 15:59:00 -07:00
gsxdsm
b5d19bd480
FN-6134: extend surface-enumeration gates to UI affordance changes
...
Apply the surface-enumeration review gate to UI affordance add/remove work across triage, review, tests, and docs.
- require triage prompts to add Surface Enumeration guidance for UI affordance add/remove tasks in standard and fast modes
- tighten reviewer guidance to block single-surface UI affordance coverage and leftover shell cleanup gaps
- expand engine prompt tests to cover the new UI affordance gate wording
- document the shared checklist and motivating incidents in AGENTS.md and docs/testing.md
Files changed:
AGENTS.md | 3 +++
docs/testing.md | 6 +++++-
packages/engine/src/__tests__/reviewer.test.ts | 26 ++++++++++++++++++++++++--
packages/engine/src/__tests__/triage.test.ts | 19 ++++++++++++++++++-
packages/engine/src/reviewer.ts | 5 +++--
packages/engine/src/triage.ts | 24 ++++++++++++++----------
6 files changed, 67 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6134
Fusion-Task-Lineage: 0bc733eb-d160-48cc-817d-69138290faec
2026-06-09 15:12:26 -07:00
gsxdsm
8bc3d7b0a5
FN-6042: raise dependency security floors
...
Harden dependency floors and update the Vitest toolchain to patched releases.
- upgrade workspace vitest and @vitest/coverage-v8 dependencies to the 4.1 line across packages and plugins
- pin transitive protobufjs via pnpm overrides and lockfile updates to patched versions
- adapt Vitest configs, engine test helpers, and security-floor coverage for the new dependency baselines
- add the published CLI changeset and related workspace/package metadata updates included in the task branch
Files changed:
.changeset/fn-6042-security-dependencies.md | 5 +
AGENTS.md | 4 +
Dockerfile | 3 +
docs/PLUGIN_AUTHORING.md | 2 -
package.json | 3 +-
packages/cli/package.json | 4 +-
packages/cli/vitest.config.ts | 2 +-
packages/core/package.json | 4 +-
packages/core/vitest.config.ts | 2 +-
packages/dashboard/app/test/mockApi.ts | 4 +-
packages/dashboard/package.json | 4 +-
packages/dashboard/vitest.config.ts | 2 +-
packages/desktop/package.json | 4 +-
packages/desktop/vitest.config.ts | 2 +-
packages/droid-cli/package.json | 2 +-
packages/droid-cli/vitest.config.ts | 2 +-
packages/engine/package.json | 4 +-
.../engine/src/__tests__/executor-test-helpers.ts | 29 +-
.../engine/src/__tests__/gridlock-detector.test.ts | 5 +-
.../src/__tests__/heartbeat-scheduler.test.ts | 3 +-
packages/engine/src/__tests__/scheduler.test.ts | 24 +-
packages/engine/src/__tests__/self-healing.test.ts | 5 +
packages/engine/tsconfig.json | 3 +-
packages/engine/vitest.config.ts | 10 +-
packages/i18n/package.json | 2 +-
packages/i18n/vitest.config.ts | 7 +
packages/mobile/package.json | 2 +-
packages/mobile/vitest.config.ts | 2 +-
packages/pi-claude-cli/package.json | 2 +-
packages/pi-claude-cli/vitest.config.ts | 2 +-
packages/pi-llama-cpp/package.json | 2 +-
packages/pi-llama-cpp/vitest.config.ts | 2 +-
packages/plugin-sdk/package.json | 2 +-
packages/plugin-sdk/vitest.config.ts | 2 +-
.../examples/fusion-plugin-auto-label/package.json | 2 +-
.../fusion-plugin-auto-label/vitest.config.ts | 2 +-
.../examples/fusion-plugin-ci-status/package.json | 2 +-
.../fusion-plugin-ci-status/vitest.config.ts | 2 +-
.../fusion-plugin-notification/package.json | 2 +-
.../fusion-plugin-notification/vitest.config.ts | 2 +-
.../fusion-plugin-settings-demo/package.json | 2 +-
.../fusion-plugin-settings-demo/vitest.config.ts | 2 +-
plugins/fusion-plugin-acp-runtime/package.json | 2 +-
plugins/fusion-plugin-acp-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-agent-browser/package.json | 2 +-
.../fusion-plugin-agent-browser/vitest.config.ts | 2 +-
.../fusion-plugin-cli-printing-press/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../package.json | 2 +-
.../src/__tests__/orchestrator-live-output.test.ts | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-cursor-runtime/package.json | 4 +-
.../fusion-plugin-dependency-graph/package.json | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-droid-runtime/package.json | 2 +-
.../fusion-plugin-droid-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-even-cards/package.json | 2 +-
plugins/fusion-plugin-even-cards/vitest.config.ts | 2 +-
.../package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-hermes-runtime/package.json | 2 +-
.../fusion-plugin-hermes-runtime/vitest.config.ts | 2 +-
.../fusion-plugin-openclaw-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../fusion-plugin-paperclip-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-reports/package.json | 2 +-
.../src/__tests__/review-panel.test.ts | 6 +-
plugins/fusion-plugin-reports/vitest.config.ts | 2 +-
plugins/fusion-plugin-roadmap/package.json | 2 +-
plugins/fusion-plugin-roadmap/vitest.config.ts | 2 +-
plugins/fusion-plugin-whatsapp-chat/package.json | 2 +-
.../fusion-plugin-whatsapp-chat/vitest.config.ts | 2 +-
pnpm-lock.yaml | 626 ++++++++-------------
.../__tests__/dependency-security-floor.test.mjs | 95 ++++
75 files changed, 475 insertions(+), 491 deletions(-)
Fusion-Task-Id: FN-6042
Fusion-Task-Lineage: fff6a1cb-8937-435c-9a91-b7c7a59cc80e
2026-06-08 15:19:27 -07:00
gsxdsm
1922b5efc2
merge: main (workflow editor 109 / cli_sessions 110-111 / workflow_settings 112) — renumber PR-entity migration to 113, union core exports, TaskCard prNode + cliSessionState badges, executor PrNodeDeps + CliAgentRuntime options
2026-06-05 23:06:46 -07:00
gsxdsm
8a6a67a305
feat(pr): dashboard PR view, routes, node-state UI + user controls (U7)
...
Adds /api/pull-requests routes (list, detail, merge/approve/retry/close/
automerge — all re-fetch authoritative state before acting), a
PullRequestView rendering every entity state distinctly (creating/failed/
unverified/responding/await-review/conflict) with the action bar, live
auto-merge gate reason, and conflict CTA; TaskCard PR node-state badge +
link; and the R16 column-move-backward guard. User actions route through
the existing releaseHeldTaskByEvent primitives. Maps the new PR node kinds
in the workflow editor's kind resolver. 13 route tests + lazy-view guard
green; component test runs in CI.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 22:18:34 -07:00
gsxdsm
e2ddcdc7c1
docs(test): codify merge gate + flaky-test deletion ratchet policy
...
- AGENTS.md: gate/non-blocking split replaces 'tests are required' framing;
new standing rule: flaky tests quarantined on sight, deleted in 2 weeks
unless rescued with root-cause fix; agent appeasement ban; gate eviction rule;
product-race escalation note
- docs/testing.md: merge-gate section with honest blind-spot statement,
quarantine ledger mechanics, updated workflow references
2026-06-05 09:10:19 -07:00
gsxdsm
f48602500f
merge main: i18n branch + auto-merge override/log-retention work; union CONCEPTS.md vocabularies and docs/solutions reference line
2026-06-03 13:32:26 -07:00
gsxdsm
3a62b6820f
update agents
2026-06-03 13:20:17 -07:00
gsxdsm
75213bbb08
fix(i18n): address PR review feedback
...
- config: explicit Hans script wins over HK/MO region (zh-Hans-HK -> zh-CN),
with regression tests for script-vs-region precedence
- dashboard i18n: detection.caches [] so the detector's init-time auto-persist
can't masquerade as a user choice and suppress server-settings hydration
- LanguageSelector: role=group (radiogroup conflicted with aria-pressed)
- bin: validate --lang against SUPPORTED_LOCALES (fail loudly, not silent
fallback); help text clarifies the flag is terminal-UI-only
- cli i18n test: assert a real fr catalog lookup (defaultValue could mask a
catalog that never loaded); comment the async changeLanguage re-init seam
- assert-locale-chunks: only dirs containing common.json count as locales
- plan doc: merge duplicate Ink 6.8->7.0 risk bullets
- AGENTS.md/solution doc: frontmatter field list + normalizer excerpt synced
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 12:29:02 -07:00
gsxdsm
ff1bb20b8f
docs: capture per-task auto-merge override learning and seed CONCEPTS.md
...
Document the trigger-layer gating bug fixed in this PR under
docs/solutions/logic-errors/, seed CONCEPTS.md with the merge-lifecycle
vocabulary, and surface both knowledge stores in AGENTS.md's reference
docs index.
2026-06-03 10:55:26 -07:00
gsxdsm
0c3960373f
docs(i18n): capture i18n architecture learning + settings-reference language entry
...
- docs/solutions/architecture-patterns/: knowledge doc covering the Vite
code-split catalog constraint, zh-CN/zh-TW routing, three-tier language
persistence, CLI inline-resources init, and the CI failure modes hit
- CONCEPTS.md: seed shared domain vocabulary (Surface, Global Settings,
Three-Tier Setting, Supported Locale)
- AGENTS.md: surface docs/solutions/ and CONCEPTS.md in Reference docs
- docs/settings-reference.md: add the missing GlobalSettings.language row
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 10:22:30 -07:00
gsxdsm
d72cb2ab2b
FN-5911: move agent logs to per-task JSONL storage
...
Store agent logs in per-task JSONL files instead of the legacy SQLite table.
- add a file-backed agent log store with JSONL append/read/prune helpers and task-scoped source refs
- migrate legacy SQLite agentLogEntries data into task files, rewrite goal citation references, and preserve soft-deleted logs for forensics
- update task store, settings, docs, dashboard route coverage, and add regression tests for migration, retention, and log access
Files changed:
.changeset/fn-5911-agent-log-jsonl.md | 5 +
AGENTS.md | 2 +-
docs/diagnostics.md | 2 +-
docs/settings-reference.md | 2 +
docs/soft-delete-verification-matrix.md | 7 +-
docs/storage.md | 8 +-
.../src/__tests__/agent-log-file-store.test.ts | 123 ++++++
.../core/src/__tests__/agent-log-migration.test.ts | 186 +++++++++
.../core/src/__tests__/agent-log-retention.test.ts | 208 ++++++++++
packages/core/src/__tests__/db-migrate.test.ts | 14 +-
packages/core/src/__tests__/db.test.ts | 39 +-
.../src/__tests__/goal-citations-store.test.ts | 38 +-
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
.../src/__tests__/merge-request-record.test.ts | 2 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
packages/core/src/__tests__/secrets-schema.test.ts | 6 +-
.../src/__tests__/soft-delete-agent-logs.test.ts | 71 ++--
.../src/__tests__/store-agent-log-file.test.ts | 91 +++++
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/store-test-helpers.ts | 43 +-
packages/core/src/__tests__/store-upsert.test.ts | 37 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/agent-log-constants.ts | 25 ++
packages/core/src/agent-log-file-store.ts | 267 ++++++++++++
packages/core/src/db.ts | 51 ++-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/store.ts | 453 ++++++++++++---------
packages/core/src/types.ts | 10 +-
.../__tests__/agent-log-routes.integration.test.ts | 48 +++
.../src/__tests__/evaluator-evidence.test.ts | 47 ++-
packages/engine/src/self-healing.ts | 12 +
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
34 files changed, 1477 insertions(+), 345 deletions(-)
Fusion-Task-Id: FN-5911
Fusion-Task-Lineage: 07c42f3a-87cf-4558-8f01-ac8460b5558b
2026-06-03 01:10:18 -07:00
gsxdsm
de7847c44d
FN-5927: categorize pnpm build scripts for install
...
Document and enforce pnpm build-script review decisions to prevent ignored-script install warnings.
- add reviewed ignoredBuiltDependencies entries to the root pnpm config and mirror the effective policy in pnpm-workspace.yaml
- add a regression test that verifies reviewed dependencies are categorized exactly once and stay aligned across both config files
- document the pnpm build-script approval policy in contributing docs and link plugin authoring guidance from AGENTS.md and PLUGIN_AUTHORING.md
Files changed:
AGENTS.md | 5 ++
docs/PLUGIN_AUTHORING.md | 3 +-
docs/contributing.md | 14 ++++
package.json | 9 +++
pnpm-workspace.yaml | 14 ++++
scripts/__tests__/pnpm-build-scripts-config.test.mjs | 74 ++++++++++++++++++++++
6 files changed, 118 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5927
Fusion-Task-Lineage: 192bbed9-c5ed-45cb-b4bd-fb18514e2783
2026-06-03 00:28:41 -07:00
gsxdsm
ee00d9f1b7
FN-5928: enforce surface enumeration for bug-fix invariants
...
Require bug-fix specs and reviews to enumerate affected surfaces and reject repro-only regression coverage.
- add a required `## Surface Enumeration` section to triage prompt templates and bug-fix planning guidance
- tighten reviewer guidance to block missing surface enumeration and repro-only regression tests
- document the canonical surface checklist in `docs/testing.md` and cover the new wording with prompt/reviewer tests
Files changed:
AGENTS.md | 6 ++--
docs/testing.md | 9 +++++
packages/core/src/__tests__/agent-prompts.test.ts | 22 ++++++++++++
packages/core/src/agent-prompts.ts | 16 +++++++++
packages/engine/src/__tests__/reviewer.test.ts | 17 ++++++++++
packages/engine/src/__tests__/triage.test.ts | 41 ++++++++++++++++++++---
packages/engine/src/reviewer.ts | 3 ++
packages/engine/src/triage.ts | 24 +++++++++++++
8 files changed, 131 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5928
Fusion-Task-Lineage: 717ddcbe-f3a6-4589-ad90-4e640f7a9ff2
2026-06-02 21:57:21 -07:00
gsxdsm
9a58c8efac
Clean up agents
2026-06-02 20:14:24 -07:00
gsxdsm
cc18206bc5
FN-5902: make mission validation AI-run all criteria
...
Route every mission feature through validator-backed completion checks.
- lazily restore a managed feature assertion before validation instead of auto-passing zero-assertion features
- thread milestone acceptance criteria into validator prompts and system instructions as enforced requirements
- update MissionManager copy/tests to present criteria as AI-validated runtime gates and remove informational-only/zero-assertion warnings
- document the all-criteria AI-run contract and add a changeset for @runfusion/fusion
Files changed:
.changeset/fn-5902-mission-validation-ai-run.md | 5 +
AGENTS.md | 2 +-
docs/architecture.md | 2 +-
docs/missions-completion-contract.md | 198 ++++++---------------
docs/missions.md | 5 +-
packages/core/src/__tests__/mission-store.test.ts | 23 ++-
packages/core/src/mission-store.ts | 10 ++
packages/dashboard/app/components/MissionManager.css | 31 ----
packages/dashboard/app/components/MissionManager.tsx | 86 +++------
packages/dashboard/app/components/__tests__/MissionManager.test.tsx | 60 +++++--
packages/engine/src/__tests__/mission-execution-loop.test.ts | 111 +++++++++---
packages/engine/src/__tests__/reliability-interactions/mission-validation-trigger-gap.test.ts | 57 +++---
packages/engine/src/mission-execution-loop.ts | 78 ++++----
13 files changed, 318 insertions(+), 350 deletions(-)
Fusion-Task-Id: FN-5902
Fusion-Task-Lineage: 5f25caad-33c9-42ff-822b-1ea092afc29f
2026-06-02 18:11:26 -07:00
gsxdsm
3b9ff42073
FN-5901: reap stale mission validator runs
...
Add self-healing recovery for stale mission validator runs left behind after execution ownership disappears.
- add mission-store support to find and reap stale running validator runs, preserving terminal error status and resetting eligible features to needs_fix
- teach the mission execution loop and self-healing maintenance sweep to skip live validations, reap abandoned runs, record audit events, and avoid double-completing runs
- extend regression coverage, mission docs, architecture notes, and add a published-package changeset for the new recovery behavior
Files changed:
.changeset/fn-5901-validator-run-reaper.md | 7 +
AGENTS.md | 1 +
docs/architecture.md | 2 +
docs/missions.md | 26 ++-
packages/core/src/__tests__/mission-store.test.ts | 99 +++++++++
packages/core/src/mission-store.ts | 91 ++++++++
packages/engine/src/__tests__/mission-execution-loop.test.ts | 232 +++++++++++++++++++++
packages/engine/src/__tests__/reliability-interactions/mission-validator-run-reaper.test.ts | 181 ++++++++++++++++
packages/engine/src/mission-execution-loop.ts | 102 +++++++--
packages/engine/src/runtimes/in-process-runtime.ts | 8 +-
packages/engine/src/self-healing.ts | 22 ++
11 files changed, 746 insertions(+), 25 deletions(-)
Fusion-Task-Id: FN-5901
Fusion-Task-Lineage: 87eb2f3f-fc31-4e0a-b0fc-b771f6dc48a3
2026-06-02 15:33:31 -07:00
gsxdsm
65ddb4d4f5
FN-5893: require invariant-level bug regression coverage
...
Add invariant-first regression guidance to triage prompts and testing docs.
- add an AGENTS standing rule to cover bug-fix invariants across all known surfaces
- update standard, fast, and core triage prompt templates to require invariant-level regression tests
- add triage regression tests that lock the new wording into standard, fast, and core prompts
- link docs/testing guidance back to the new invariant-over-repro rule
Files changed:
AGENTS.md | 7 ++++++
docs/testing.md | 1 +
packages/core/src/agent-prompts.ts | 3 ++-
packages/engine/src/__tests__/triage.test.ts | 32 ++++++++++++++++++++++++++++
packages/engine/src/triage.ts | 6 ++++--
5 files changed, 46 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5893
Fusion-Task-Lineage: 31c082c6-2a0a-4619-a13b-94dad97eef62
2026-06-02 14:02:36 -07:00
gsxdsm
a6989ed7f4
FN-5891: respect validator model settings in mission validation
...
Use the configured validator lane when creating mission validation sessions.
- resolve mission validation session models from test mode, assigned agent runtime, and validator/default task settings in precedence order
- surface validation session creation failures as mission validation errors instead of triggering fix-feature retries
- add regression coverage and documentation for mission validation model resolution and error handling
Files changed:
AGENTS.md | 1 +
docs/missions.md | 4 +-
docs/settings-reference.md | 6 +-
.../src/__tests__/mission-execution-loop.test.ts | 252 ++++++++++++++++++++-
packages/engine/src/mission-execution-loop.ts | 63 +++++-
5 files changed, 316 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-5891
Fusion-Task-Lineage: 6254daee-fb6b-4ebb-9fb4-3636237404b1
2026-06-02 12:38:09 -07:00
gsxdsm
8156382d76
FN-5889: suppress post-done continuation wedges
...
Keep completed post-done continuation errors from wedging review tasks in a failed state.
- route step-session non-continuable continuation errors through the executor recovery path before marking tasks failed
- add self-healing recovery and run-audit events for in-review tasks already wedged by post-done non-continuable errors
- extend reliability coverage and architecture/backstop docs for the new post-done wedge handling
Files changed:
AGENTS.md | 1 +
docs/architecture.md | 3 +-
packages/engine/src/__tests__/reliability-interactions/post-done-continuation-no-wedge.test.ts | 131 ++++++++++++++++++++-
packages/engine/src/executor.ts | 11 +-
packages/engine/src/run-audit.ts | 2 +
packages/engine/src/self-healing.ts | 97 ++++++++++++++-
6 files changed, 236 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-5889
Fusion-Task-Lineage: c22716f2-cddb-4c98-ac87-0282017e7c82
2026-06-02 11:03:18 -07:00
gsxdsm
742a564491
FN-5888: retry non-continuable sessions with a fresh session
...
Retry incomplete executor work with a fresh session after non-continuable session errors.
- add executor recovery handling that clears session state and requeues incomplete tasks to todo while retry budget remains
- preserve terminal failure behavior once the fresh-session retry budget is exhausted
- extend reliability coverage and AGENTS.md backstop notes for the new retry path
Files changed:
AGENTS.md | 1 +
.../post-done-continuation-no-wedge.test.ts | 48 +++++++++++++++++++++-
packages/engine/src/executor.ts | 40 ++++++++++++++++++
3 files changed, 87 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-5888
Fusion-Task-Lineage: 4ebce260-8923-4599-aced-541533b94543
2026-06-02 10:14:20 -07:00
gsxdsm
0006408181
FN-5874: persist fast-forward merge details
...
Persist merge metadata for AI fast-forward landings and done-task recovery.
- capture landed files and shortstat metadata from the single landed commit in the AI merge finalizer
- persist mergeDetails and modifiedFiles for landed squash commits, and record commit associations without setting no-op attribution flags
- extend done-task self-healing to backfill merge metadata when baseCommitSha exists but mergeDetails is empty
- add reliability and self-healing coverage for landed-file persistence, empty AI merges, and recovery behavior
Files changed:
AGENTS.md | 1 +
.../ai-merge-ff-landed-files.test.ts | 150 +++++++++++++++++++++
packages/engine/src/__tests__/self-healing.test.ts | 76 +++++++++++
packages/engine/src/merger-ai.ts | 40 +++++-
packages/engine/src/merger.ts | 30 ++++-
packages/engine/src/self-healing.ts | 11 +-
6 files changed, 303 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-5874
Fusion-Task-Lineage: a407910c-9ce8-4049-86ef-e80f045c981a
2026-06-02 08:35:47 -07:00
gsxdsm
f4cbaed494
FN-5866: suppress post-done non-continuable session errors
...
Keep completed executor work in review when session continuation is no longer possible.
- detect non-continuable session errors separately from unsupported message role failures
- suppress post-done continuation errors once task work is already complete and clear any failed state before review handoff
- add regression coverage for completed vs incomplete continuation failures and document the FN-5866 backstop
Files changed:
AGENTS.md | 1 +
.../post-done-continuation-no-wedge.test.ts | 169 +++++++++++++++++++++
.../src/__tests__/transient-error-detector.test.ts | 27 ++++
packages/engine/src/executor.ts | 41 ++++-
packages/engine/src/transient-error-detector.ts | 8 +
5 files changed, 245 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5866
Fusion-Task-Lineage: b5cffce4-7c14-40f6-b12e-84b9acdf7f50
2026-06-02 01:48:26 -07:00
gsxdsm
1d3978e20a
FN-5820: add shared-branch-group lifecycle regression coverage
...
Add end-to-end reliability coverage for shared branch group promotion flow.
- add a new reliability interaction test covering concurrent member execution through completion gate and single shared-branch promotion/PR behavior
- document FN-5820 backstop coverage in AGENTS.md for future reliability reference
Files changed:
AGENTS.md | 1 +
packages/engine/src/__tests__/reliability-interactions/shared-branch-group-lifecycle.test.ts | 359 +++++++++++++++++++++
2 files changed, 360 insertions(+)
Fusion-Task-Id: FN-5820
Fusion-Task-Lineage: 4c7bbc6f-6bf9-4698-bcb9-43d7c98d5bd7
2026-06-01 07:43:25 -07:00
gsxdsm
3373c0beed
FN-5830: re-land shared branch promotion gate and API
...
Reintroduce shared-branch-group completion gating and promotion endpoints with reliability coverage.
- add GroupMergeCoordinator promotion gate behavior and shared branch group promotion logic updates
- expose promotion flow wiring through engine index and project engine APIs
- expand coordinator tests and add reliability interaction coverage for branch-group promotion
- document the new reliability backstop and add a changeset for @runfusion/fusion
Files changed:
.changeset/fn-5830-branch-group-promotion.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 3 +-
.../src/__tests__/group-merge-coordinator.test.ts | 170 ++++++++++++++++++-
.../branch-group-promotion.test.ts | 166 +++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 183 ++++++++++++++++++++-
packages/engine/src/index.ts | 4 +
packages/engine/src/project-engine.ts | 37 +++++
8 files changed, 566 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5830
Fusion-Task-Lineage: e9823f51-df0e-4da8-8f51-58dfefdc293d
2026-06-01 05:39:01 -07:00
gsxdsm
35ce9bd244
FN-5819: allow shared-group members to merge into group branch with auto-merge off
...
Allow shared branch-group members to continue member→group integration even when project auto-merge is disabled.
- add core helper to detect shared branch-group member integrations and export it
- update engine in-review enqueue/handoff/startup flows to permit shared-member integration while still honoring global/engine pause gates
- keep self-healing from pulling shared-member in-review tasks backward during auto-merge-off maintenance
- expand project-engine and reliability-interaction tests for shared-member autoMerge-off behavior and add FN-5819 backstop docs updates
Files changed:
AGENTS.md | 2 +
docs/architecture.md | 3 +-
packages/core/src/__tests__/task-merge.test.ts | 37 +++++++++
packages/core/src/index.ts | 1 +
packages/core/src/task-merge.ts | 13 +++
packages/engine/src/__tests__/project-engine.test.ts | 64 ++++++++++++++
packages/engine/src/__tests__/reliability-interactions/branch-group-merge-routing.test.ts | 48 +++++++++++
packages/engine/src/__tests__/reliability-interactions/shared-group-member-integration.test.ts | 97 ++++++++++++++++++++++
packages/engine/src/project-engine.ts | 35 ++++----
packages/engine/src/self-healing.ts | 3 +-
10 files changed, 284 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-5819
Fusion-Task-Lineage: b5eeced7-7c47-4573-9ab4-ca577bec65e1
2026-06-01 02:42:36 -07:00
gsxdsm
7b70e7fb72
FN-5788: add group promotion gate to merge coordinator
...
Add lifecycle wiring so branch-group promotion respects group-level auto-merge gating.
- Extend merge coordinator/merger flow to apply group promotion precedence and pause/override reasons.
- Hook the group-promotion coordinator into engine lifecycle startup.
- Add reliability and coordinator coverage for branch group promotion gating behavior.
- Add release changeset and update architecture/AGENTS backstop notes.
Files changed:
.changeset/fn-5788-branch-group-promotion-gate.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 3 +-
.../src/__tests__/group-merge-coordinator.test.ts | 95 ++++++++++++++-
.../branch-group-promotion-gate.test.ts | 129 +++++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 46 +++++---
packages/engine/src/index.ts | 2 +
packages/engine/src/merger.ts | 34 +++---
8 files changed, 283 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-5788
Fusion-Task-Lineage: 5930f662-908e-4cf0-a0d4-68b2f4360074
2026-05-31 15:59:59 -07:00
gsxdsm
06d84905ba
FN-5783: enforce branch-group autoMerge precedence for shared promotions
...
Honor group-level autoMerge precedence when promoting shared branch groups.
- add core/store helpers to preserve branch-group autoMerge overrides and resolve effective precedence against task/project settings
- gate branch-group promotion eligibility in engine merge coordination and emit promotion-gated audit metadata
- update dashboard planning/subtask flows for shared mission triage routing and add reliability/unit coverage
- include docs and changeset updates for branch-group autoMerge precedence behavior
Files changed:
.../fn-5783-branch-group-automerge-precedence.md | 5 +
AGENTS.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-steps.md | 2 +
.../core/src/__tests__/branch-group-store.test.ts | 18 ++++
packages/core/src/__tests__/task-merge.test.ts | 18 ++++
packages/core/src/index.ts | 1 +
packages/core/src/mission-store.ts | 13 +++
packages/core/src/store.ts | 17 ++++
packages/core/src/task-merge.ts | 8 ++
.../dashboard/src/__tests__/mission-e2e.test.ts | 98 ++++++++++++++++--
.../src/__tests__/routes-planning.test.ts | 109 ++++++++++++++++++++-
packages/dashboard/src/planning.ts | 1 +
.../src/routes/register-planning-subtask-routes.ts | 28 ++++++
packages/dashboard/src/subtask-breakdown.ts | 1 +
.../branch-group-automerge-precedence.test.ts | 102 +++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 31 +++++-
packages/engine/src/merger.ts | 30 ++++--
18 files changed, 466 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-5783
Fusion-Task-Lineage: 74327984-b14f-445c-81cd-5295ee562382
2026-05-31 15:17:11 -07:00
gsxdsm
c9b159f4e5
FN-5743: cut over merge dequeue authority to merge-request queue
...
Shift merge dequeue enforcement to merge-request queue/marker authority with reliability coverage updates.
- Enforce merge eligibility and dequeue ownership via merge-request queue/marker checks in engine and scheduler paths.
- Add hard-cancel behavior coverage to ensure queued merge requests are canceled when tasks are user-canceled.
- Extend core merge-request record/store tests and reliability interaction suites for dual-observe and cancel-on-hard-cancel seams.
- Document the FN-5741/FN-5743 reliability backstop updates in AGENTS.md and architecture docs.
Files changed:
AGENTS.md | 2 +
docs/architecture.md | 2 +
packages/core/src/__tests__/merge-request-record.test.ts | 18 ++++
packages/core/src/store.ts | 13 +++
packages/engine/src/__tests__/reliability-interactions/dual-observe-merge-seam.test.ts | 57 +++++++++++++
packages/engine/src/__tests__/reliability-interactions/merge-request-cancel-on-hard-cancel.test.ts | 87 +++++++++++++++++++
packages/engine/src/project-engine.ts | 98 +++++++++++++++++++++-
packages/engine/src/scheduler.ts | 12 ++-
8 files changed, 284 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-5743
Fusion-Task-Lineage: b9a49aeb-ed73-42fe-924d-25c7097d1bb9
2026-05-30 20:48:16 -07:00