Fusion (runfusion.ai)
93b11c6c0c
feat(FN-5241): add atomic in-review handoff seam with executor/self-healing
...
The merge introduces an atomic review handoff seam in the core store (`packages/core/src/store.ts`) and migrates executor and self-healing transitions to use it, replacing the previous multi-step mutable-state handoff with a single transactional operation. Extensive reliability backstops and regress
Fusion-Task-Id: FN-5241
2026-05-20 01:01:08 -07:00
gsxdsm
e908cbcb42
fix(FN-5291): downgrade file-scope invariant failures
2026-05-19 23:00:11 -07:00
gsxdsm
98033bc869
feat(engine): guard one engine per project per machine
...
Adds a per-machine singleton lock that engages in
ProjectEngineManager.createAndStart() before any engine subsystems
spin up. Two fn dashboard processes can no longer run engines for the
same project on the same host — previously they would share .fusion/
state and corrupt worktrees / task rows for in-process projects.
The guard combines two independent checks:
- A proper-lockfile file at <project>/.fusion/engine.lock with
stale-lock recovery (auto-released on process death).
- A loopback listener on a hashed per-project address — UDS on
POSIX, named pipe on Windows. Stale UDS files are probed and
unlinked before a retry bind.
Failures raise EngineAlreadyRunningError. Both guards are released
from stopAll() and pauseProject(); a release on engine.start()
failure lets retries re-acquire cleanly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 22:50:39 -07:00
Fusion (runfusion.ai)
17eb85ed81
feat(FN-5266): add metadata-driven pre-commit identity guard
...
Implements metadata-driven pre-commit identity guard hooks in the worktree layer, replacing static hook bodies with configurable metadata; adds regression tests covering shared-hook worktrees and the metadata-driven lock behavior.
Fusion-Task-Id: FN-5266
2026-05-19 21:08:21 -07:00
Fusion (runfusion.ai)
b078a8135e
feat(FN-5232): add deterministic verification-followup deduplication to pre
...
Implements deterministic followup deduplication for the project engine, routing eval and PR followups through a new `verification-followup-dedup` helper that excludes the parent task to prevent self-referential loops, with tests covering eval-followups, merge-error-recovery, PR comments, and the new
Fusion-Task-Id: FN-5232
2026-05-19 19:28:05 -07:00
gsxdsm
87da1cb757
test(dashboard): align github-tracking-documentation phrases with current docs
...
The doc was rewritten to cover "every task-creation path" (with an
explicit enumeration of surfaces) instead of the older "task creation
flows (including ...)" wording, and uses "best-effort and non-blocking"
instead of "Creation is best-effort and non-blocking". Update the
documentation contract test to match the current phrasing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Fusion-Task-Id: FN-5208
2026-05-19 19:23:47 -07:00
Fusion (runfusion.ai)
7fe6cd362a
fix(FN-5188): complete Step 5 — restore green verification
...
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:21 -07:00
Fusion (runfusion.ai)
9c59f1da0d
test(FN-5188): add orphan-rescue fresh-db reliability backstop
...
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:20 -07:00
Fusion (runfusion.ai)
4b2a77b631
feat(FN-5188): complete Step 3 — gate fresh-db orphan rescue
...
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:20 -07:00
Fusion (runfusion.ai)
dc8dd33f80
test(FN-5189): complete Step 4 — add supervision regression test
...
Fusion-Task-Id: FN-5189
Fusion-Task-Lineage: 4caa3f0a-af81-4c60-88e8-de229ed72e08
2026-05-19 17:19:03 -07:00
Fusion (runfusion.ai)
818db4a714
feat(FN-5189): complete Step 3 — migrate supervised spawns
...
Fusion-Task-Id: FN-5189
Fusion-Task-Lineage: 4caa3f0a-af81-4c60-88e8-de229ed72e08
2026-05-19 17:19:02 -07:00
Fusion (runfusion.ai)
23dae4b495
test(FN-5168): complete Step 6 — verification gates green
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:25 -07:00
Fusion (runfusion.ai)
7ac8a73f1b
test(FN-5168): complete Step 5 — reliability interaction regression
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:25 -07:00
Fusion (runfusion.ai)
368c4c37fe
feat(FN-5168): complete Step 3 — no-progress churn terminalization
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:25 -07:00
Fusion (runfusion.ai)
af830a74cc
fix(FN-5168): preserve tracking through loop recovery
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:24 -07:00
Fusion (runfusion.ai)
af16608810
feat(FN-5168): complete Step 2 — executor feeds ignored step-update churn
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:24 -07:00
Fusion (runfusion.ai)
913167c736
feat(FN-5168): complete Step 1 — detector signal for ignored step-update churn
...
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:24 -07:00
Fusion (runfusion.ai)
b39c2dd071
feat(FN-5153): deliver soft-delete verification gate
...
Completes FN-5153 by delivering the soft-delete verification gate with a new end-to-end test suite covering the full soft-delete lifecycle and a documentation matrix summarizing the gate behavior. Updates the dashboard test file and adds a brief entry to AGENTS.md to surface the new feature.
Fusion-Task-Id: FN-5153
2026-05-19 15:52:09 -07:00
gsxdsm
b7e57f84a9
chore: minor cleanups — docs index, test-project fixture, empty catches, triage timestamp guard
...
- Add diagnostics.md and FN-4886/FN-5048 entries to docs/README.md index
- Fix test-project.test.ts spy target (updateSettings → init) to match fixture flow
- Remove unused DEFAULT_PROJECT_SETTINGS import and skip empty settings patch
- Add explanatory comments to empty catch blocks in secrets-env-writer
- Refine near-duplicate timestamp guard in triage for cleaner NaN handling
2026-05-19 14:22:11 -07:00
Fusion (runfusion.ai)
41d18b3f6d
fix(FN-5150): unblock workspace gates with near-duplicate timestamp guard
...
Fusion-Task-Id: FN-5150
Fusion-Task-Lineage: 09bf24f1-5d23-4049-bd5e-7afbea0a59ae
2026-05-19 12:13:46 -07:00
Fusion (runfusion.ai)
4d9068d927
test(FN-5152): cover same-millisecond near-duplicate finalize race
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
80ffed7a47
fix(FN-5152): clarify newer-task near-duplicate archive rule
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
2c6662f13b
fix(FN-5152): complete Step 7 — clear verification lint issue
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
8364be83d6
test(FN-5152): complete Step 6 — add near-duplicate reliability interaction tests
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
d9a66571d0
feat(FN-5152): complete Step 5 — add triage near-duplicate backstop
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
5e3d57b1cc
test(FN-5147): complete Step 6 — stabilize verification coverage
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
405a6ea02d
test(FN-5147): complete Step 5 — add autoMerge-off in-review reliability backstop
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
17cf473703
feat(FN-5147): complete Step 3 — gate remaining in-review mutators
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
59c68043aa
fix(FN-5147): gate foreign-only in-review recovery when autoMerge is disabled
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
59c9f7bbe0
feat(FN-5147): complete Step 2 — normalize in-review autoMerge gate docs/order
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
a249490ef9
test(FN-5147): add autoMerge-off sweep guards coverage
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
44ea2a7075
feat(FN-5147): complete Step 2 — gate mutating in-review sweeps
...
Fusion-Task-Id: FN-5147
Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
2026-05-19 10:07:44 -07:00
Fusion (runfusion.ai)
9fdb98061a
test(FN-5137): reset executor mocks in soft-delete guard tests
...
Fusion-Task-Id: FN-5137
Fusion-Task-Lineage: bb2e2e56-d64c-46ca-a6c8-abda13029fc2
2026-05-19 07:45:12 -07:00
Fusion (runfusion.ai)
f74c0d5105
test(FN-5137): complete Step 4-6 — soft-delete regression coverage
...
Fusion-Task-Id: FN-5137
Fusion-Task-Lineage: bb2e2e56-d64c-46ca-a6c8-abda13029fc2
2026-05-19 07:45:12 -07:00
Fusion (runfusion.ai)
9b6513af71
fix(FN-5137): complete Step 2-3 — guard deleted tasks in snapshot and executor
...
Fusion-Task-Id: FN-5137
Fusion-Task-Lineage: bb2e2e56-d64c-46ca-a6c8-abda13029fc2
2026-05-19 07:45:12 -07:00
Fusion (runfusion.ai)
4eccbe2fb5
feat(FN-5137): complete Step 1 — invalidate on task deleted
...
Fusion-Task-Id: FN-5137
Fusion-Task-Lineage: bb2e2e56-d64c-46ca-a6c8-abda13029fc2
2026-05-19 07:45:11 -07:00
Fusion (runfusion.ai)
2c7ae1c1a4
feat(FN-5131): add lineage-unlink flag to triage parent deletes
...
Adds a `lineage-unlink` flag to triage parent deletes (FN-5131), enabling the split-into-subtasks path to break parent-child lineage on deletion. The primary addition is a comprehensive new test covering that split scenario, with minor adjustments to two existing lineage-related test files.
Fusion-Task-Id: FN-5131
Fusion-Task-Lineage: cb720e8f-8c49-42e4-873a-9949f3ba3427
2026-05-19 07:20:28 -07:00
Fusion (runfusion.ai)
d9d3ea7fba
test(FN-5128): complete Step 3 — add hydration soft-delete regressions
...
Fusion-Task-Id: FN-5128
Fusion-Task-Lineage: 1e8d4dd4-9712-496f-a64b-ae85198d93e8
2026-05-19 05:57:57 -07:00
Fusion (runfusion.ai)
530a9c8fa4
feat(FN-5128): complete Step 2 — add soft-delete guard to hydration
...
Fusion-Task-Id: FN-5128
Fusion-Task-Lineage: 1e8d4dd4-9712-496f-a64b-ae85198d93e8
2026-05-19 05:57:57 -07:00
Fusion (runfusion.ai)
dd78e42f75
fix(FN-5093): complete Step 7-8 — verification fixes and changeset
...
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:49 -07:00
Fusion (runfusion.ai)
8029227451
test(FN-5093): complete Step 5 — add reliability interaction backstop
...
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:49 -07:00
Fusion (runfusion.ai)
275cee9c78
feat(FN-5093): complete Step 4 — add self-healing in-review-stalled surfacing
...
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:49 -07:00
Fusion (runfusion.ai)
85cb845b87
fix(FN-5091): harden maxAutoMergeRetries settings parsing
...
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:18 -07:00
Fusion (runfusion.ai)
e698d44914
feat(FN-5091): complete Step 4 — wire self-healing reporter pass
...
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:17 -07:00
Fusion (runfusion.ai)
2bc1c023c8
feat(FN-5091): complete Step 3 — add dependency blocked todo reporter
...
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:17 -07:00
Fusion (runfusion.ai)
353845a6b8
feat(FN-5034): complete Step 5 — add stale paused todo self-healing surfacing
...
Fusion-Task-Id: FN-5034
Fusion-Task-Lineage: 1e315656-30d8-41d2-9802-0d9e155f0ba8
2026-05-19 03:10:25 -07:00
Fusion (runfusion.ai)
e53cf7e0b1
fix(FN-5089): add trailer settings typing defaults
...
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:37 -07:00
Fusion (runfusion.ai)
6c40b0685d
test(FN-5089): cover lowercase metadata normalization
...
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:35 -07:00
Fusion (runfusion.ai)
ac9c83c106
test(FN-5089): add commit-msg hook coverage and wiring
...
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:35 -07:00
Fusion (runfusion.ai)
96eb610800
feat(FN-5089): complete Step 1 — add commit-msg hook installer
...
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:35 -07:00