Commit Graph

5563 Commits

Author SHA1 Message Date
Fusion
6b55b26195 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
ff4e7cad78 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
c5dd9556cd 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
ab85b99bef 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
b9cceb4f0f 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
140d5b97a5 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
d0a2d90182 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
4b54a7ddbc 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
b31d79943b 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
f6f7d3f031 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
eb148124ba 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
981c976efe 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
1a938c6622 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
1880db08d4 fix(engine): align computeCacheHitRatio JSDoc with stored tokenUsage format 2026-05-10 16:03:32 -04:00
Matthew Greenberg
74e2b0b69b ci: retrigger CI (test shard 3/3 flaky failure) 2026-05-10 16:03:32 -04:00
Matthew Greenberg
9b6b22aa13 fix(engine): remove leading newline from reviewer memorySection — buildPromptLayers handles joining 2026-05-10 16:03:32 -04:00
Matthew Greenberg
cb4fb78d61 fix(engine): preserve memory-before-instructions ordering in dynamic layer 2026-05-10 16:03:32 -04:00
Matthew Greenberg
2706a8384b fix(engine): preserve fn_heartbeat_done at end of tool list after sorting 2026-05-10 16:03:32 -04:00
Matthew Greenberg
0bf9b9193c 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
441191332b 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
8570f955e8 test(engine): verify layer forwarding and cross-session cache invariant 2026-05-10 16:03:32 -04:00
Matthew Greenberg
9e5607b6c6 feat(engine): triage and heartbeat use prompt layers for caching 2026-05-10 16:03:32 -04:00
Matthew Greenberg
5d3531e0be feat(engine): executor uses prompt layers for cross-session caching 2026-05-10 16:03:32 -04:00
Matthew Greenberg
4cebf1dde0 feat(engine): add computeCacheHitRatio metric to token usage tracking 2026-05-10 16:03:32 -04:00
Matthew Greenberg
048a03b86b feat(engine): scope skill loading by session purpose to reduce token overhead 2026-05-10 16:03:32 -04:00
Matthew Greenberg
39e57cbb88 feat(engine): sort tools deterministically for prompt cache stability 2026-05-10 16:03:32 -04:00
Matthew Greenberg
00bc7cd442 feat(engine): reviewer uses prompt layers for cross-session caching 2026-05-10 16:03:32 -04:00
Matthew Greenberg
e7ea1257ff feat(engine): add systemPromptLayers to AgentRuntimeOptions and wire into DefaultResourceLoader
Extends AgentRuntimeOptions and AgentOptions with an optional
systemPromptLayers field (SystemPromptLayers) for cross-session prompt
caching. DefaultResourceLoader now uses the stable layer as
systemPromptOverride and the dynamic layer as appendSystemPromptOverride
when layers are provided, falling back to the flat systemPrompt string
for backward compatibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 16:03:32 -04:00
Matthew Greenberg
a53a9a0802 feat(engine): add SystemPromptLayers type and builder for cross-session caching 2026-05-10 16:03:31 -04:00
gsxdsm
4492fed361 Merge pull request #67 from Runfusion/copilot/fix-pr-66-checks
Stabilize dashboard TUI remote provider test by modeling real provider transition
2026-05-10 12:39:36 -07:00
gsxdsm
030671a5da Merge pull request #66 from Runfusion/copilot/fix-pr-check-failure
fix(FN-3737): skip PluginLoader test when dist artifacts are absent
2026-05-10 12:24:07 -07:00
copilot-swe-agent[bot]
586c4530a5 test(FN-66): stabilize remote provider activation assertion
Agent-Logs-Url: https://github.com/Runfusion/Fusion/sessions/7f615374-c19b-4ab4-8869-f9181ee6cb90

Co-authored-by: gsxdsm <602584+gsxdsm@users.noreply.github.com>
2026-05-10 18:49:46 +00:00
copilot-swe-agent[bot]
972a3cd440 Initial plan 2026-05-10 18:46:59 +00:00
copilot-swe-agent[bot]
6c0cf78a9a fix(FN-3737): skip PluginLoader test when dist/index.js is absent
Agent-Logs-Url: https://github.com/Runfusion/Fusion/sessions/988126eb-7e51-4b15-8d47-2ce0ce1aed99

