Commit Graph

805 Commits

Author SHA1 Message Date
Fusion (runfusion.ai)
a5d64e0910 test(FN-5115): complete Step 6 — add formatTaskLine regression coverage
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:26 -07:00
Fusion (runfusion.ai)
07655558f2 feat(FN-5115): complete Step 3 — guard terminal paused suffix
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:25 -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)
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)
6365fceee4 feat(FN-5060): complete Step 4 — integrate CLI deterministic dedup 2026-05-18 19:44:33 -07:00
gsxdsm
ef6c18942d feat(FN-5048): merge fusion/fn-5048 2026-05-18 13:01:31 -07:00
gsxdsm
9aa7518bad feat(FN-5057): merge fusion/fn-5057 2026-05-18 11:46:43 -07:00
Fusion (runfusion.ai)
990c1896dd feat(FN-4899): complete Step 4 — surface duplicate lineage in CLI outputs
Fusion-Task-Id: FN-4899
Fusion-Task-Lineage: 2ae24667-6635-4268-a620-d6012266d8f2
2026-05-18 08:02:21 -07:00
Fusion (runfusion.ai)
d94ef51238 feat(FN-5047): emit task:merged across merge finalize paths
Fusion-Task-Id: FN-5047
Fusion-Task-Lineage: 9b03f2de-1b4a-45ad-b1ce-0a6217d6da77
2026-05-18 07:46:08 -07:00
Fusion (runfusion.ai)
d6d79bcb78 fix(FN-5044): satisfy CLI typecheck for PR metadata settings
Fusion-Task-Id: FN-5044
Fusion-Task-Lineage: 84520cf4-15bb-40b3-9fd3-926bfbcdc37e
2026-05-18 07:14:27 -07:00
Fusion (runfusion.ai)
eae7a5168c test(FN-5033): update CLI shard planner expectations
Fusion-Task-Id: FN-5033
Fusion-Task-Lineage: f1a04b65-6161-4001-b01c-3036905cb2ab
2026-05-18 06:39:52 -07:00
Fusion (runfusion.ai)
e0b1e6ac37 test(FN-4993): add AI parity and pr router coverage
Fusion-Task-Id: FN-4993
Fusion-Task-Lineage: 20ce6d5f-ef33-49e6-8519-648d769cc473
2026-05-18 05:57:43 -07:00
Fusion (runfusion.ai)
60d3da7394 feat(FN-4993): wire pr create flags router and AI metadata parity
Fusion-Task-Id: FN-4993
Fusion-Task-Lineage: 20ce6d5f-ef33-49e6-8519-648d769cc473
2026-05-18 05:57:43 -07:00
gsxdsm
e33159e91b feat(FN-4919): merge fusion/fn-4919 2026-05-18 04:01:51 -07:00
gsxdsm
f40accd4bc perf(cli): cut test suite from 32s to 11s wall
Two heavy CLI tests were dominating wall time:
- chat.test.ts "--once exits with timeout note" waited the real 30s
  reply-timeout floor. Added a replyTimeoutMs option to
  runChatInteractive so the test can use 200ms.
- bundled-plugin-install.test.ts "loads the real bundled dependency
  graph plugin" runs esbuild and a live PluginLoader (~18s). Gated
  behind FUSION_RUN_SLOW_TESTS=1; the install/upgrade logic is covered
  by mocked unit tests in the same file.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:47:53 -07:00
