Commit Graph

788 Commits

Author SHA1 Message Date
Fusion
4404c6103e feat(FN-4053): unify task ID allocation with store-owned distributed alloca
Unifies task ID allocation under a single store-owned distributed allocator, removing redundant ID-generation logic from dashboard route handlers and simplifying the overall flow; Step 1 merges the allocation authority into the store, Step 3 removes the now-unnecessary mixed-path routing, and tests

Fusion-Task-Id: FN-4053
2026-05-11 21:48:26 -07:00
Fusion
840cd1d1e0 feat(FN-4062): add global thinking log setting to persist agent reasoning a
Adds a global `thinkingLogEnabled` setting that gates AI thinking log persistence across the engine (executor, reviewer, merger, triage, step-session) and exposes the control in the dashboard Settings modal, with tests verifying settings parity and modal behavior.

Fusion-Task-Id: FN-4062
2026-05-11 21:48:26 -07:00
Fusion
03b8bdb323 feat(FN-4057): add printing press built-in plugin entry
Bundled the Printing Press plugin into the dashboard by adding it as a built-in entry in `PluginManager.tsx` with corresponding tests and documentation updates, and included a changeset to publish the change under `@runfusion/fusion`.

Fusion-Task-Id: FN-4057
2026-05-11 21:48:26 -07:00
Fusion
e4ec922212 feat(FN-3935): align engineer role routing with explicit assignment and del
Centralized routing policy helpers in core and aligned both direct assignment and delegation to route engineer-role agents consistently, ensuring assigned tasks respect explicit engineer routing the same way delegated tasks do. Added comprehensive test coverage across core, CLI, dashboard, and engin

Fusion-Task-Id: FN-3935

Fusion-Task-Lineage: 069f4d54-f7a8-4bd3-a2c3-4de830de042f
2026-05-11 21:48:26 -07:00
Fusion
bea1345b88 feat(FN-4059): keep task timestamps on a single row in detail modal
Adds a UI refinement to the TaskDetailModal that keeps timestamps on a single row instead of wrapping, with matching tests and docs for FN-4059.

Fusion-Task-Id: FN-4059
2026-05-11 21:48:26 -07:00
Fusion
37394966ae feat(FN-4052): add mobile oauth manual-code scroll assist and modal flow te
Adds mobile OAuth manual-code fallback with scroll assistance in the OAuthManualCodeForm component, including full test coverage across ModelOnboardingModal and SettingsModal flows, plus documentation updates. Also introduces weighted test shard planning for CI.

Fusion-Task-Id: FN-4052
2026-05-11 21:48:26 -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
5c3a1df977 feat(FN-4027): memoize startup slim list reads to avoid redundant fresh fet
Added memoization for startup slim task list reads (`store.ts`), with dashboard server routing startup reads through the memo window and tests covering the store watcher consumers in scheduler and worktree-pool, plus performance documentation.

Fusion-Task-Id: FN-4027
2026-05-11 21:48:26 -07:00
Fusion
a22a665ec3 feat(FN-4050): fix mobile session title clipping in ChatView
Fixes mobile session title clipping in ChatView via CSS updates, adds a test for the fix, and updates the mobile switcher docs for FN-4050.

Fusion-Task-Id: FN-4050
2026-05-11 21:48:26 -07:00
Fusion
4d4c44bfa5 feat(FN-4043): implement weighted CI shard balancing
Implements weighted shard planning for the CI test sharding script, with deterministic test coverage and documentation updates to `contributing.md`.

Fusion-Task-Id: FN-4043
2026-05-11 21:48:26 -07:00
Fusion
a8b904c993 feat(FN-4039): recover worktree db scratch bootstrap on hydration failure
Codifies the worktree database open-path hydration failure with a recovery bootstrap mechanism, documented the behavior in storage docs, and added test coverage for the executor hydration degradation path — all gated behind a patch changeset for `@runfusion/fusion`.

Fusion-Task-Id: FN-4039
2026-05-11 21:48:26 -07:00
Fusion
c501e00fdf feat(FN-4035): dedupe integrity checks per database path
- Deduplicate concurrent integrity-check requests by sharing one in-flight check per database path
- Refactor core DB integrity-check flow to prevent redundant work while preserving safety behavior
- Add core DB tests covering deduped execution and expected integrity-check outcomes
- Document integrity-check dedup behavior in architecture docs
- Add a changeset for @runfusion/fusion patch release
2026-05-11 17:59:26 -07:00
Fusion
1d6c85e900 feat(FN-4044): restore github tracking patch persistence
Restored GitHub tracking patch persistence in the core store with matching test coverage in the task detail and routes tasks ops suites, plus documentation for the repaired flow.