Co-authored-by: gsxdsm <602584+gsxdsm@users.noreply.github.com>
2026-05-10 18:37:13 +00:00
copilot-swe-agent[bot]
1bc09c68bc Initial plan 2026-05-10 18:35:58 +00:00
gsxdsm
5f6d998cb2 Merge pull request #65 from bluk1020/fix/stuck-detector-workflow-timeout-fallback
fix: keep stuck detector active by default
2026-05-10 10:17:00 -07:00
Berlin Luk
572e7a8f69 fix: decouple stuck detector timeout 2026-05-11 00:11:23 +08:00
gsxdsm
08e04498f5 chore(release): v0.26.0
Version bump via changesets.
2026-05-10 08:55:51 -07:00
Berlin Luk
4205309114 fix: keep stuck detector active by default 2026-05-10 23:55:36 +08:00
gsxdsm
f1ece4b1d4 feat(FN-3916): finish cli printing press bundling 2026-05-10 08:43:24 -07:00
gsxdsm
3e1cb0603a fix(FN-3931): restore triage planning model defaults 2026-05-10 08:42:23 -07:00
Fusion
62e8f6cf1f feat(FN-3929): dedupe REPO_OVERRIDE_RE export from core
Cleaned up a duplicate export of `REPO_OVERRIDE_RE` from the core package index, removing the redundant declaration from `packages/core/src/index.ts` while keeping it defined in `github-tracking.ts` where it logically belongs.

Fusion-Task-Id: FN-3929
2026-05-10 08:28:07 -07:00
Fusion
d05a1a0fac feat(FN-3874): add GitHub tracking to task creation and detail views
Adds GitHub tracking to the task system across create, detail, and patch flows: the NewTaskModal gains GitHub tracking controls (Step 1), TaskDetailModal gets a new UI section for viewing and editing GitHub repo/issue links (Step 2), and the task workflow API routes gain a PATCH handler wired throug

Fusion-Task-Id: FN-3874
2026-05-10 08:07:34 -07:00
Fusion
b94fd232a6 feat(FN-3812): add rooms test scaffolds and coverage across core and dashbo
This branch establishes test scaffolding for rooms functionality across core and dashboard, adding test plans, room-specific test files for ChatView, AgentMentionPopup, QuickChatFAB, and core chat routes/stores, while also updating AgentMentionPopup with enhanced room-aware behavior and QuickChatFAB

Fusion-Task-Id: FN-3812
2026-05-10 07:59:40 -07:00
Fusion
5b15f45d44 feat(FN-3924): enforce blockedBy blocker invariants in scheduler and recove
Implements invariant enforcement for blocked-by relationships in the scheduler and self-healing recovery, preventing tasks from being blocked by stale or invalid dependencies. The feature adds tests for both scheduler and self-healing behavior, updates the CLI extension and architecture docs, and sh

Fusion-Task-Id: FN-3924
2026-05-10 07:44:31 -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
29c8ef5ec4 feat(FN-3171): verify roadmap plugin migration, backend, and theme integrat
FN-3171 completed a multi-step verification of the roadmap plugin, covering migration artifact and record matrix validation, backend/API contract checks, and theme smoke tests for the RoadmapsView component, culminating in a verification documentation file.

Fusion-Task-Id: FN-3171
2026-05-10 06:51:38 -07:00
Fusion
50fdea6ad0 feat(FN-3799): normalize empty and null assignment inputs to clear agent as
Fixes assignment clearing in the CLI extension by normalizing nullable inputs, ensuring empty strings and literal null values properly clear agent assignments rather than being passed through unchanged; adds comprehensive test coverage for the normalization behavior and a patch changeset.

Fusion-Task-Id: FN-3799
2026-05-10 06:42:04 -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
42692b50de feat(FN-3876): add GitHub tracking test coverage across settings, issues, s
Adds comprehensive test coverage for GitHub tracking across four areas: settings inheritance, issue creation, status sync transitions, and unlink sync regression — spanning 280 lines of new tests across four test files with minimal store.ts adjustment.

Fusion-Task-Id: FN-3876
2026-05-10 06:06:26 -07:00