Fusion (runfusion.ai)
ceacad78a1 chore(FN-4959): complete Step 4 — regenerate fusion skill tool references
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
716a45a96b test(FN-4959): complete Step 3 — cover priority updates on fn_task_update
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
e0e0bc5bef feat(FN-4959): complete Step 2 — extend fn_task_update priority support
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
d6679618fe test(FN-4867): complete Step 3 — strengthen fn_secret_get scope coverage
Fusion-Task-Id: FN-4867
Fusion-Task-Lineage: c06c5e79-b038-4941-951b-08bfb164fa17
2026-05-17 18:46:42 -07:00
Fusion (runfusion.ai)
26c3d330d3 feat(FN-4764): complete Step 2-4 — surface structured gh errors in API UI CLI
Fusion-Task-Id: FN-4764
Fusion-Task-Lineage: 14809ad5-8463-4e16-a934-1414225f17ae
2026-05-17 14:48:31 -07:00
Fusion (runfusion.ai)
8d9b893ea1 fix(FN-4929): finalize daemon typecheck fix and changeset
Fusion-Task-Id: FN-4929
Fusion-Task-Lineage: 557ef659-c835-47de-b30c-a8b03d66d8bf
2026-05-17 14:18:49 -07:00
Fusion (runfusion.ai)
02eb9dc2f6 fix(FN-4929): defer peer-exchange global settings load
Fusion-Task-Id: FN-4929
Fusion-Task-Lineage: 557ef659-c835-47de-b30c-a8b03d66d8bf
2026-05-17 14:18:48 -07:00
Fusion (runfusion.ai)
cbd3c961d1 fix(FN-4915): harden fn_secret_get secret audit payload guard
Fusion-Task-Id: FN-4915
Fusion-Task-Lineage: d5c49dae-6069-4998-b632-aca52cc312dc
2026-05-17 13:54:32 -07:00
Fusion (runfusion.ai)
b80b517a4f test(FN-4927): cover no-task fallback for task tools
Fusion-Task-Id: FN-4927
Fusion-Task-Lineage: 8ef39a69-8f1f-4ffe-9d6b-1b752756751d
2026-05-17 13:10:50 -07:00
Fusion (runfusion.ai)
887705c81d fix(FN-4927): guard project-root helper drift in extension
Fusion-Task-Id: FN-4927
Fusion-Task-Lineage: 8ef39a69-8f1f-4ffe-9d6b-1b752756751d
2026-05-17 13:10:50 -07:00
Fusion (runfusion.ai)
0dc4c9c6a0 test(FN-4904): cover worktree-root lookup in extension tools
Fusion-Task-Id: FN-4904
Fusion-Task-Lineage: 5da52c8c-0ed6-4e3a-920e-aa1b56d0b719
2026-05-17 10:45:41 -07:00
Fusion (runfusion.ai)
47eaf089bf feat(FN-4904): complete Step 3 — align engine and CLI root resolution
Fusion-Task-Id: FN-4904
Fusion-Task-Lineage: 5da52c8c-0ed6-4e3a-920e-aa1b56d0b719
2026-05-17 10:45:41 -07:00
Fusion (runfusion.ai)
03a10c7419 test(FN-4907): stabilize dashboard unpause merge-queue assertion
Fusion-Task-Id: FN-4907
Fusion-Task-Lineage: e84d5357-0719-4cc7-ab3f-f665ac83b218
2026-05-17 10:31:35 -07:00
Fusion (runfusion.ai)
a2bd876eb4 test(FN-4907): cover stale settings invalidation and sync refresh paths
Fusion-Task-Id: FN-4907
Fusion-Task-Lineage: e84d5357-0719-4cc7-ab3f-f665ac83b218
2026-05-17 10:31:35 -07:00
Fusion (runfusion.ai)
4416de159c fix(FN-4907): invalidate stale settings caches on sync and provider writes
Fusion-Task-Id: FN-4907
Fusion-Task-Lineage: e84d5357-0719-4cc7-ab3f-f665ac83b218
2026-05-17 10:31:34 -07:00
gsxdsm
1b82e29218 Update dependency graph manifest 2026-05-17 10:04:37 -07:00
Fusion (runfusion.ai)
2a9ef2ba36 fix(FN-4905): unblock workspace verification type errors
Fusion-Task-Id: FN-4905
Fusion-Task-Lineage: 677b6f08-90d7-4785-a0b8-195acc42f79e
2026-05-17 09:51:49 -07:00
Fusion (runfusion.ai)
c502820f68 fix(FN-4893): cast fn_secret_get context fields via local alias
Fusion-Task-Id: FN-4893
Fusion-Task-Lineage: 14912482-9b55-47ae-831e-03e149714d72
2026-05-17 09:20:08 -07:00
Fusion (runfusion.ai)
0360dd193d fix(FN-4893): type resolvedScope scopes as SecretScope
Fusion-Task-Id: FN-4893
Fusion-Task-Lineage: 14912482-9b55-47ae-831e-03e149714d72
2026-05-17 09:20:08 -07:00
Fusion (runfusion.ai)
96a19309ae fix(FN-4884): finalize docs and keep workspace gates green
Fusion-Task-Id: FN-4884
Fusion-Task-Lineage: b906ade4-a9f1-4f2e-b684-4ebf49c3e7e6
2026-05-17 07:26:21 -07:00
gsxdsm
83ed893382 feat(FN-4879): merge fusion/fn-4879 2026-05-17 06:23:00 -07:00
Fusion (runfusion.ai)
7b48387a74 feat(FN-4758): document CLI PR create entry points
- Add a dedicated `fn pr create <task-id>` help section in the CLI usage output
- Recast `fn task pr-create` in help text as an alias of the new PR command
- Add a changeset describing the dashboard Create-PR entry points and CLI command rollout

