Commit Graph

201 Commits

Author SHA1 Message Date
Fusion
ea6e5f1e85 feat(FN-4489): complete Step 2 — relocate no-commits-expected section
Fusion-Task-Id: FN-4489
Fusion-Task-Lineage: 9f732400-0deb-4537-be92-cc58c815e9fd
2026-05-14 10:38:22 -07:00
Fusion
77308601e5 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
2773d2d6c4 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
56b5f28458 feat(FN-4288): complete Step 4 — add stall diagnostics in task detail
Fusion-Task-Id: FN-4288
Fusion-Task-Lineage: 09c6efc0-ea0b-443a-ab45-a89188fcf888
2026-05-13 16:29:37 -07:00
Fusion
19d7370552 feat(FN-4378): complete Step 5 — prompt github issue action on task delete
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
b386f9cba5 feat(FN-4329): complete Step 2 — render provenance context labels as links
Fusion-Task-Id: FN-4329
Fusion-Task-Lineage: 6a0517ee-39e6-497f-ad31-535dc3492489
2026-05-13 11:38:47 -07:00
Fusion
b0e9dc5f16 feat(FN-4329): complete Step 1 — structure github provenance context
Fusion-Task-Id: FN-4329
Fusion-Task-Lineage: 6a0517ee-39e6-497f-ad31-535dc3492489
2026-05-13 11:38:47 -07:00
Fusion
b4b80ac0cb fix(FN-4162): keep GitHub tracking enable button mounted while saving
- Keep the inline GitHub tracking Enable button mounted during save
- Disable the button while showing the in-flight tracking status spinner
- Update dashboard tests to assert the stable mounted-button behavior
- Add a changeset for the published CLI package

Fusion-Task-Id: FN-4162
2026-05-13 06:29:36 -07:00
Fusion
4354781660 fix(FN-4190): allow deferred tracking helper text to wrap
Fusion-Task-Id: FN-4190
Fusion-Task-Lineage: 5d94a4ad-32fb-4d20-8d04-5d757619f104
2026-05-13 06:29:35 -07:00
Fusion
d0de70f7eb fix(FN-4190): align deferred tracking UX copy with title-or-description gating
Fusion-Task-Id: FN-4190
Fusion-Task-Lineage: 5d94a4ad-32fb-4d20-8d04-5d757619f104
2026-05-13 06:29:35 -07:00
Fusion
8e08891a3c feat(FN-4190): complete Step 7 — tracking UX and summarization discoverability
Fusion-Task-Id: FN-4190
Fusion-Task-Lineage: 5d94a4ad-32fb-4d20-8d04-5d757619f104
2026-05-13 06:29:35 -07:00
Fusion
2c13fa137f feat(FN-4195): complete Step 1 — fix in-progress status color mapping
Fusion-Task-Id: FN-4195
Fusion-Task-Lineage: 3abaad9b-5973-41cb-bec3-3c0d3a5347ba
2026-05-13 06:29:34 -07:00
Fusion
dcbb76f75c fix(FN-4228): handle unresolved github tracking detail as loading
Fusion-Task-Id: FN-4228
Fusion-Task-Lineage: 86a2aac1-a45f-4cb0-b004-a95db3676355
2026-05-13 06:29:34 -07:00
Fusion
d86e5dff38 feat(FN-4228): complete Step 1 — render spinner during save
Fusion-Task-Id: FN-4228
Fusion-Task-Lineage: 86a2aac1-a45f-4cb0-b004-a95db3676355
2026-05-13 06:29:34 -07:00
Fusion
a86e2cc38e feat(FN-4260): add SkillsView component styles and finalize dashboard test
Finalizes the dashboard test baseline restoration by updating CSS for AgentsView and adding a new SkillsView.css stylesheet, while adjusting several related component tests to align with the restored visual baselines.

Fusion-Task-Id: FN-4260
2026-05-13 06:29:34 -07:00
Fusion
bbd92a1ae1 feat(FN-4227): add clickable file path links across dashboard
- Add reusable file path linkification utilities and FileBrowser context wiring across dashboard modals and log surfaces
- Linkify task detail, review, workflow, chat, activity, agent, dev server, and settings sync outputs so workspace paths open in the file browser
- Preserve inline code styling when wrapping detected paths and extend FileBrowserModal handling for linked navigation
- Cover the new linking behavior with dashboard tests and add a changeset plus AGENTS guidance for the reusable pattern

Fusion-Task-Id: FN-4227
2026-05-12 21:55:43 -07:00
Fusion
5e74361859 feat(FN-4055): add task ID collision audit script and recovery documentatio
Adds a standalone audit script for detecting task ID collisions, a regression test for store creation collision handling, and documentation of the recovery path; also applies minor UX refinements to ChatView and TaskDetailModal.