Fusion-Task-Id: FN-4044
2026-05-11 17:55:09 -07:00
Fusion
a2303c67a9 feat(FN-4040): add optimistic room send with failure handling and reconcili
The merge implements optimistic room send with failure recovery in the ChatView and useChatRooms hook, including a reconciliation flow that handles send failures gracefully and documents the UX behavior. The dashboard guide and architecture docs are updated to reflect the new room messaging pattern.

Fusion-Task-Id: FN-4040
2026-05-11 16:51:01 -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
351702d055 feat(FN-4042): add mobile chat quick switcher to thread header
Added a mobile chat quick switcher accessible from the thread header, with styling for the session dropdown and test coverage. Documentation for the feature was added to MOBILE.md and the dashboard guide.

Fusion-Task-Id: FN-4042
2026-05-11 16:24:08 -07:00
Fusion
e4d071b398 feat(FN-4040): anchor mobile chat views to latest message on show
Anchored mobile ChatView and QuickChat FAB to scroll to the latest message when opened, improving chat tail behavior on small screens; added documentation for this behavior. Also aligned scoped chat manager's pluginRunner typing and expanded test coverage for both components.

Fusion-Task-Id: FN-4040
2026-05-11 15:58:26 -07:00
Fusion
5fd1e19687 feat(FN-4038): repair interview resume latch and document mission resume di
Fixed mission resume behavior in MissionManager by repairing the interview resume latch and added tests covering the feature, with a one-line documentation update to clarify resume discoverability.

Fusion-Task-Id: FN-4038
2026-05-11 15:47:40 -07:00
Fusion
554d260581 feat(FN-4036): fix zoom-aware graph pan bounds
Fixed zoom-aware graph pan bounds in the dependency graph plugin, correcting edge-case behavior when the graph is zoomed or panned. Added regression tests for graph interactions and updated documentation to cover the corrected behavior.

Fusion-Task-Id: FN-4036
2026-05-11 15:38:34 -07:00
Fusion
3ae91c5856 feat(FN-4019): prevent merge-confirmed finalization loops via self-healing
Added self-healing logic to prevent merge-confirmed tasks from re-entering the executor, with test coverage for both merge error recovery and self-healing behavior, plus corresponding architecture and task-management docs.

Fusion-Task-Id: FN-4019
2026-05-11 15:29:34 -07:00
Fusion
9bb46f5bfa feat(FN-3959): add heartbeat timer registration repair sweep
Heartbeat timer repair sweep — adds a registration repair mechanism that detects and flags stale timers via agent updates, with tests covering the new sweep behavior. Documentation updated in agents.md to reflect the repair flow.

Fusion-Task-Id: FN-3959

Fusion-Task-Lineage: 40708b6b-01e1-4673-93e1-299678de2879
2026-05-11 15:18:40 -07:00
Fusion
b0792daa0b feat(FN-4033): handle stale timers in heartbeat scheduler
Adds stale timer repair handling to the heartbeat scheduler with test coverage, and updates the agents documentation accordingly.

Fusion-Task-Id: FN-4033
2026-05-11 14:47:21 -07:00
Fusion
e6e596ebb7 feat(FN-4025): defer database integrity check and expose via health endpoin
Exposes database health status via the API by deferring integrity checks asynchronously, with docs and tests covering the core DB layer, store integration, and dashboard server health endpoint.

Fusion-Task-Id: FN-4025
2026-05-11 14:15:17 -07:00
Fusion
0157e66ff9 feat(FN-4020): surface timer repair stale health in agent health utilities
Adds health-surfacing logic for timer-triggered stale heartbeats in the engine, a new `agentHealth.tsx` dashboard utility with tests, and documentation updates for the repair behavior.

Fusion-Task-Id: FN-4020
2026-05-11 11:52:21 -07:00
Fusion
98aa09f822 feat(FN-4018): isolate split merger temp workspaces with settings persisten
Merged FN-4014 to fix dual-scope GitHub tracking settings persistence and validation (mission vs task scope), scoped repo saves to the relevant section, and documented the dual defaults. Also landed FN-4018 to isolate split merger temp workspaces and add regression checks for split-suite test isolat

Fusion-Task-Id: FN-4018
2026-05-11 11:41:19 -07:00
Fusion
c41d49f28b feat(FN-3906): add frontend scope helpers for workflow step auto-skip
Adds frontend-UX auto-skip behavior for workflow steps in the executor, with tests covering the flow and documentation of the recovery logic. A changeset is included for this patch release.

Fusion-Task-Id: FN-3906

