Commit Graph

4586 Commits

Author SHA1 Message Date
Fusion
9044fbc5a5 feat(FN-3954): restore scoped mission interview persistence and resume
Scoped mission interview persistence is restored, enabling resume functionality within mission interview flows, with corresponding test coverage and documentation. The implementation touches MissionManager, mission-interview routing, and plugin view registration, with the bulk of changes in tests an

Fusion-Task-Id: FN-3954
2026-05-10 15:50:03 -07:00
Fusion
8e958e6879 feat(FN-3953): wire agent provisioning approval policy into engine tools
Merged agent provisioning approval policies into the engine with guard controls that restrict which agents can be created and by whom, integrated through the CLI extension and core policy definitions.

Fusion-Task-Id: FN-3953
2026-05-10 15:34:58 -07:00
Fusion
6769b836f6 feat(FN-3763): add cli printing press wizard plugin
Implements a new `fusion-plugin-cli-printing-press` plugin with a multi-step wizard UI for authoring CLI commands, including draft storage, route registration, and validation — plus integration wiring in the dashboard's plugin view registry. Includes TypeScript build and ESM import fixes for the plu

Fusion-Task-Id: FN-3763
2026-05-10 15:34:09 -07:00
Fusion
cedf07c1fe feat(FN-3953): enable tracking issue creation on task edit and document the
Implements GitHub tracking issue creation on PATCH operations for FN-3953, with accompanying test coverage and documentation updates for edit-time tracking.

Fusion-Task-Id: FN-3953
2026-05-10 15:34:09 -07:00
Fusion
5f4fd222da feat(FN-3952): expose full mesh state aggregation and fix graph selection b
Exposed full mesh state aggregation via mesh routes with corresponding tests, refined the dependency graph to decouple node selection from opening task details, and documented the new aggregation API.

Fusion-Task-Id: FN-3952
2026-05-10 15:34:09 -07:00
Fusion
bcb4107a1a feat(FN-3932): add orphaned finalize-reset autostash safeguard in merger
The merger gains a safeguard that automatically stashes work when a finalize-reset leaves orphaned records, preventing merge-state corruption. Core exports the new orphan record type, project-engine wires the safeguard, and documentation traces the provenance flow; tests were added for the recovery

Fusion-Task-Id: FN-3932
2026-05-10 15:34:09 -07:00
Fusion
06daea7e3d feat(FN-3787): add approval workflow and share blocks to reports plugin
Added an approval workflow to the reports plugin comprising a state machine (`approval.ts`), share blocks logic (`share-blocks.ts`), API routes for approvals, and two new dashboard panels (ReportApprovalPanel and ShareBlocksPanel), with corresponding tests; also updated the plugin README and added a

Fusion-Task-Id: FN-3787
2026-05-10 15:34:09 -07:00
Fusion
73f0318160 feat(FN-3946): add heartbeat scope guidance to agent-heartbeat
Adds heartbeat scope guidance to the agent-heartbeat module with corresponding tests, helping agents understand when and how to scope their heartbeat work.

Fusion-Task-Id: FN-3946
2026-05-10 15:34:09 -07:00
Fusion
4f5b0539d7 feat(FN-3945): add regression test for bottom snap open transition
Adds a regression test covering the QuickChatFAB open-transition bottom snap behavior.

Fusion-Task-Id: FN-3945
2026-05-10 15:34:09 -07:00
Fusion
e58b0aa830 fix(FN-3944): reconcile dependency-graph focus-visible merge
- Resolve rebase conflict under smart-prefer-main by keeping main-authoritative deletions
- Preserve existing ChatView mobile keyboard parity coverage already present on main
- Keep dependency graph focus-visible styling aligned with main without reintroducing removed outline rule
2026-05-10 15:34:09 -07:00
Fusion
03bc315ff6 feat(FN-3453): fix tablet layout and viewport regression in reports
Fixes a tablet layout and viewport regression in the Reports view, updating the corresponding test to cover the corrected behavior.

Fusion-Task-Id: FN-3453
2026-05-10 15:34:09 -07:00
Fusion
fdd0ce823b feat(FN-3950): reuse keyboard-aware room thread container (+3 more)
Commits merged:
- fix(FN-3950): replace graph task rgba highlights with color tokens
- test(FN-3950): add room mobile keyboard anchoring regression coverage
- fix(FN-3950): enable mobile keyboard tracking for room threads
- feat(FN-3950): complete Step 1 — reuse keyboard-aware room thread container

Files changed:
docs/dashboard-guide.md                            |  1 +
 packages/dashboard/app/components/ChatView.tsx     | 11 ++-
 .../components/__tests__/ChatView.rooms.test.tsx   | 88 +++++++++++++++++++++-
 3 files changed, 93 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-3950
2026-05-10 15:33:25 -07:00
Fusion
2d167f1025 feat(FN-3912): fix dependency graph focus and apply tokenized styling feedb
Bug fix addressing dependency graph focus behavior and CSS tokenization feedback, alongside test coverage for CLI bundle output and bundled plugin installation paths. The styling changes affect `DependencyGraph` and `GraphTaskNode` components, while tests validate the published CLI artifact.