Fusion-Task-Id: FN-4055
2026-05-12 17:04:33 -07:00
Fusion
e75274ec70 feat(FN-4161): preserve github tracking detail after restart
Fixed GitHub issue tracking details (URL, repo, issue number) being lost when an executor restarts mid-task, with tests and docs to guard against regression.

Fusion-Task-Id: FN-4161
2026-05-12 17:04:32 -07:00
Fusion
fd2744a9e0 feat(FN-4159): shrink and keep visible the github tracking enable button in
Adds a compact GitHub tracking enable button in the task detail modal header, with a fix to keep it visible during save operations and further shrinking the inline CTA styling.

Fusion-Task-Id: FN-4159
2026-05-12 17:04:32 -07:00
Fusion
c55494eda7 feat(FN-4147): add mobile-friendly github tracking enable button in header
Adds a GitHub tracking toggle affordance to the task detail header with accompanying tests, documentation updates, and a changeset, plus a CSS fix for mobile header wrapping.

Fusion-Task-Id: FN-4147
2026-05-12 10:27:36 -07:00
Fusion
1eb6e87914 feat(FN-4047): add responsive compact timestamps and mobile icon-only contr
Restored compact timestamp rendering in AgentDetailView and TaskDetailModal, added responsive timestamp layout for mobile and desktop, and added mobile icon-only stop/run controls to AgentDetailView, with new tests covering both components and a documentation note for the compact timestamp behavior.

Fusion-Task-Id: FN-4047
2026-05-11 21:48:26 -07:00
Fusion
2ccf8c699d feat(FN-4032): add tracking retry with actionable create issue error in tas
The merge adds a GitHub integration retry lifecycle to the task tracking system, including an actionable retry mechanism for failed issue creation, fixes to tracking and auth retry flow, and corresponding tests in the dashboard and engine packages. Documentation is updated in `docs/architecture.md`

Fusion-Task-Id: FN-4032
2026-05-11 16:33:16 -07:00
Fusion
69228553d2 feat(FN-3995): add GitHub tracking disclosure to task detail modal
Added GitHub tracking disclosure UI and behavior to the TaskDetailModal with corresponding tests and documentation updates (FN-3995).

Fusion-Task-Id: FN-3995
2026-05-11 08:02:53 -07:00
Fusion
a156b74cdc feat(FN-3972): align metadata controls in TaskDetailModal
Refined TaskDetailModal metadata controls layout and styling, including test coverage to lock down the component contract.

Fusion-Task-Id: FN-3972
2026-05-10 23:36:10 -07:00
Fusion
5b32c45393 feat(FN-3959): fix GitHub tracking toggle state in task details
Fixed the GitHub tracking toggle state in the task details modal, ensuring the toggle correctly reflects and persists the tracking setting, with a test covering the inline-editing and integrations behavior.

Fusion-Task-Id: FN-3959
2026-05-10 19:13:05 -07:00
Fusion
b046d70730 feat(FN-3940): expose github tracking controls in task detail modal
Adds GitHub tracking controls to the TaskDetailModal with corresponding test coverage, and documents the feature in the dashboard guide and task management docs.

Fusion-Task-Id: FN-3940
2026-05-10 15:33:25 -07:00
Fusion
8e9cd1a531 feat(FN-3925): add task-level GitHub tracking controls to create-task and t
Adds GitHub tracking controls to the create-task flow and task detail modal, with wired patch transport to persist the setting. Includes a CLI extension alignment (FN-3921) and a post-merge typecheck fix (FN-3925).

Fusion-Task-Id: FN-3925
2026-05-10 07:34:38 -07:00
Fusion
0a55a4db4b feat(FN-3170): harden plugin bundling contract and fix verification regress
Hardened the roadmap plugin bundling contract with new output-validation tests and tsup config cleanup, then resolved regressions those changes introduced in the bundle and package-config test suites. A small dashboard UI tweak (TaskDetailModal) was also included.

Fusion-Task-Id: FN-3170
2026-05-10 06:14:19 -07:00
Fusion
860d18382d feat(FN-3875): add GitHub tracking auth resolver and forced client auth mod
Implements a tracking auth resolver with forced GitHub client authentication mode, wiring it across the GitHub tracking lifecycle and settings UI. The feature spans six steps: adding the resolver, forced auth mode, routing tracking issue creation through the resolver, and wiring into lifecycle and s

