Commit Graph

175 Commits

Author SHA1 Message Date
gsxdsm
200dda95dc feat(FN-5624): suppress transient task.json ENOENT with guard, logging, and
Implements graceful suppression of transient `task.json` ENOENT errors in the executor, logging a suppression signal and surfacing a banner in the UI, with test coverage for both the executor behavior and notification service. Documentation in `docs/architecture.md` and a changeset for `@runfusion/f

Fusion-Task-Id: FN-5624

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
Fusion-Task-Id: FN-5624
2026-05-28 12:10:03 -07:00
gsxdsm
e84673c632 feat(FN-5618): handle deleted source issues in TaskCard
Implements source issue delete handling in the task dashboard, including prompt-based user interaction for source-linked issues, new GitHub tracking state logic in `packages/dashboard/src/github-tracking-state.ts`, and corresponding test coverage, with documentation added to `docs/task-management.md

Fusion-Task-Id: FN-5618

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
Fusion-Task-Id: FN-5618
2026-05-28 08:57:59 -07:00
gsxdsm
b22112af89 feat(FN-5482): suppress touch-synthesized mouse events on overlay dismiss
Adds a `useOverlayDismiss` hook that suppresses touch-synthesized mouse events on modal/dropdown overlays to prevent unintended close behavior on touch devices, with tests covering TaskCard dismissal and overlay interaction edge cases. Documentation updates in AGENTS.md and docs/architecture.md capt

Fusion-Task-Id: FN-5482

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
Fusion-Task-Id: FN-5482
2026-05-23 02:06:11 -07:00
gsxdsm
f58fb8955a fix(engine-tests): eliminate temp-dir leak and raise subprocess guard for concurrent workspace runs
Two engine merger tests created mkdtempSync workspaces directly in tmpdir()
under the tracked `fusion-test-` prefix; under full-suite concurrent load
the post-run check-test-isolation flagged them as leaks. Route both
(`merger-no-op-fix-finalize.test.ts`, `merger-verification-fix-already-on-main.test.ts`)
through FUSION_TEST_WORKER_ROOT like sibling merger tests so they nest
inside the already-tracked worker root.

Bump engine vitest subprocess guard from 60s to 120s and testTimeout to
30s — plain git commands (branch -d, worktree remove) queued behind
system contention during `pnpm -r --workspace-concurrency=2` runs were
timing out. The guard only fires on hangs, so healthy tests pay nothing.

Also bundles in-progress dashboard mobile-breakpoint regex/CSS test
updates and docs index additions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 20:20:42 -07:00
Fusion (runfusion.ai)
c9ff2078b5 feat(FN-5314): add broad-scope advisory chip to TaskCard and banner to Task
Adds broad-scope advisory chips to TaskCard and banner to TaskDetailModal with comprehensive test coverage and a dashboard guide entry. TaskCard gains an inline advisory chip (with styles), TaskDetailModal gets a matching banner, and both components have dedicated test suites covering the new UI ele

Fusion-Task-Id: FN-5314

Fusion-Task-Lineage: cbc88f36-d029-4e4b-ac9c-32a77560b8b9
2026-05-20 09:42:40 -07:00
Fusion (runfusion.ai)
61dd439e20 feat(FN-5252): update done-card files chip display logic
Adds a new files chip on done-state TaskCards showing insertion/deletion counts, backed by new types (`filesChanged`, `insertions`, `deletions`) in core; architecture docs updated to reflect the change. The component implementation is a net reduction of 20 lines, with corresponding test coverage add