Fusion-Task-Id: FN-4758
2026-05-17 04:38:21 -07:00
Fusion (runfusion.ai)
2a8e3e5f0c fix(FN-4812): stabilize hoisted update-cache test fixture
Fusion-Task-Id: FN-4812
Fusion-Task-Lineage: 9877a784-5320-410c-82fa-3f6a6d9b5358
2026-05-16 19:16:48 -07:00
Fusion (runfusion.ai)
825e5479f5 test(FN-4786): stabilize cli tmp-dir tests for workspace runs
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:04 -07:00
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)
5bb15b1713 test(FN-4803): stabilize cli bundled plugin integration timeout
Fusion-Task-Id: FN-4803
Fusion-Task-Lineage: cbfa10fd-33a6-469c-9cb4-3a647bc47b84
2026-05-16 14:56:56 -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)
63502600db fix(FN-4802): align hybridExecutor type with createServer signature
Fusion-Task-Id: FN-4802
Fusion-Task-Lineage: a1436633-8000-4b3a-8d22-dcc28be69bcd
2026-05-16 13:15:00 -07:00
Fusion (runfusion.ai)
16ede9ca27 fix(FN-4774): document fn_task_search in engine skill tools
Fusion-Task-Id: FN-4774
Fusion-Task-Lineage: f3b81550-fb23-441e-aee7-44ffec63d03d
2026-05-16 11:55:40 -07:00
Fusion (runfusion.ai)
241955fa36 test(FN-4772): cover hybrid gate behavior across CLI entrypoints
Fusion-Task-Id: FN-4772
Fusion-Task-Lineage: d296e96a-fe44-4896-928a-fa44da62b41a
2026-05-16 11:32:55 -07:00
Fusion (runfusion.ai)
55575dbf8c test(FN-4772): add hybrid wiring integration and lifecycle coverage
Fusion-Task-Id: FN-4772
Fusion-Task-Lineage: d296e96a-fe44-4896-928a-fa44da62b41a
2026-05-16 11:32:55 -07:00
Fusion (runfusion.ai)
19d1b65e3f feat(FN-4772): complete Step 3 — wire hybrid executor startup
Fusion-Task-Id: FN-4772
Fusion-Task-Lineage: d296e96a-fe44-4896-928a-fa44da62b41a
2026-05-16 11:32:55 -07:00
Fusion (runfusion.ai)
1b93e1a8b1 feat(FN-4723): complete Step 4 — gate CLI worktrunk enable
Fusion-Task-Id: FN-4723
Fusion-Task-Lineage: b79b42a0-c65d-4e02-938f-d1ffabc272ee
2026-05-16 07:16:05 -07:00
Fusion (runfusion.ai)
e189599365 feat(FN-4629): complete Step 3 — add worktrunk help examples
Fusion-Task-Id: FN-4629
Fusion-Task-Lineage: b8775bc8-4c04-4259-8cad-f5a3ba0c42e4
2026-05-15 23:02:32 -07:00
Fusion (runfusion.ai)
b65717f1bf feat(FN-4629): complete Step 2 — show output for worktrunk settings
Fusion-Task-Id: FN-4629
Fusion-Task-Lineage: b8775bc8-4c04-4259-8cad-f5a3ba0c42e4
2026-05-15 23:02:32 -07:00