Fusion-Task-Id: FN-3875
2026-05-10 05:20:26 -07:00
Fusion
8c715168c6 feat(FN-3897): add blocker fan-out hook, badge, and detail modal section
Implemented the blocker fan-out feature across the dashboard: added a `useBlockerFanout` hook to track blocking relationships, rendered a fan-out badge on task cards, and added a blocking section to the task detail modal, with tests covering the hook and responsive modal behavior.

Fusion-Task-Id: FN-3897
2026-05-09 19:19:41 -07:00
Fusion
00b35b8ca5 feat(FN-3889): add bulk delete with dependency conflict detection to ListVi
Bulk delete in ListView is now complete with dependency conflict detection and user-facing recovery options, backed by shared utility logic and tests. The feature touched ListView's core behavior, companion tests, and a small changeset documenting the user-facing recovery behavior.

Fusion-Task-Id: FN-3889
2026-05-09 17:55:19 -07:00
Fusion
a9b796efdd feat(FN-3755): reorder task detail timestamps
Reorders timestamps in the task detail modal and adds a rendering test for the component, with a pnpm-lock bump.

Fusion-Task-Id: FN-3755
2026-05-08 13:22:28 -07:00
Fusion
954ae1078d feat(FN-3276): add task review tab with metadata persistence and desktop la
This merge lands three major features and a significant dashboard enhancement. FN-3276 adds a full Review tab to the task detail modal with multi-step lifecycle: review metadata persistence in the task store, new task workflow routes for refresh and same-task revision, and the review tab UI surface

Fusion-Task-Id: FN-3276
2026-05-07 23:21:05 -07:00
Fusion
a070c6b995 feat(FN-3711): add inline fast mode toggle and wire shared state in peer ex
This merge introduces several dashboard and engine improvements: agent inbox wake controls (FN-3087, FN-3588) with immediate message triggers; separated plugin lifecycle from setup probe state (FN-3704); assigned-agent triage inheritance in the engine (FN-3703); inline fast mode toggle in the task d

Fusion-Task-Id: FN-3711
2026-05-07 11:54:41 -07:00
Fusion
3575b5e445 feat(FN-3581): honor runtime model precedence for assigned agents
This merge delivers five major feature clusters: a fully rebuilt dependency graph plugin with draggable nodes, position persistence, modular architecture, highlighting and selection states, toolbar navigation, and keyboard controls; a new roadmap plugin with domain store, ordering logic, and compreh

Fusion-Task-Id: FN-3581
2026-05-07 06:45:45 -07:00
gsxdsm
d83fd28065 fix(dashboard): reset scroll on ChatView refocus to undo iOS drift
After dismissing and re-bringing up the mobile keyboard, iOS could
leave window.scrollY > 0 and visualViewport.offsetTop > 0. With
useMobileScrollLock then pinning body{position:fixed} relative to that
drifted scroll, the message thread anchored above the visible viewport
and a large blank area appeared below it.

handleInputFocus now resets window scroll to (0,0) on mobile in a
zero-delay timeout — late enough that iOS finishes its own
scroll-into-view first, but before useMobileScrollLock observes the
drifted state.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 20:42:14 -07:00
gsxdsm
d47e48fa78 fix(dashboard): drop terminated-state leftovers and AgentListModal duplicate Resume
Removes no-op `agents.filter((a) => true)` calls (a leftover from the
terminated AgentState refactor) flagged by eslint and updates affected
tests and fixtures so `terminated` is no longer referenced. Also:

- Deletes the duplicate `state === "paused"` render branch in
  AgentListModal list view that produced two "Resume" buttons.
- Updates the AgentDetailView help text to reflect the current
  deletable states ("idle or paused").
- Aligns the bundled-plugin-install test with the new auto-load
  behavior for already-installed enabled plugins.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 20:47:38 -07:00
gsxdsm
8eb5c3dc60 refactor(agents): remove terminated AgentState; collapse to paused/error
Drops "terminated" from AGENT_STATES. The agent lifecycle now runs through
idle | active | running | paused | error. paused (carrying a pauseReason)
absorbs every former terminated use case — manual stop, heartbeat run
termination, spawned-child cleanup. Run status (agentRuns.status) is
unchanged: "terminated" stays a valid run-status value.

AGENT_VALID_TRANSITIONS allows direct any→idle transitions so resetAgent
no longer needs the intermediate hop.

Stack-wide:
- core/agent-store: lastError clearing + resetAgent simplified.
- engine/agent-heartbeat, executor, in-process-runtime: terminated state
  writes → paused; halt-state listener fires on paused/error.
- dashboard: AgentsView/AgentListModal/AgentDetailView lose the Terminated
  badge/option/state-block; agent pickers no longer filter terminated;
  agentHealth drops the Terminated branch; routes/state cast widened to
  the new AgentState union.

