gsxdsm
38adeba79f
test(dashboard): stub getSelfHealingManager on remote-access engine mock
...
server.ts createServer now invokes engine.getSelfHealingManager() to
wire the self-healing branch-rebind hook. The headless engine fake in
remote-access-headless.test.ts hadn't been updated. Add a vi.fn() stub
so the mock satisfies the engine surface contract.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:51:40 -07:00
gsxdsm
061d28a8a6
test(dashboard): fix insight-run-sweeper Database constructor usage
...
createDatabase(":memory:") fails the absolute-path guard added to the
Database constructor. Use a real tmp dir with inMemory: true, and call
db.init() to materialize project_insight_runs before InsightStore is
constructed. Fixes 5 failing tests.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:51:07 -07:00
gsxdsm
d9f105baf2
fix(dashboard): defend MissionManager.loadMissions against non-array fetch results
...
When fetchMissions returns a non-array (envelope shape, error path, or
mocked detail object) setMissions(data) leaks the bad shape into render,
where missions.filter() throws "is not a function" and crashes the
entire MissionManager test file. Coerce to [] before storing, matching
the existing defenses on the useState init and cache-hydration paths.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:48:23 -07:00
gsxdsm
2a8e6574de
test(dashboard): add fetchProjects to settings test ../../api mocks
...
SettingsModalNodeRouting and settings-mobile both mock ../../api but
omit fetchProjects, which the SettingsModal now calls during mount.
Add a stub returning an empty list. Drops SettingsModalNodeRouting
failures from 14 → 0 and settings-mobile from 9 → 1 (residual failure
is unrelated and tracked separately).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:45:36 -07:00
gsxdsm
cfd20d319a
test(dashboard): add deterministicGuardLocks to @fusion/core mocks
...
proxy-routes and routes-agent-skills tests mock @fusion/core but omit
the deterministicGuardLocks Map that register-task-workflow-routes
imports at module-load time. Add the export so the mock satisfies the
shape consumers expect. Fixes 24 failing tests across the two files.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:44:53 -07:00
Fusion (runfusion.ai)
d475c355e5
test(FN-5189): clean lint warning during verification
...
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)
87c266d497
test(FN-5160): complete Step 3 — add mobile layout contracts
...
Fusion-Task-Id: FN-5160
Fusion-Task-Lineage: 4817bb14-178e-4914-aa60-d0184fba653b
2026-05-19 15:53:11 -07:00
Fusion (runfusion.ai)
16c87c0722
feat(FN-5160): complete Step 2 — add modal body hooks
...
Fusion-Task-Id: FN-5160
Fusion-Task-Lineage: 4817bb14-178e-4914-aa60-d0184fba653b
2026-05-19 15:53:11 -07:00
Fusion (runfusion.ai)
0f29c0d1bb
feat(FN-5160): complete Step 1 — polish SecretsView CSS
...
Fusion-Task-Id: FN-5160
Fusion-Task-Lineage: 4817bb14-178e-4914-aa60-d0184fba653b
2026-05-19 15:53:10 -07:00
Fusion (runfusion.ai)
587e9b416c
feat(FN-5155): stabilize mobile keyboard viewport metrics
...
Stabilizes mobile keyboard viewport metrics in the `useMobileKeyboard` hook, with tests covering the hook and `ChatView` integration; a minor dashboard command adjustment is included.
Fusion-Task-Id: FN-5155
2026-05-19 13:38:31 -07:00
Fusion (runfusion.ai)
356411ef06
test(FN-5150): complete Step 2 — cover review-tab create PR path
...
Fusion-Task-Id: FN-5150
Fusion-Task-Lineage: 09bf24f1-5d23-4049-bd5e-7afbea0a59ae
2026-05-19 12:13:46 -07:00
Fusion (runfusion.ai)
7be22cc07e
fix(FN-5150): complete Step 1 — mount PrCreateModal tab-agnostically
...
Fusion-Task-Id: FN-5150
Fusion-Task-Lineage: 09bf24f1-5d23-4049-bd5e-7afbea0a59ae
2026-05-19 12:13:46 -07:00
Fusion (runfusion.ai)
6431c972e8
test(FN-5152): complete Step 4 — add near-duplicate route regressions
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:54 -07:00
Fusion (runfusion.ai)
97035f2d87
feat(FN-5152): complete Step 3 — add dashboard near-duplicate gate
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:54 -07:00
Fusion (runfusion.ai)
d8309d2920
feat(FN-5152): complete Step 2 — add near-duplicate activity event type
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:54 -07:00
gsxdsm
71a2ea1954
feat(FN-5162): merge fusion/fn-5162
2026-05-19 11:14:49 -07:00
Fusion (runfusion.ai)
e0b82fda6b
test(FN-5151): complete Step 5 — add autosize regression coverage
...
Fusion-Task-Id: FN-5151
Fusion-Task-Lineage: 17ebfc3f-6b6d-44a6-8243-7e8b8b140057
2026-05-19 10:39:56 -07:00
Fusion (runfusion.ai)
a34914ede6
feat(FN-5151): complete Step 4 — raise composer CSS caps
...
Fusion-Task-Id: FN-5151
Fusion-Task-Lineage: 17ebfc3f-6b6d-44a6-8243-7e8b8b140057
2026-05-19 10:39:56 -07:00
Fusion (runfusion.ai)
2ee6b6c145
feat(FN-5151): complete Step 3 — align AgentOnboardingModal caps
...
Fusion-Task-Id: FN-5151
Fusion-Task-Lineage: 17ebfc3f-6b6d-44a6-8243-7e8b8b140057
2026-05-19 10:39:56 -07:00
Fusion (runfusion.ai)
0b7195699b
feat(FN-5151): complete Step 2 — align PlanningModeModal caps
...
Fusion-Task-Id: FN-5151
Fusion-Task-Lineage: 17ebfc3f-6b6d-44a6-8243-7e8b8b140057
2026-05-19 10:39:56 -07:00
Fusion (runfusion.ai)
07ed4ca8e5
feat(FN-5151): complete Step 1 — align MessageComposer cap
...
Fusion-Task-Id: FN-5151
Fusion-Task-Lineage: 17ebfc3f-6b6d-44a6-8243-7e8b8b140057
2026-05-19 10:39:55 -07:00
gsxdsm
abfbbcda1e
feat(FN-5140): merge fusion/fn-5140
2026-05-19 10:29:42 -07:00
Fusion (runfusion.ai)
ba1604835b
feat(FN-5144): add create PR metadata and preflight routes
...
- Add dashboard routes to generate PR title/body metadata for task branches
- Add PR preflight diagnostics for base branch resolution, remote branch checks, commit summaries, changed files, conflicts, and gh auth state
- Cover the new Create PR route contracts and metadata preflight behavior with dashboard tests
- Add a changeset for the published @runfusion/fusion package
Fusion-Task-Id: FN-5144
2026-05-19 10:25:37 -07:00
Fusion (runfusion.ai)
247437ef30
fix(FN-5154): satisfy strict null checks in attribution helper
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:25:01 -07:00
Fusion (runfusion.ai)
d33cfaa7eb
test(FN-5154): align legacy rebase-range expectation with attribution fallback
...
Fusion-Task-Id: FN-5154
2026-05-19 09:24:51 -07:00
Fusion (runfusion.ai)
817cbfb260
test(FN-5154): complete Step 4 — cover TaskCard restricted clamp
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:51 -07:00
Fusion (runfusion.ai)
f1b9cb9af6
test(FN-5154): complete Step 3 — cover attribution-restricted done diffs
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:51 -07:00
Fusion (runfusion.ai)
78e9227b82
fix(FN-5154): complete Step 2 — clamp done card diff count
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:50 -07:00
Fusion (runfusion.ai)
fc21c69cbc
test(FN-5154): align rebase-range fixtures with attribution semantics
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:50 -07:00
Fusion (runfusion.ai)
d849539198
feat(FN-5154): complete Step 1 — restrict done rebase diff ranges
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:49 -07:00
Fusion (runfusion.ai)
4e3a4731aa
feat(FN-5154): complete Step 0 — add done-range attribution helper
...
Fusion-Task-Id: FN-5154
Fusion-Task-Lineage: 1ca8d162-343b-4d55-bcba-c34efa331ac4
2026-05-19 09:24:49 -07:00
Fusion (runfusion.ai)
20ce7829c7
feat(FN-5141): complete Step 4 — document soft-delete API semantics
...
Fusion-Task-Id: FN-5141
Fusion-Task-Lineage: 2f90daca-c147-4807-b780-09f8f54580ae
2026-05-19 08:38:25 -07:00
Fusion (runfusion.ai)
5996787cb1
test(FN-5148): extend stale guard coverage to all tracking handlers
...
Fusion-Task-Id: FN-5148
Fusion-Task-Lineage: af70f85f-ec90-4040-bbf3-9e1bce3a49b9
2026-05-19 08:20:23 -07:00
Fusion (runfusion.ai)
ab5158e680
test(FN-5148): complete Step 4 — add stale github tracking modal coverage
...
Fusion-Task-Id: FN-5148
Fusion-Task-Lineage: af70f85f-ec90-4040-bbf3-9e1bce3a49b9
2026-05-19 08:20:23 -07:00
Fusion (runfusion.ai)
e474e51d70
test(FN-5148): complete Step 3 — cover detail task id guard
...
Fusion-Task-Id: FN-5148
Fusion-Task-Lineage: af70f85f-ec90-4040-bbf3-9e1bce3a49b9
2026-05-19 08:20:23 -07:00
Fusion (runfusion.ai)
c4b378880c
feat(FN-5148): complete Step 2 — guard stale github tracking updates
...
Fusion-Task-Id: FN-5148
Fusion-Task-Lineage: af70f85f-ec90-4040-bbf3-9e1bce3a49b9
2026-05-19 08:20:23 -07:00
Fusion (runfusion.ai)
7d94cc367b
feat(FN-5148): complete Step 1 — guard updateDetailTask id drift
...
Fusion-Task-Id: FN-5148
Fusion-Task-Lineage: af70f85f-ec90-4040-bbf3-9e1bce3a49b9
2026-05-19 08:20:23 -07:00
Fusion (runfusion.ai)
b6b1af240a
docs(FN-5135): document dashboard soft-delete handling invariant
...
Fusion-Task-Id: FN-5135
Fusion-Task-Lineage: 182c496e-4e3a-4353-be53-86dd4cc5ba19
2026-05-19 08:13:07 -07:00
Fusion (runfusion.ai)
00518179eb
test(FN-5135): cover search-refresh deletedAt edge path
...
Fusion-Task-Id: FN-5135
Fusion-Task-Lineage: 182c496e-4e3a-4353-be53-86dd4cc5ba19
2026-05-19 08:13:07 -07:00
Fusion (runfusion.ai)
a17179b6b3
fix(FN-5135): suppress soft-deleted tasks across useTasks feeds
...
Fusion-Task-Id: FN-5135
Fusion-Task-Lineage: 182c496e-4e3a-4353-be53-86dd4cc5ba19
2026-05-19 08:13:07 -07:00
Fusion (runfusion.ai)
ee92b71533
test(FN-5135): lock deletedAt SSE payload contract
...
Fusion-Task-Id: FN-5135
Fusion-Task-Lineage: 182c496e-4e3a-4353-be53-86dd4cc5ba19
2026-05-19 08:13:06 -07:00
Fusion (runfusion.ai)
95d5c08c23
test(FN-5135): add deletedAt SSE regression coverage
...
Fusion-Task-Id: FN-5135
Fusion-Task-Lineage: 182c496e-4e3a-4353-be53-86dd4cc5ba19
2026-05-19 08:13:06 -07:00
Fusion (runfusion.ai)
6db8c60bef
test(FN-5146): complete Step 4 — update autosize caps and growth regression coverage
...
Fusion-Task-Id: FN-5146
Fusion-Task-Lineage: 55a9837f-d0e1-475b-9f7f-45262141352e
2026-05-19 07:57:38 -07:00
Fusion (runfusion.ai)
5a1f20f864
feat(FN-5146): complete Step 2 — raise composer height caps
...
Fusion-Task-Id: FN-5146
Fusion-Task-Lineage: 55a9837f-d0e1-475b-9f7f-45262141352e
2026-05-19 07:57:38 -07:00
Fusion (runfusion.ai)
ad35a1ccfc
test(FN-5134): complete Step 2 — cover no-worktree badge suppression
...
Fusion-Task-Id: FN-5134
Fusion-Task-Lineage: 1d7fd2a5-de42-4977-a4b9-583c04124c5d
2026-05-19 07:36:11 -07:00
Fusion (runfusion.ai)
d646bfb4b2
feat(FN-5134): complete Step 1 — suppress no-worktree in-review badge
...
Fusion-Task-Id: FN-5134
Fusion-Task-Lineage: 1d7fd2a5-de42-4977-a4b9-583c04124c5d
2026-05-19 07:36:11 -07:00
Fusion (runfusion.ai)
7652bbf29e
feat(FN-5136): lock quick entry submit before duplicate check
...
Adds duplicate-submission guard to the Quick Entry box, locking the submit action before the duplicate check resolves and preventing concurrent or double submissions from creating duplicate tasks. Includes tests covering the lock/unlock flow and duplicate-skip behavior.
Fusion-Task-Id: FN-5136
2026-05-19 07:35:24 -07:00
gsxdsm
b6623c6001
feat(FN-5123): merge fusion/fn-5123
2026-05-19 06:16:06 -07:00
Fusion (runfusion.ai)
4915e80fc8
feat(FN-5091): complete Step 5 — extend backlog health allowlist
...
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:17 -07:00