Fusion-Task-Id: FN-5252
2026-05-19 21:33:08 -07:00
Fusion (runfusion.ai)
e6c7dcdd64 feat(FN-5139): wire lineage unlink delete and archive flows
Fusion-Task-Id: FN-5139
Fusion-Task-Lineage: c16f4245-bfda-4b9a-bd98-ffc44b45f5a0
2026-05-19 18:56:24 -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
gsxdsm
b6623c6001 feat(FN-5123): merge fusion/fn-5123 2026-05-19 06:16:06 -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
gsxdsm
f11695311a feat(FN-5088): merge fusion/fn-5088 2026-05-18 18:38:00 -07:00
gsxdsm
ceafb0ee9f feat(FN-5080): merge fusion/fn-5080 2026-05-18 16:23:24 -07:00
gsxdsm
aad1219037 feat(FN-4967): merge fusion/fn-4967 2026-05-18 15:50:48 -07:00
gsxdsm
57eaac42bf feat(FN-5061): merge fusion/fn-5061 2026-05-18 13:16:35 -07:00
gsxdsm
ead2ed89aa feat(FN-5055): merge fusion/fn-5055 2026-05-18 09:02:00 -07:00
Fusion (runfusion.ai)
b92266a38a test(FN-4909): align far-right chip assertions with new DOM order
Fusion-Task-Id: FN-4909
Fusion-Task-Lineage: b317a89c-7dfe-4e95-8901-c98ed61aba7d
2026-05-18 08:03:23 -07:00
Fusion (runfusion.ai)
28b93da710 test(FN-4909): complete Step 3 — update footer order assertion
Fusion-Task-Id: FN-4909
Fusion-Task-Lineage: b317a89c-7dfe-4e95-8901-c98ed61aba7d
2026-05-18 08:03:23 -07:00
Fusion (runfusion.ai)
68c63954ce test(FN-5045): complete Step 3 — update Create PR chip styling assertions
Fusion-Task-Id: FN-5045
Fusion-Task-Lineage: d4b967ed-64b6-4a51-9f33-bb7a19e7739d
2026-05-18 07:04:43 -07:00
Fusion (runfusion.ai)
4b5c7475f4 feat(FN-4996): complete Step 2 — add done-task archive-instead flow in TaskCard
Fusion-Task-Id: FN-4996
Fusion-Task-Lineage: 650bb5e4-18f2-41a0-ae46-b9112c4a0d74
2026-05-18 05:51:14 -07:00
Fusion (runfusion.ai)
02065e43d5 test(FN-5017): complete Step 4 — cover create PR quick action behavior
Fusion-Task-Id: FN-5017
Fusion-Task-Lineage: aeedc3f2-7df8-4467-94b1-77b13b6554e3
2026-05-18 00:47:08 -07:00
Fusion (runfusion.ai)
53e0372bc9 test(FN-4986): complete Step 3 — update footer cluster alignment assertions
Fusion-Task-Id: FN-4986
Fusion-Task-Lineage: d7a2c969-f3ea-4f93-bcdb-f86521845fce
2026-05-17 21:34:06 -07:00
Fusion (runfusion.ai)
b60f359088 test(FN-4937): complete Step 2 — cover matching import and linked issue permutations
Fusion-Task-Id: FN-4937
Fusion-Task-Lineage: 1eceb69d-b6b2-4256-9629-3841a03b68e9
2026-05-17 15:10:00 -07:00
Fusion (runfusion.ai)
b99298d559 test(FN-4923): complete Step 2 — add tracking chip alignment regressions
Fusion-Task-Id: FN-4923
Fusion-Task-Lineage: 2ea94680-edd7-40a9-92a6-9774b97a75f4
2026-05-17 13:07:54 -07:00
gsxdsm
724f8bf908 feat(FN-4906): merge fusion/fn-4906 2026-05-17 09:56:03 -07:00
Fusion (runfusion.ai)
a9fd0ef2e7 test(FN-4713): complete Step 2 — cover in-review far-right chip behavior
Fusion-Task-Id: FN-4713
Fusion-Task-Lineage: 16b63893-dcb5-4cf3-baae-c7353db54d38
2026-05-15 22:35:07 -07:00
Fusion
67c2fbc182 feat(FN-4646): complete Step 4 — prefer landed file metadata in dashboard
Fusion-Task-Id: FN-4646
Fusion-Task-Lineage: f921098e-3407-40fa-984d-720e0c3248c7
2026-05-15 13:22:19 -07:00
Fusion
92721f41f5 test(FN-4647): complete Step 5 — add done-task diff labeling regressions
Fusion-Task-Id: FN-4647
Fusion-Task-Lineage: c86304d4-ff28-478a-a254-8ddaeca53447
2026-05-15 12:07:52 -07:00
Fusion
0c38c17923 test(FN-4634): complete Step 3 — cover in-progress github chip far-right modifier
Fusion-Task-Id: FN-4634
Fusion-Task-Lineage: 87cc75e7-ba50-4cb5-bb9f-6d86f49268e0
2026-05-15 10:05:46 -07:00
Fusion
0c139a455f feat(FN-4618): add inline in-review move control with meta row
Adds an inline move-control button to the TaskCard meta row for in-review tasks, letting users move tasks directly from the board without opening the detail panel. Tests and a workflow-step allowlist entry were added alongside the CSS and component changes.

Fusion-Task-Id: FN-4618
2026-05-15 09:31:00 -07:00
Fusion
1ffa0b7a0f test(FN-4607): complete Step 3 — add github badge alignment regressions
Fusion-Task-Id: FN-4607
Fusion-Task-Lineage: efd8db24-f734-49c8-8eb4-a96ae78c0afd
2026-05-15 08:16:50 -07:00
Fusion
d1d2b439b7 test(FN-4595): cover legacy backfill and wall-clock timing display
Fusion-Task-Id: FN-4595
Fusion-Task-Lineage: 73a3d0ad-5c10-4560-aec5-f9d138deeefd
2026-05-15 07:50:34 -07:00
Fusion
3648d1e1df feat(FN-4595): implement cumulative execution timing semantics
Fusion-Task-Id: FN-4595
Fusion-Task-Lineage: 73a3d0ad-5c10-4560-aec5-f9d138deeefd
2026-05-15 07:50:34 -07:00
Fusion
7ca0e10b11 feat(FN-4592): complete Step 3 — treat userPaused as paused in TaskCard
Fusion-Task-Id: FN-4592
Fusion-Task-Lineage: b013a15e-7cd9-4ba4-b380-22627cefb394
2026-05-15 06:32:37 -07:00
Fusion
2d74b5db18 test(FN-4573): complete Step 3 — update move control placement regression
Fusion-Task-Id: FN-4573
Fusion-Task-Lineage: 874cd700-dc35-4568-b4ba-c27719168521
2026-05-15 01:12:04 -07:00
Fusion
9b7d63b6e8 test(FN-4570): complete Step 4 — add TaskCard merge-blocker regression
Fusion-Task-Id: FN-4570
Fusion-Task-Lineage: 08deec6d-a54a-4296-9443-3101662314f2
2026-05-15 01:02:57 -07:00
Fusion
8e59e9600d feat(FN-4566): unify task card tracking retry timing chips
Unified the task card tracking retry timing chips in the dashboard, refactoring the display logic and styling for consistency across task states. The CSS was significantly simplified while tests were expanded to cover the new chip behavior.