Fusion-Task-Lineage: 3c50b82b-dd03-4ba3-8d77-5aaabb8734da
2026-05-11 11:21:21 -07:00
Fusion
f25cf6e34d feat(FN-4017): add /new command alias for task creation in quick chat
Added a `/new` slash command alias across the chat interface, with interception in ChatView, support in the QuickChatFAB, corresponding tests, and documentation in the dashboard guide.

Fusion-Task-Id: FN-4017
2026-05-11 10:45:24 -07:00
Fusion
867c684eec feat(FN-3899): stabilize blockedBy overlap stamping and add recovery utilit
Stabilizes blocked-by overlap stamping in the scheduler and adds a standalone `recover-stale-blocked-by` utility script to clear stale upstream blockers, with corresponding scheduler tests and architecture documentation.

Fusion-Task-Id: FN-3899
2026-05-11 10:36:01 -07:00
Fusion
3c2f1bdff0 feat(FN-3905): use merger session model for post-merge workflow steps
The merge implements post-merge model resolution, using the merger's own session model for executing post-merge prompt workflow steps instead of falling back to executor model defaults. Tests cover the resolution hierarchy, and documentation clarifies the precedence order for downstream consumers.

Fusion-Task-Id: FN-3905
2026-05-11 09:32:53 -07:00
Fusion
dfdfa722ed feat(FN-4005): harden durable transient recovery auto-restart flow
- Add bounded auto-restart handling in in-process runtime for durable agents after transient failures
- Extend self-healing recovery logic and transient error detection to classify and recover retryable runtime interruptions
- Add regression coverage across heartbeat executor, self-healing, and transient detector test suites
- Document durable agent transient recovery behavior in docs/agents.md

Fusion-Task-Id: FN-4005
2026-05-11 09:17:10 -07:00
Fusion
d1f4d5f579 feat(FN-3891): expose verification auto-fix retries in merge settings
- Add verificationFixRetries input to SettingsModal merge section with 0-3 clamping

- Default to 3 retries with proper empty-value fallback to undefined

- Cover edge cases with SettingsModal tests: default, valid values, clamping, clearing

- Add patch changeset for @runfusion/fusion

- Update settings-reference.md with revised default and description

Fusion-Task-Id: FN-3891
2026-05-11 08:09:14 -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
118e466104 feat(FN-4004): add bounded room thread and mailbox reply context to agents
Adds bounded room thread context and mailbox reply context to the chat system, implemented in `agent-tools.ts` with corresponding dashboard room handling in `chat.ts`; includes expanded test coverage for both modules and updated documentation in `agents.md`.

Fusion-Task-Id: FN-4004
2026-05-11 08:02:53 -07:00
gsxdsm
be728d8ebb docs: add task-lineage-reconciliation to index 2026-05-11 06:47:43 -07:00
Fusion
3a67c1b065 feat(FN-3637): establish canonical roadmap plugin ID and compatibility rout
Merged commits stabilize the Fusion roadmap plugin's identity and routing surface, establishing a canonical plugin ID and compatibility routes so the roadmap plugin integrates cleanly with the dashboard's plugin system. Added new roadmap-routes and roadmap-suggestions modules in the dashboard packag

Fusion-Task-Id: FN-3637
2026-05-11 06:47:43 -07:00
Fusion
d152261240 feat(FN-4000): add task state reconciliation script to fix stuck or inconsi
Added a task state reconciliation script (`scripts/reconcile-task-state-consistency.mjs`) with tests to detect and resolve inconsistencies between the task database and git worktree status, with support for explicit project directories and documented usage in the task management docs.

Fusion-Task-Id: FN-4000
2026-05-11 06:47:43 -07:00
Fusion
9b4cf90d25 feat(FN-3841): add worktree database hydration to executor
Implements worktree database hydration for the executor (`worktree-db-hydrate.ts`), enabling the task executor to restore its database state from a worktree on resume, with integration in `executor.ts` and comprehensive test coverage across the new module and worktree scenarios. Documentation and a

Fusion-Task-Id: FN-3841
2026-05-11 06:47:43 -07:00
Fusion
5640316e0c feat(FN-3998): add task lineage commit associations API, UI, and tests
Adds task lineage commit associations: a new API route stores and exposes which commits belong to which task, the `TaskChangesTab` surfaces these lineage links visually, and documentation covers the reconciliation model. Includes comprehensive tests for both the route and component.

