Fusion
3f8a5e6839
fix(FN-4806): silently recover when worktree/branch reclaimed mid-retry
...
The executor's no-fn_task_done retry loop has two reclaim signals
(retryAbortedDueToReclaim=true): (1) pre-retry liveness recheck where the
task DB shows worktree/branch was cleared, and (2) session-start failure
because the worktree path no longer exists. Both are engine self-heal
situations triggered by FN-4546 stale-active-branch reclaim, FN-4742
self-healing removals, or related housekeeping paths — the agent never
got a fair retry attempt.
Previously these surfaced as task status=failed with error
'Worktree/branch reclaimed during no-fn_task_done retry — requeueing',
fired onError, and burned the taskDoneRetryCount budget. Three legitimate
problems followed: tasks accumulated spurious failures in the UI, the
exhausted-budget branch escalated reclaimed tasks to in-review instead of
retrying, and the noise masked the underlying worktree-removal regression
(FN-4811).
Now the reclaim branch silently:
- clears stale worktree/branch metadata so the next pickup creates a fresh worktree
- requeues to todo with preserveProgress
- logs an informational 'engine self-heal, no failure' line
- does NOT set status=failed, does NOT bump taskDoneRetryCount, does NOT call onError
The genuine 'agent finished without calling fn_task_done after N retries'
exhaustion path (retryAbortedDueToReclaim=false) is unchanged.
Tests updated in
packages/engine/src/__tests__/reliability-interactions/executor-no-task-done-vs-worktree-reclaim.test.ts
to assert the new silent-recovery contract on all three reclaim paths.
Fusion-Task-Id: FN-4806
2026-05-16 15:16:05 -07:00
Fusion (runfusion.ai)
415cd6a111
test(FN-4783): stabilize workspace test lanes for verification
...
Fusion-Task-Id: FN-4783
Fusion-Task-Lineage: 7a02897b-e303-4947-86b2-3dd7a343f653
2026-05-16 13:46:43 -07:00
Fusion (runfusion.ai)
05bd4fcdf9
test(FN-4754): add engine dashboard diff import boundary guard
...
Fusion-Task-Id: FN-4754
Fusion-Task-Lineage: 69980e60-c1ad-4e19-bee0-970312669d70
2026-05-16 10:50:06 -07:00
Fusion (runfusion.ai)
33755d44fb
fix(FN-4742): stabilize worktrunk removal interaction assertions
...
Fusion-Task-Id: FN-4742
Fusion-Task-Lineage: 59bca56e-c9d9-4066-9f5a-6d8ee252a100
2026-05-16 10:08:02 -07:00
Fusion (runfusion.ai)
378762c4ab
fix(FN-4742): address review for worktrunk removal backstop
...
Fusion-Task-Id: FN-4742
Fusion-Task-Lineage: 59bca56e-c9d9-4066-9f5a-6d8ee252a100
2026-05-16 10:08:02 -07:00
Fusion (runfusion.ai)
251a472458
test(FN-4742): complete Step 5 — add worktrunk removal interaction backstop
...
Fusion-Task-Id: FN-4742
Fusion-Task-Lineage: 59bca56e-c9d9-4066-9f5a-6d8ee252a100
2026-05-16 10:08:02 -07:00
Fusion (runfusion.ai)
07baf9526e
test(FN-4628): address review feedback for interaction backstop
...
Fusion-Task-Id: FN-4628
Fusion-Task-Lineage: ebd36565-946b-4b4f-b8df-4d99d7a5f074
2026-05-15 23:50:12 -07:00
Fusion (runfusion.ai)
ad99f54a9d
test(FN-4628): complete Step 4 — add worktrunk self-healing interaction backstop
...
Fusion-Task-Id: FN-4628
Fusion-Task-Lineage: ebd36565-946b-4b4f-b8df-4d99d7a5f074
2026-05-15 23:50:12 -07:00
Fusion (runfusion.ai)
178bad0d08
test(FN-4626): complete Step 6 — add worktrunk audit coverage
...
Fusion-Task-Id: FN-4626
Fusion-Task-Lineage: 04b06bf6-b08c-4ff1-b69a-ab93f6e508b3
2026-05-15 22:18:09 -07:00
Fusion (runfusion.ai)
0f9c07454e
fix(FN-4662): address test typing and scenario coverage
...
Fusion-Task-Id: FN-4662
Fusion-Task-Lineage: f3de365a-ccb5-404b-9d0c-f9bc70d2678a
2026-05-15 21:57:57 -07:00
Fusion (runfusion.ai)
cdd85ba235
test(FN-4662): complete Step 3 — add starvation sweep coverage
...
Fusion-Task-Id: FN-4662
Fusion-Task-Lineage: f3de365a-ccb5-404b-9d0c-f9bc70d2678a
2026-05-15 21:57:57 -07:00
Fusion (runfusion.ai)
3339d94d42
feat(FN-4625): complete Step 4 — add self-healing worktrunk pause guardrail
...
Fusion-Task-Id: FN-4625
Fusion-Task-Lineage: c1d9b414-b5dd-4786-ba51-0b8adec4acf5
2026-05-15 20:53:54 -07:00
Fusion (runfusion.ai)
296203443b
feat(FN-4701): add no-changes-finalized reliability interaction test
...
Adds reliability interaction test coverage for the `no-changes-finalized` outcome (FN-4701), covering the benign case where verification-only done tasks complete with no owned commits or surviving branch.
Fusion-Task-Id: FN-4701
2026-05-15 20:38:04 -07:00
Fusion (runfusion.ai)
b144ff7636
feat(FN-4700): complete Step 3 — reconcile benign verification finalizes
...
Fusion-Task-Id: FN-4700
Fusion-Task-Lineage: 87097576-c2be-4be4-8e10-9af85831fe5d
2026-05-15 20:18:55 -07:00
Fusion (runfusion.ai)
ad73d76586
feat(FN-4640): complete Step 6 — dashboard sandbox audit surface
...
Fusion-Task-Id: FN-4640
Fusion-Task-Lineage: 4a91265f-1714-4854-b08d-7ddb06074253
2026-05-15 16:19:42 -07:00
Fusion
bd3809ed81
docs(FN-4656): complete Step 6 — docs, changeset, and integrity sweep notes
...
Fusion-Task-Id: FN-4656
Fusion-Task-Lineage: 81e8bd91-bc02-4bb7-a590-0e6e84e3535f
2026-05-15 14:06:28 -07:00
Fusion
4ea1fa3e23
test(FN-4656): complete Step 4 — add reliability interaction coverage
...
Fusion-Task-Id: FN-4656
Fusion-Task-Lineage: 81e8bd91-bc02-4bb7-a590-0e6e84e3535f
2026-05-15 14:06:28 -07:00
Fusion
ebd0be13d9
feat(FN-4651): complete Step 3 — recover no-progress worktree failures
...
Fusion-Task-Id: FN-4651
Fusion-Task-Lineage: 14d15555-468d-4690-8efd-a09b31b5d407
2026-05-15 12:51:41 -07:00
Fusion
8866934b7d
test(FN-4653): complete Step 6 — finalize governance and typing-safe interactions
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
2aeb2cf180
test(FN-4653): complete Step 5 — add governance pause-gating interactions
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
fcbddfe9e2
test(FN-4653): complete Step 4 — cover restart sweep landed-content behavior
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
5548b6f4a6
test(FN-4653): complete Step 3 — add scheduler scope and stale-blockedBy interaction
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
875b322664
test(FN-4653): complete Step 2 — cover mixed blocker sweep handoff
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
208753fb88
test(FN-4653): complete Step 1 — add merge-path soft-blocker auto-finalize interaction
...
Fusion-Task-Id: FN-4653
Fusion-Task-Lineage: b1bc9bd0-0270-412b-bb63-fb32ea5f44d0
2026-05-15 12:40:10 -07:00
Fusion
d53110cd04
test(FN-4648): complete Step 4 — regression coverage updates
...
Fusion-Task-Id: FN-4648
Fusion-Task-Lineage: 82289e69-7e72-40e4-acaf-b98ad82ad354
2026-05-15 11:41:35 -07:00
Fusion
5bef3daf47
test(FN-4601): add retry race reliability interaction coverage
...
Fusion-Task-Id: FN-4601
Fusion-Task-Lineage: 136888a7-aee7-4eda-a165-16448a98e626
2026-05-15 07:27:23 -07:00
Fusion
38267f479f
feat(FN-4559): complete remaining recovery, tests, and docs
...
Fusion-Task-Id: FN-4559
Fusion-Task-Lineage: 9276f683-657c-4604-aaef-143da488b287
2026-05-15 00:50:11 -07:00
Fusion
d88e1bd143
feat(FN-4565): align self-healing assertion with FN-4563 unusable-worktree
...
Test-only update aligning a self-healing assertion's wording with the FN-4563 unusable-worktree terminology, touching only the reliability-interaction test file.
Fusion-Task-Id: FN-4565
2026-05-14 23:41:25 -07:00
Fusion
c11389a75e
test(FN-4564): complete Step 3 — add self-healing rebound coverage
...
Fusion-Task-Id: FN-4564
Fusion-Task-Lineage: 1a0c186a-1eb1-496a-aa8d-1bdf2254bb20
2026-05-14 23:18:47 -07:00
Fusion
05ecf1fb41
feat(FN-4545): complete Step 10 — documentation and delivery artifacts
...
Fusion-Task-Id: FN-4545
Fusion-Task-Lineage: 95108429-618e-4a6d-9fa9-7ac2596665a2
2026-05-14 22:16:44 -07:00
Fusion
650e6443fe
test(FN-4545): add reliability interaction coverage
...
Fusion-Task-Id: FN-4545
Fusion-Task-Lineage: 95108429-618e-4a6d-9fa9-7ac2596665a2
2026-05-14 22:16:44 -07:00
Fusion
c8d9492b61
feat(FN-4550): remove duplicate Case 6 skip coverage
...
Removes a duplicate "Case 6" skip from the merge-strategy overlap test file, cleaning up the test coverage without changing behavior.
Fusion-Task-Id: FN-4550
Fusion-Task-Lineage: 3b254a66-bd47-4699-a788-3a57178a2884
2026-05-14 20:21:09 -07:00
Fusion
5e1a5a55bb
feat(FN-4536): complete auto-recovery branch/worktree handler
...
Fusion-Task-Id: FN-4536
Fusion-Task-Lineage: 8d5615e4-e75d-413d-b3ab-0c4874b21fc5
2026-05-14 19:06:25 -07:00
Fusion
79eb74ca7e
feat(FN-4534): add auto-recovery dispatcher and pause-site wiring
...
Fusion-Task-Id: FN-4534
Fusion-Task-Lineage: 2b46a5df-efc6-4305-a0f2-69991e58512c
2026-05-14 17:59:57 -07:00
Fusion
72a71e9db6
test(FN-4508): complete Step 5 — add reliability interaction backstops
...
Fusion-Task-Id: FN-4508
Fusion-Task-Lineage: 948a9cae-3975-4f15-bd47-2f88b379171d
2026-05-14 16:33:27 -07:00
Fusion
cc18c4f780
test(FN-4523): complete Step 4 — add completion fan-out coverage
...
Fusion-Task-Id: FN-4523
Fusion-Task-Lineage: c7a02071-f911-4c42-a174-cdcf2453fd23
2026-05-14 14:09:57 -07:00
Fusion
62743e2bac
test(FN-4500): complete Step 4 — add reliability interaction coverage
...
Fusion-Task-Id: FN-4500
Fusion-Task-Lineage: 81d33759-70f6-4958-abf8-3db20f918c01
2026-05-14 12:44:11 -07:00
Fusion
2d9badbc1f
test(FN-4500): cover fast-path guards and align legacy reclaim assertions
...
Fusion-Task-Id: FN-4500
Fusion-Task-Lineage: 81d33759-70f6-4958-abf8-3db20f918c01
2026-05-14 12:44:10 -07:00
Fusion
b3590d9220
test(FN-4485): add reliability interaction race coverage
...
Fusion-Task-Id: FN-4485
Fusion-Task-Lineage: 034088dc-ebc4-4e12-8314-39419d41b23f
2026-05-14 11:23:45 -07:00
Fusion
b72bd0575d
feat(FN-4485): complete Step 4-5 orphan rescue and audit paths
...
Fusion-Task-Id: FN-4485
Fusion-Task-Lineage: 034088dc-ebc4-4e12-8314-39419d41b23f
2026-05-14 11:23:44 -07:00
Fusion
c7f8d38210
test(FN-4361): add reliability interaction backstop suite
...
Fusion-Task-Id: FN-4361
Fusion-Task-Lineage: bdf2de3b-c9ce-4a29-9e60-9a029f913ae9
2026-05-13 22:08:41 -07:00