Fusion-Task-Id: FN-4566
2026-05-15 00:48:45 -07:00
Fusion
4ea7aa1f8e feat(FN-4525): enforce shared chip heights across TaskCard columns
Completes Step 5 of FN-4525 by enforcing consistent chip heights in TaskCard components, adding CSS rules in both the component and global stylesheets with corresponding test coverage.

Fusion-Task-Id: FN-4525
2026-05-14 23:48:28 -07:00
Fusion
5dc02d2337 feat(FN-4462): complete Step 2 — render retry-exhausted badge text
Fusion-Task-Id: FN-4462
Fusion-Task-Lineage: 15fc09f5-1363-429e-b131-9c9fdabee532
2026-05-14 22:57:47 -07:00
Fusion
935d9bae25 feat(FN-4538): complete Step 5 — show overlap blockers in dashboard
Fusion-Task-Id: FN-4538
Fusion-Task-Lineage: 332b4c78-b67f-45d0-9181-0bb539b662c1
2026-05-14 22:24:51 -07:00
Fusion
273fc7018a feat(FN-4452): complete Step 4 — surface stale paused review in dashboard
Fusion-Task-Id: FN-4452
Fusion-Task-Lineage: 7d8b1c13-883b-4815-94ee-fdf18ad24e5f
2026-05-14 18:35:30 -07:00
Fusion
34328aad92 feat(FN-4527): complete Step 2 — enforce done-task diffStats precedence in TaskCard
Fusion-Task-Id: FN-4527
Fusion-Task-Lineage: de75c453-dc86-43d2-9cc5-50b20ee7014d
2026-05-14 18:07:05 -07:00
Fusion
87ca698e3c feat(FN-4540): relocate in-review move control to TaskCard
Relocated the in-review move control within TaskCard, refactoring both the component layout and styling with accompanying tests — the CSS and TSX changes indicate a significant repositioning of controls while the new test file validates the updated behavior.

Fusion-Task-Id: FN-4540
2026-05-14 16:11:56 -07:00
Fusion
ff2b7607a9 feat(FN-3977): complete Step 3 — overlap bottleneck dashboard copy
Fusion-Task-Id: FN-3977
Fusion-Task-Lineage: c84f2ce0-3726-49b2-ad84-6703edbfecf1
2026-05-14 15:49:55 -07:00
Fusion
b8e387a004 test(FN-4511): complete Step 3 — assert badge icon and geometry parity
Fusion-Task-Id: FN-4511
Fusion-Task-Lineage: 9bc31d0c-643c-4f31-82b7-ecfc76d05731
2026-05-14 12:38:59 -07:00
Fusion
a673718b50 feat(FN-4371): complete remaining decision-only task handling
Fusion-Task-Id: FN-4371
Fusion-Task-Lineage: 4175ba4c-b7cb-4f3a-87c5-75e51f06c0ff
2026-05-14 09:59:15 -07:00
Fusion
0ec2163fdb feat(FN-4481): complete Step 4 — align github badge size and coverage
Fusion-Task-Id: FN-4481
Fusion-Task-Lineage: 8b52379c-60b7-4cae-b655-7ed780c5c523
2026-05-14 09:19:14 -07:00
Fusion
927a32182d feat(FN-4465): complete Step 4 — dashboard stale signal surfacing
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:16 -07:00
Fusion
cf7d727c3f feat(FN-4288): complete Step 3 — add task card stall badge
Fusion-Task-Id: FN-4288
Fusion-Task-Lineage: 09c6efc0-ea0b-443a-ab45-a89188fcf888
2026-05-13 16:29:37 -07:00
Fusion
89ef3704ba feat(FN-4370): complete Step 2 — honor live badge sources in TaskCard gating
Fusion-Task-Id: FN-4370
Fusion-Task-Lineage: c18188d5-c478-4233-943f-943b0125b271
2026-05-13 15:05:05 -07:00
Fusion
1c4eee177d feat(FN-4370): complete Step 1 — fix badge null-merge semantics
Fusion-Task-Id: FN-4370
Fusion-Task-Lineage: c18188d5-c478-4233-943f-943b0125b271
2026-05-13 15:05:05 -07:00