Fusion-Task-Id: FN-3998
2026-05-11 06:47:43 -07:00
Fusion
6f2e8c4fc9 feat(FN-3884): implement heartbeat scope discipline for agent prompts
Adds heartbeat scope-discipline guardrails to the executor's heartbeat procedure, ensuring agents stay focused on their assigned scope rather than drifting to unrelated work. Includes tests for the updated heartbeat prompts and documentation in agents.md, shipped as a patch.

Fusion-Task-Id: FN-3884
2026-05-11 06:47:43 -07:00
Fusion
3f85d5a5f4 feat(FN-3990): add task lineage identity and association storage
Adds task lineage storage infrastructure (FN-3990 Step 2), introducing a dedicated `task-lineage.ts` module and related types to track task identity and association relationships, with corresponding database schema and store support plus tests and documentation for the lineage reconciliation process

Fusion-Task-Id: FN-3990
2026-05-11 06:47:43 -07:00
Fusion
2639849ee4 feat(FN-3826): canonicalize reports plugin manifest ID
Canonicalizes the Fusion reports plugin's manifest ID and exports a reports schema alias from the package index, with tests aligned to the new identifiers.

Fusion-Task-Id: FN-3826
2026-05-11 06:47:43 -07:00
Fusion
fea6438e36 feat(FN-3986): remove PR lint pre-build and bun setup from pr-checks workfl
Removes the PR lint pre-build step from the GitHub Actions workflow and adds a new test suite (`ci-workflow.test.ts`) covering CI workflow behavior, with a small documentation update.

Fusion-Task-Id: FN-3986
2026-05-11 06:47:43 -07:00
Fusion
d2dd85993d feat(FN-3973): document spawn agent approval policy
Documents the spawn agent approval evaluation policy by adding a new `docs/spawn-agent-approval-evaluation.md` (48 lines), updating `docs/agents.md` with related guidance, trimming `docs/architecture.md`, and bumping the agent delegation section in `AGENTS.md`. The new evaluation doc captures the FN

Fusion-Task-Id: FN-3973
2026-05-11 06:47:43 -07:00
Fusion
f6af38318b feat(FN-3967): document executorRuntimeEnv plugin hook
Adds `docs/PLUGIN_AUTHORING.md` documenting the `executorRuntimeEnv` hook with cross-references to the architecture docs, accompanied by tests validating the documentation contract.

Fusion-Task-Id: FN-3967
2026-05-11 06:47:43 -07:00
Fusion
c02aadec19 feat(FN-3976): reclassify github import action gating
Completes FN-3976 by reclassifying GitHub import action gating in the engine's `gating-classifications.ts`, updating documentation in `docs/agents.md` accordingly, and adding test coverage across four gating test suites.

Fusion-Task-Id: FN-3976
2026-05-11 06:47:42 -07:00
Fusion
544383ab3f feat(FN-3981): document room message resync contract and reproduce reply vi
Fixes a room reply visibility gap in the chat rooms hook by correcting the message-resync condition and adding test coverage to reproduce the issue, with updated documentation for the resync contract.

Fusion-Task-Id: FN-3981
2026-05-11 06:47:42 -07:00
Fusion
00c46a056b feat(FN-3982): split monolithic store.test.ts into archive-search, run-muta
Split the monolithic `store.test.ts` suite into three focused test files (`store-workflow-steps.test.ts`, `store-archive-search.test.ts`, `store-run-mutation-context.test.ts`) and updated the test audit report with post-split timing benchmarks.

Fusion-Task-Id: FN-3982
2026-05-11 06:47:42 -07:00
Fusion
858bab241b feat(FN-3970): consolidate Even plugin APIs into unified package with webho
Collapsed the Even plugin architecture into a single unified plugin by merging board card routes and replacing the transport stub with a real webhook implementation, removing the separate cards plugin from the workspace. The new unified plugin (`fusion-plugin-even-realities-glasses`) now exports con

Fusion-Task-Id: FN-3970
2026-05-11 06:47:42 -07:00
Fusion
c4a3839874 feat(FN-3962): align fn_task_done recovery detection in self-healing
Refined self-healing recovery logic for tasks that lack a `fn_task_done` signal, aligned detection in the engine with matching test coverage and architecture documentation for the recovery behavior.

Fusion-Task-Id: FN-3962
2026-05-11 06:47:42 -07:00
Fusion
31776c76ad feat(FN-3978): split monolithic TaskStore test suite into focused domain fi
Split the monolithic `store.test.ts` suite into ten focused test modules by domain (attachments, migration, persistence, plugin routing, priority, prompt generation, settings, token usage, watcher) plus a shared helpers file, reducing the main suite by ~3000 lines while adding documentation on the s

Fusion-Task-Id: FN-3978
2026-05-11 06:47:42 -07:00