Fusion-Task-Id: FN-3912
2026-05-10 15:33:25 -07:00
gsxdsm
ae3fb0d991 fix(FN-3947): strip forwarded vitest silent flags 2026-05-10 15:33:25 -07:00
Fusion
27669ecd55 chore(FN-3813): add changeset for room-based chat feature
- Add a changeset entry for the upcoming room-based chat feature
- Mark @runfusion/fusion for a minor version bump
- Document the feature summary for release notes generation

Fusion-Task-Id: FN-3813
2026-05-10 15:33:25 -07:00
Fusion
eb5b992af8 feat(FN-3947): move github tracking section to bottom of task form
Moved the GitHub tracking section to the bottom of the task form and locked its field order, with supporting tests covering the new placement in both NewTaskModal and TaskForm components, plus documentation updates for the new form layout.

Fusion-Task-Id: FN-3947
2026-05-10 15:33:25 -07:00
Fusion
43d3ac2c18 feat(FN-3786): add reports dashboard view and comparison tooling
Adds a Reports dashboard view (`ReportsView`) to the reports plugin with a full supporting stack of components (`ReportComparisonDrawer`, `ReportDetailPanel`, `ReportFiltersBar`, `ReportListItem`, `ReportEmptyState`), hooks (`useReports`, `useReportPreview`, `useReportSectionDiff`, `useViewportMode`

Fusion-Task-Id: FN-3786
2026-05-10 15:33:25 -07:00
Fusion
097653eceb feat(FN-3633): document plugin trust policy feature
Adds plugin trust policy documentation across the CLI reference, settings reference, and a new plugin authoring guide, along with a patch-level changeset for `@runfusion/fusion`.

Fusion-Task-Id: FN-3633
2026-05-10 15:33:25 -07:00
Fusion
48f0353b7f feat(FN-3943): align tracking resolution to honor task-level override seman
Aligned GitHub tracking resolution to resolve task-level overrides, with regression tests covering the create-flow path and documentation of the override semantics.

Fusion-Task-Id: FN-3943
2026-05-10 15:33:25 -07:00
Fusion
47c9bfdd07 feat(FN-3946): add chat stream reattach recovery after tab suspension
Implements Step 1 of reattaching a regular chat stream when the browser tab resumes from a hidden/suspended state, with tests covering the recovery path and documentation added to the dashboard guide.

Fusion-Task-Id: FN-3946
2026-05-10 15:33:25 -07:00
Fusion
d8fef5e4a4 feat(FN-3926): add chat room integration tests across core and dashboard
This merge adds comprehensive test coverage for chat room functionality across the core store, ChatView component, HTTP/SSE routes, and integration layer (845 lines added across four test files), guided by a test plan for FN-3812.

Fusion-Task-Id: FN-3926
2026-05-10 15:33:25 -07:00
Fusion
83fb0e722f feat(FN-3941): separate graph pan from selection-gated drag
Separates graph panning from selection-gated drag by updating `useNodeDrag` and `useGraphInteraction` hooks to handle the two interaction modes independently, with `GraphTaskNode` now gating drag on selection state. Tests were added across the graph interaction, node drag, persistence, and integrati

Fusion-Task-Id: FN-3941
2026-05-10 15:33:25 -07:00
Fusion
6fc8044833 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
d02b9ed260 feat(FN-3811): add room mention popup to dashboard architecture docs and te
Added documentation for the room mention feature in the architecture docs and a changeset, alongside hardened tests for the `AgentMentionPopup` room variant.

Fusion-Task-Id: FN-3811
2026-05-10 15:33:25 -07:00
Fusion
c027fda596 feat(FN-3937): document architecture recovery layers and lifecycle alignmen
Added documentation for Fusion's architecture recovery layers (deadlock self-healing, paused-aware in-review filtering) and aligned lifecycle docs, with a new test validating that the self-healing docs stay in sync with the source code.

Fusion-Task-Id: FN-3937
2026-05-10 15:33:25 -07:00
Fusion
46e5f517d9 feat(FN-3934): add restart recovery coordinator
Adds a new restart recovery coordinator (FN-3934) to manage task recovery on agent restart, including the core coordinator class, tests, and integration into the in-process runtime; also documents the coordinator in AGENTS.md.

Fusion-Task-Id: FN-3934
2026-05-10 15:33:25 -07:00
Fusion
64c66c1e5c feat(FN-3933): coordinate temp dir cleanup to harden testing suite isolatio
Documents and tests a temp directory isolation fix in the core test suite, coordinating cleanup to prevent cross-test contamination.

Fusion-Task-Id: FN-3933
2026-05-10 15:33:25 -07:00
Fusion
b08a57f325 feat(FN-3931): recover triage planning model session keys in triage engine
The merge fixes triage planning model session key recovery in the engine, enabling the triage agent to properly use default model keys when resuming planning sessions. Tests were added to `triage.test.ts` to assert the correct behavior.

Fusion-Task-Id: FN-3931
2026-05-10 15:33:25 -07:00
Fusion
94c3b83b0b feat(FN-3928): clear room composer after send
Completes the room composer clear-on-send behavior in `ChatView` with regression tests covering the reset flow, plus documentation updates for parity.

Fusion-Task-Id: FN-3928
2026-05-10 15:33:25 -07:00
Fusion
e9c4c6e4f1 feat(FN-3785): add standalone HTML rendering and export routes for reports
Adds a complete HTML rendering and export pipeline to the fusion-plugin-reports plugin, including a standalone HTML renderer with template and stylesheet support, new export routes (`/api/reports/:id/export/html`) that persist rendered HTML to the store, and plugin-type support for non-JSON route re

Fusion-Task-Id: FN-3785
2026-05-10 15:33:24 -07:00
Fusion
85b96a7546 feat(FN-3938): add integration tests for droid-cli extension entrypoint
Adds integration test coverage for the droid-cli extension entrypoint, with a minor README refresh.

Fusion-Task-Id: FN-3938
2026-05-10 15:33:24 -07:00
Fusion
39a9d23cd0 feat(FN-3923): restore details affordance in AgentsView for compact mobile
Restores visible details affordance in AgentsView with test coverage for compact mobile viewports. The change touches the AgentsView component and its test file, ensuring the affordance displays correctly across different screen sizes.

Fusion-Task-Id: FN-3923
2026-05-10 15:33:24 -07:00
Fusion
d5f12a5c95 feat(FN-3927): persist and restore durable chat recovery state
- Persist in-flight chat generation snapshots in core chat store types and DB plumbing
- Restore durable recovery state through dashboard chat manager and chat hooks on reload
- Add coverage for chat store persistence and chat/useQuickChat recovery behavior
- Document durable chat recovery architecture and dashboard behavior

Fusion-Task-Id: FN-3927
2026-05-10 15:33:24 -07:00
Fusion
7e9ba31df9 feat(FN-3857): auto-recover merge deadlocks by recovering already merged ca
Adds auto-recovery for merge deadlocks when candidates have already been merged on main (FN-3857), including tests, documentation updates in AGENTS.md, and a patch changeset for the `@runfusion/fusion` package.

Fusion-Task-Id: FN-3857
2026-05-10 15:33:24 -07:00
Fusion
324c9e1b16 feat(FN-3776): merge fusion/fn-3776
Commits merged:
- merge fusion/fn-3776

Files changed:
packages/core/src/__tests__/db.test.ts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-3776
2026-05-10 15:33:24 -07:00
gsxdsm
3a07410863 Merge pull request #63 from magreenberg1/feat/cross-session-prompt-caching
feat(engine): cross-session prompt caching to reduce per-task token consumption
2026-05-10 15:00:17 -07:00
Matthew Greenberg
b929b6fda7 fix(engine): align computeCacheHitRatio JSDoc with stored tokenUsage format 2026-05-10 16:03:32 -04:00
Matthew Greenberg
41eac2beeb ci: retrigger CI (test shard 3/3 flaky failure) 2026-05-10 16:03:32 -04:00
Matthew Greenberg
ea3299f0b9 fix(engine): remove leading newline from reviewer memorySection — buildPromptLayers handles joining 2026-05-10 16:03:32 -04:00
Matthew Greenberg
7a299ca543 fix(engine): preserve memory-before-instructions ordering in dynamic layer 2026-05-10 16:03:32 -04:00
Matthew Greenberg
9adfeeca61 fix(engine): preserve fn_heartbeat_done at end of tool list after sorting 2026-05-10 16:03:32 -04:00
Matthew Greenberg
aed62b0dd6 fix(engine): address PR review — remove dead skill scoping, fix memory layer placement, clarify JSDoc, sort builtin allowlist, remove redundant tests 2026-05-10 16:03:32 -04:00
Matthew Greenberg
616e3c7ec4 test(engine): improve coverage for prompt layers wiring, backward compat, and skill scoping
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 16:03:32 -04:00
Matthew Greenberg
05b8cbea8d test(engine): verify layer forwarding and cross-session cache invariant 2026-05-10 16:03:32 -04:00
Matthew Greenberg
d2eeabd5be feat(engine): triage and heartbeat use prompt layers for caching 2026-05-10 16:03:32 -04:00
Matthew Greenberg
3ec6990457 feat(engine): executor uses prompt layers for cross-session caching 2026-05-10 16:03:32 -04:00
Matthew Greenberg
7354abaf87 feat(engine): add computeCacheHitRatio metric to token usage tracking 2026-05-10 16:03:32 -04:00
Matthew Greenberg
e56eb4840b feat(engine): scope skill loading by session purpose to reduce token overhead 2026-05-10 16:03:32 -04:00
Matthew Greenberg
44303f696c feat(engine): sort tools deterministically for prompt cache stability 2026-05-10 16:03:32 -04:00
Matthew Greenberg
b01a360a59 feat(engine): reviewer uses prompt layers for cross-session caching 2026-05-10 16:03:32 -04:00