Tests across core and engine updated to assert paused for AgentState and
left "terminated" intact for run-status assertions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 20:47:38 -07:00
Fusion
ca30babd97 feat(FN-3287): document PR link visibility in dashboard README
Merges the documentation update for FN-3287, adding 2 lines to the dashboard README covering PR link visibility behavior. This completes Step 5 of the task.

Fusion-Task-Id: FN-3287
2026-05-05 07:18:32 -07:00
Fusion
370391b772 feat(FN-3382): add agent self-improvement service with heartbeat evaluation
This merge introduces autosave for agent and task detail settings in the dashboard (`TaskDetailModal.tsx`, `AgentDetailView.tsx`), adds an agent self-improvement service with heartbeat evaluation logic (`agent-self-improve.ts`, `agent-heartbeat.ts`), and expands agent tools for direct-report managem

Fusion-Task-Id: FN-3382
2026-05-05 06:32:33 -07:00
Fusion
be03428e79 feat(FN-3308): fix CSS token consistency in settings and task detail modals
Fixes CSS token consistency issues in TaskDetailModal and SettingsModal, and updates the corresponding mobile overflow test to match the refactored styles.

Fusion-Task-Id: FN-3308
2026-05-04 14:05:27 -07:00
gsxdsm
89401cd2c9 Add changeset 2026-05-04 09:54:43 -07:00
Fusion
f69e8b7de9 feat(FN-3270): remove task detail status color fallbacks
Removed fallback logic for task status colors in TaskDetailModal, simplifying the component by relying on proper CSS token fallbacks instead of inline JavaScript defaults.

Fusion-Task-Id: FN-3270
2026-05-04 09:20:07 -07:00
Fusion
4135db0d77 feat(FN-3231): preserve merge-active state on verification bounce and board
This merge lands FN-3231 across two steps: it preserves a merge-active fix when verification bounces occur (step 1) and ensures the fix is retained during board routing transitions (step 2). Changes span the dashboard Board routing logic and the engine executor, with corresponding test coverage adde

Fusion-Task-Id: FN-3231
2026-05-04 07:00:39 -07:00
Fusion
8cb8055531 feat(FN-3350): tokenize task detail danger/error styling
Fixes task detail modal danger/error styling by switching to token-based CSS variables for consistent theming across dark and light modes.

Fusion-Task-Id: FN-3350
2026-05-04 04:09:28 -07:00
gsxdsm
08aa64e314 fix(dashboard): mobile keyboard scroll lock, auto-reload hash, ChatView snap
- Add useMobileScrollLock hook using position:fixed body lock (Bootstrap/
  Headless UI/Stripe pattern) to prevent iOS Safari from shifting the
  document and visualViewport when an input inside a fixed-position modal
  is focused. Wire into 15 input-bearing modals plus ChatView, replacing
  ChatView's inline body-overflow effect.
- Widen computeBuildVersion in vite.config.ts to hash the entire app/ tree
  so the version-check poll actually notices rebuilds (FN-3333 follow-up;
  previously only main.tsx and package.json were hashed).
- ChatView: on input blur, suppress keyboard-aware sizing for 450ms while
  reserving mobile-nav-bar space, so the composer snaps to its final
  height in one move instead of crawling down with iOS's keyboard slide
  and then jumping again when the nav bar reappears.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 19:01:10 -07:00
Fusion
8806d7208a feat(FN-3241): restore list view detail callback type compatibility
Fixes a type compatibility issue with the list view detail callback in the dashboard App component, restoring proper typing for the callback.

Fusion-Task-Id: FN-3241
2026-05-03 02:58:55 -07:00
Fusion
e392770be3 feat(FN-3191): keep embedded task-link navigation in split pane
Fixes task link navigation in ListView so embedded links continue working when the split pane is active, including a new test case for FN-3191.

Fusion-Task-Id: FN-3191
2026-05-03 00:57:03 -07:00
Fusion
eed181ff80 feat(FN-2998): scope ResearchView bottom safe-area padding to mobile
The merge brings in a fix (FN-2998) that scopes the bottom safe-area padding in ResearchView to mobile devices only, correcting an over-application of the padding on desktop or larger screens.

Fusion-Task-Id: FN-2998
2026-05-02 19:45:43 -07:00
Fusion
44cc899eb9 feat(FN-3185): preserve progress on task reset with explicit confirmation d
This merge implements a "preserve progress" option for task resets across the system. FN-3185 adds a `preserveProgress` flag to `moveTask` that keeps status/history when resetting tasks back to `todo`, with required explicit confirmation dialogs to prevent accidental resets. The feature is wired thr

Fusion-Task-Id: FN-3185
2026-05-02 10:20:44 -07:00