Fusion (runfusion.ai)
d9a6ffd2f5
feat(FN-5098): complete Step 2 — lazy register secrets view
...
Fusion-Task-Id: FN-5098
Fusion-Task-Lineage: 67ff982f-f0fa-453a-9b73-32ddc3ae5b3a
2026-05-19 01:59:21 -07:00
Fusion (runfusion.ai)
033b3e7148
feat(FN-5098): complete Step 1 — add secrets view-state routing
...
Fusion-Task-Id: FN-5098
Fusion-Task-Lineage: 67ff982f-f0fa-453a-9b73-32ddc3ae5b3a
2026-05-19 01:59:20 -07:00
Fusion (runfusion.ai)
0b17d7915c
fix(FN-5103): complete Step 8 — resolve verification regressions
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
c51d0d9d9b
feat(FN-5103): complete Step 7 — update docs and changeset
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
71928aeda3
feat(FN-5103): surface landed-files attribution flags in task changes UI
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
0abb1fad2c
feat(FN-5103): expose rebase landed-files capture helper for reliability tests
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
3e7073ab84
test(FN-5103): address review gaps in landed-files coverage
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
03212ce00b
test(FN-5103): complete Step 6 — add landed-files attribution reliability coverage
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
20ab2f0172
feat(FN-5103): complete Step 3 — skip reconcile for restricted landed-files capture
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:55 -07:00
Fusion (runfusion.ai)
d6be8fc771
feat(FN-5103): complete Step 2 — restrict rebase landed-files capture
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:54 -07:00
Fusion (runfusion.ai)
3ac14a3605
fix(FN-5103): expose own commit shas in attribution helper
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:54 -07:00
Fusion (runfusion.ai)
4420abe6af
feat(FN-5103): complete Step 1 — add merge details attribution flags
...
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:54 -07:00
Fusion (runfusion.ai)
045616b39f
fix(FN-5113): repair dashboard route self-healing resolver reference
...
Fusion-Task-Id: FN-5113
Fusion-Task-Lineage: f29c2128-79a3-4958-8039-3765b84757f5
2026-05-19 01:17:46 -07:00
Fusion (runfusion.ai)
91cb316b37
test(FN-5113): complete Step 3 — align rebind banner assertions
...
Fusion-Task-Id: FN-5113
Fusion-Task-Lineage: f29c2128-79a3-4958-8039-3765b84757f5
2026-05-19 01:17:46 -07:00
Fusion (runfusion.ai)
034a361d94
fix(FN-5113): complete Step 2 — narrow rebind banner trigger and copy
...
Fusion-Task-Id: FN-5113
Fusion-Task-Lineage: f29c2128-79a3-4958-8039-3765b84757f5
2026-05-19 01:17:46 -07:00
Fusion (runfusion.ai)
6608f2154e
docs(FN-5104): complete Step 7 — document reattach contract and changeset
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:30 -07:00
Fusion (runfusion.ai)
3fdd7775a1
fix(FN-5104): stabilize quickchat selectSession refresh and lint
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:30 -07:00
Fusion (runfusion.ai)
0e30f85de7
test(FN-5104): complete Step 5 — add reattach regression coverage
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:30 -07:00
Fusion (runfusion.ai)
8540a0186d
fix(FN-5104): complete Step 4 — mirror reattach recovery in useQuickChat
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:30 -07:00
Fusion (runfusion.ai)
1fa22ac1b4
fix(FN-5104): complete Step 3 — refresh stale useChat session before reattach
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:30 -07:00
Fusion (runfusion.ai)
3baef3a266
fix(FN-5104): complete Step 2 — add useChat auto-reattach dedupe
...
Fusion-Task-Id: FN-5104
Fusion-Task-Lineage: e92a26cb-a930-442a-98be-6ace9f376e73
2026-05-19 01:09:29 -07:00
Fusion (runfusion.ai)
c34229f499
feat(FN-5112): complete Step 5 — documentation and delivery
...
Fusion-Task-Id: FN-5112
Fusion-Task-Lineage: 692fba2a-5856-4256-8144-d87bda56e1aa
2026-05-19 01:02:39 -07:00
Fusion (runfusion.ai)
654e59199b
feat(FN-5112): complete Step 3 — reviewer LLM defense-in-depth
...
Fusion-Task-Id: FN-5112
Fusion-Task-Lineage: 692fba2a-5856-4256-8144-d87bda56e1aa
2026-05-19 01:02:38 -07:00
Fusion (runfusion.ai)
574d661134
feat(FN-5112): complete Step 2 — gate fn_review_spec on dangling-ref detector
...
Fusion-Task-Id: FN-5112
Fusion-Task-Lineage: 692fba2a-5856-4256-8144-d87bda56e1aa
2026-05-19 01:02:38 -07:00
Fusion (runfusion.ai)
b5e257d6e3
feat(FN-5112): complete Step 1 — dangling task-doc reference detector
...
Fusion-Task-Id: FN-5112
Fusion-Task-Lineage: 692fba2a-5856-4256-8144-d87bda56e1aa
2026-05-19 01:02:38 -07:00
Fusion (runfusion.ai)
febd1f872c
fix(FN-5108): restore recover-branch-binding route and lock failure boundary
...
Fusion-Task-Id: FN-5108
Fusion-Task-Lineage: 1b273c01-9f58-40ed-82f3-5706802cc2fc
2026-05-19 00:46:35 -07:00
Fusion (runfusion.ai)
c2596f882e
test(FN-5108): complete Step 2 — add default model icon coverage
...
Fusion-Task-Id: FN-5108
Fusion-Task-Lineage: 1b273c01-9f58-40ed-82f3-5706802cc2fc
2026-05-19 00:46:35 -07:00
Fusion (runfusion.ai)
d5d978c59f
feat(FN-5108): complete Step 1 — resolve effective session model provider
...
Fusion-Task-Id: FN-5108
Fusion-Task-Lineage: 1b273c01-9f58-40ed-82f3-5706802cc2fc
2026-05-19 00:46:35 -07:00
gsxdsm
06d1911aec
fix(lint): prefix unused resolveSelfHealingManager destructuring with underscore
...
Resolve @typescript-eslint/no-unused-vars error in register-task-workflow-routes.ts.
The import is kept in deps for potential future use but prefixed to satisfy lint.
2026-05-19 00:33:14 -07:00
Fusion (runfusion.ai)
cc6bd1e724
feat(FN-5102): complete Step 4 and 5 — verify and document
...
Fusion-Task-Id: FN-5102
Fusion-Task-Lineage: 13be2941-176e-4a6e-b6fc-2bb644f7444a
2026-05-18 23:50:00 -07:00
Fusion (runfusion.ai)
a43c0cfb18
test(FN-5102): expand agent-surface github tracking regressions
...
Fusion-Task-Id: FN-5102
Fusion-Task-Lineage: 13be2941-176e-4a6e-b6fc-2bb644f7444a
2026-05-18 23:50:00 -07:00
Fusion (runfusion.ai)
000fa3d6bb
feat(FN-5102): complete Step 2 — prefill agent github tracking
...
Fusion-Task-Id: FN-5102
Fusion-Task-Lineage: 13be2941-176e-4a6e-b6fc-2bb644f7444a
2026-05-18 23:50:00 -07:00
Fusion (runfusion.ai)
13977f4682
test(FN-5102): harden repro mock to keep hook deterministic
...
Fusion-Task-Id: FN-5102
Fusion-Task-Lineage: 13be2941-176e-4a6e-b6fc-2bb644f7444a
2026-05-18 23:50:00 -07:00
Fusion (runfusion.ai)
780cf6b3d8
test(FN-5102): add failing agent tracking flag repro
...
Fusion-Task-Id: FN-5102
Fusion-Task-Lineage: 13be2941-176e-4a6e-b6fc-2bb644f7444a
2026-05-18 23:50:00 -07:00
Fusion (runfusion.ai)
093ae0bac8
feat(FN-5096): fix dashboard typecheck and stabilize verification gates
...
- fix(FN-5096): restore dashboard typecheck and stabilize verification gates
Fusion-Task-Id: FN-5096
2026-05-18 23:14:48 -07:00
Fusion (runfusion.ai)
76790c424f
feat(FN-5053): fix verification gate registration for workspace test stabil
...
Fix FN-5053 restores workspace test stability for the verification gate by adjusting the duplicate guard and task workflow route registration, with updated coverage in the branch-conflicts and diff-volume-gate test suites.
Fusion-Task-Id: FN-5053
Fusion-Task-Lineage: cc8a561a-fd56-4275-b06c-0966c80c2868
2026-05-18 23:14:27 -07:00
Fusion (runfusion.ai)
070ad28151
feat(FN-5060): complete Step 7 — testing and verification
...
Fusion-Task-Id: FN-5060
Fusion-Task-Lineage: 35434cc4-583f-4e50-9ca3-c12546d220c1
2026-05-18 22:47:51 -07:00
Fusion (runfusion.ai)
d5438ebc11
feat(FN-5060): complete Step 2 — stabilize shared dedup guard exports
...
Fusion-Task-Id: FN-5060
Fusion-Task-Lineage: 35434cc4-583f-4e50-9ca3-c12546d220c1
2026-05-18 22:47:51 -07:00
Fusion (runfusion.ai)
65f9995b26
test(FN-5090): align attribution test shape with commit metadata
...
Fusion-Task-Id: FN-5090
Fusion-Task-Lineage: 9d74fe7a-d54c-460f-9db9-1c90475ec832
2026-05-18 22:44:49 -07:00
Fusion (runfusion.ai)
45fa52d735
feat(FN-5090): complete Step 1 — add shared commit attribution helper
...
Fusion-Task-Id: FN-5090
Fusion-Task-Lineage: 9d74fe7a-d54c-460f-9db9-1c90475ec832
2026-05-18 22:44:41 -07:00
Fusion (runfusion.ai)
d8a04ff5a7
feat(FN-5099): complete Step 4 — pass verification gates
...
Fusion-Task-Id: FN-5099
Fusion-Task-Lineage: 26353f25-da61-4b61-8fd2-69915a984cc4
2026-05-18 22:34:21 -07:00
Fusion (runfusion.ai)
39fee83654
test(FN-5099): add failing footer-alignment case for retry badge
...
Fusion-Task-Id: FN-5099
Fusion-Task-Lineage: 26353f25-da61-4b61-8fd2-69915a984cc4
2026-05-18 22:34:21 -07:00
Fusion (runfusion.ai)
0820b64d1a
fix(FN-5095): restore workspace verification gates
...
Fusion-Task-Id: FN-5095
Fusion-Task-Lineage: dff589e4-5142-429d-8ca2-53352eaeaac6
2026-05-18 22:02:54 -07:00
Fusion (runfusion.ai)
aff9bdcb3c
feat(FN-5095): complete Step 3 — update qualityAppTests basenames
...
Fusion-Task-Id: FN-5095
Fusion-Task-Lineage: dff589e4-5142-429d-8ca2-53352eaeaac6
2026-05-18 22:02:53 -07:00
Fusion (runfusion.ai)
12adde0ab9
feat(FN-5052): complete Step 8 — documentation and delivery
...
Fusion-Task-Id: FN-5052
Fusion-Task-Lineage: 607cd9e6-e4d0-4572-b183-8253d127209f
2026-05-18 21:55:51 -07:00
Fusion (runfusion.ai)
a0b75579b8
feat(FN-5094): merge fusion/fn-5094
...
Commits merged:
- merge fusion/fn-5094
Files changed:
.../self-healing-stale-merger-status.test.ts | 200 +++++++++++++++++++++
packages/engine/src/branch-conflicts.ts | 6 +-
packages/engine/src/run-audit.ts | 2 +
packages/engine/src/self-healing.ts | 67 ++++++-
4 files changed, 271 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-5094
Fusion-Task-Lineage: c6c9710c-51fe-40e9-bfad-bfb6d589c7f4
2026-05-18 21:54:39 -07:00
Fusion (runfusion.ai)
0c35e6db6f
fix(FN-5094): resolve workspace typecheck regressions before delivery
...
Fusion-Task-Id: FN-5094
Fusion-Task-Lineage: c6c9710c-51fe-40e9-bfad-bfb6d589c7f4
2026-05-18 21:44:36 -07:00
Fusion (runfusion.ai)
39db6157e4
test(FN-5094): stabilize dashboard API tests for current route exports
...
Fusion-Task-Id: FN-5094
Fusion-Task-Lineage: c6c9710c-51fe-40e9-bfad-bfb6d589c7f4
2026-05-18 21:44:35 -07:00
Fusion (runfusion.ai)
12d718166c
test(FN-5094): complete Step 4 — add inline attribution coverage
...
Fusion-Task-Id: FN-5094
Fusion-Task-Lineage: c6c9710c-51fe-40e9-bfad-bfb6d589c7f4
2026-05-18 21:44:35 -07:00
gsxdsm
a25ef82e13
fix(FN-5092): clear transient "merging" status on self-healing auto-finalize paths
...
The merger maintains a single mergeActive slot per project; while a task
holds it, no other in-review task can be picked up. When the merger
sets task.status="merging" but the task is then completed via a
self-healing recovery path instead of the merger's own completeTask(),
the status field is never cleared. The mergeActive slot stays leaked
indefinitely, and the entire merger queue stalls.
Concrete failure: FN-5052 landed via FN-4499 auto-recover-branch-misbound
on 2026-05-18 15:48 with mergeConfirmed=true. Status field stayed at
"merging". 12.5 hours later, FN-5083, FN-5060, FN-5053, FN-5092, and
every other in-review task were waiting on the merger queue with no
merger activity at all.
Two self-healing → done paths were missing the status clear:
- recoverBranchMisboundInReviewTasks() (self-healing.ts ~5031):
branch-tip-misbound recovery moves an in-review task to done after
detecting its work landed on main via a different commit. The merger's
completeTask() correctly clears status before moveTask(); this path
did not.
- proven-no-op finalize in recoverNoOpReviewTasks() (self-healing.ts
~3460): for tasks proven already on main (FN-4500 classifier), the
updateTask({ mergeDetails, modifiedFiles }) patch did not include
status: null. Same leak class.
Both now follow the pattern from merger.ts completeTask() and
project-engine.ts auto-merge already-confirmed:
updateTask({ status: null, error: null, paused: false }) before
moveTask("done").
FN-5052 task.json patched to clear the existing stale status as part
of this commit so the running engine releases its mergeActive slot
on next sweep.
Fusion-Task-Id: FN-5092
2026-05-18 21:24:02 -07:00