gsxdsm
de23db3789
FN-5862: bump pi coding agent dependencies to 0.78
...
Update Fusion to the latest pi coding agent and pi AI dependency release.
- bump @earendil-works/pi-coding-agent from ^0.77.0 to ^0.78.0 in the CLI, dashboard, and engine packages
- bump @earendil-works/pi-ai from ^0.77.0 to ^0.78.0 where it is consumed
- add a patch changeset documenting the published @runfusion/fusion update and refresh the lockfile
Files changed:
.changeset/fn-5862-pi-coding-agent-0.78.md | 5 +
packages/cli/package.json | 4 +-
packages/dashboard/package.json | 2 +-
packages/engine/package.json | 4 +-
pnpm-lock.yaml | 193 +++++++++++++++++++----------
5 files changed, 138 insertions(+), 70 deletions(-)
Fusion-Task-Id: FN-5862
Fusion-Task-Lineage: abdfa987-7ba5-45f7-8bea-3db3329a760c
2026-06-01 23:55:20 -07:00
gsxdsm
7d1708f023
FN-5851: fix goal tool store resolution
...
Resolve goal tool lookups to the canonical project store from Fusion worktree directories.
- recognize both legacy .worktrees and .fusion/worktrees paths when resolving the project root for pi extensions
- add CLI coverage proving fn_goal_list and fn_goal_show return dashboard-created goals from a Fusion worktree cwd
- extend core worktree-resolution tests and keep the branch conflict recovery test worktree path isolated in tmpdir
- add a patch changeset for the published CLI fix
Files changed:
.changeset/fn-5851-goal-store-resolution.md | 5 +
packages/cli/src/__tests__/goal-store-resolution.test.ts | 104 +++++++++++++++++++++
packages/core/src/__tests__/pi-extensions.test.ts | 14 ++-
packages/core/src/pi-extensions.ts | 12 ++-
packages/engine/src/__tests__/branch-conflicts-recovery.test.ts | 2 +-
5 files changed, 130 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5851
Fusion-Task-Lineage: ec4c8239-b953-4df7-9f72-02e17e4b0851
2026-06-01 23:39:20 -07:00
gsxdsm
f9e551317f
Harden fusion.db against recurring corruption
...
Root cause: node:sqlite SIGSEGVs inside pager_write leave the B-tree
malformed in a way that still opens but fails integrity checks; large
operational-log tables widen the write window where the crash strikes.
- backup: verify every copy with PRAGMA quick_check, quarantine corrupt
copies as *.corrupt, and never rotate out the last verified-good backup
- db: add Database.recoverIfCorrupt() startup guard (wired into
TaskStore.init, disk-backed only, opt out via FUSION_DISABLE_DB_AUTORECOVER)
that rebuilds a malformed db via sqlite3 .recover, preserving the corrupt
original; also fixes the latent `.recover main` invalid-option bug that made
recoverDatabase() always fail
- db: drop lost_and_found* scratch tables on init; add pruneOperationalLogs()
- settings: add operationalLogRetentionDays (default 30, 0 = off) and prune
activityLog/agentLogEntries/runAuditEvents/agentHeartbeats during maintenance
- dashboard: expose retention in Settings -> Backups -> Database Maintenance
Tests: backup 59/59, db 135/135 (incl. real corrupt->recover->reopen),
self-healing cleanup/corruption 10/10, settings 77/77, SettingsModal 460/460.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 21:55:10 -07:00
gsxdsm
e561290174
FN-5846: route shared-group member finalization to shared branch
...
Ensure shared branch-group members keep their routed shared-branch target through merge finalization and recovery.
- ignore a shared member's default-base branch when resolving branch-group merge routing
- reroute merge-confirmed fast paths and self-healing recovery flows to the branch-group integration branch
- stamp merge target metadata, record member landings, and add regression coverage plus architecture/changeset updates
Files changed:
.changeset/fn-5846-shared-group-merge-routing.md | 5 +
docs/architecture.md | 4 +-
packages/engine/src/__tests__/group-merge-coordinator.test.ts | 26 +++
packages/engine/src/__tests__/reliability-interactions/shared-branch-group-lifecycle.test.ts | 73 +++++--
packages/engine/src/group-merge-coordinator.ts | 11 +-
packages/engine/src/project-engine.ts | 49 ++++-
packages/engine/src/self-healing.ts | 212 ++++++++++++++++++++-
7 files changed, 357 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-5846
Fusion-Task-Lineage: c8fbf8b8-3cbe-4ee5-96d9-9040bd4f0df5
2026-06-01 20:19:37 -07:00
gsxdsm
130f6f1e9a
FN-5834: enforce explicit developer-role compatibility for custom providers
...
Prevent unsupported developer-role API failures by making provider role compatibility explicit and covered by regression safeguards.
- Add explicit supportsDeveloperRole capability to custom provider metadata/types and wire it through provider registration.
- Update CLI custom-provider registration behavior and tests to persist and validate developer-role compatibility settings.
- Add/adjust engine regression coverage for openai-completions message role conversion, including reasoning-model fallback behavior.
- Document the new custom provider setting and add a published changeset for @runfusion/fusion.
Files changed:
.changeset/fn-5834-developer-role-compat.md | 5 ++
docs/settings-reference.md | 2 +-
packages/cli/src/commands/__tests__/custom-provider-registry.test.ts | 44 +++++++++++-
packages/cli/src/commands/custom-provider-registry.ts | 9 ++-
packages/core/src/types.ts | 5 ++
packages/engine/src/__tests__/custom-providers-openai-completions.test.ts | 84 +++++++++++-----------
6 files changed, 106 insertions(+), 43 deletions(-)
Fusion-Task-Id: FN-5834
Fusion-Task-Lineage: 4edc80c9-5e60-41e4-bce1-662d18255d88
2026-06-01 09:05:18 -07:00
gsxdsm
f76716e55b
FN-5833: fix custom Responses API model lookup
...
Ensure custom OpenAI Responses providers resolve configured models without requiring registry entries.
- update global settings model resolution to preserve custom provider model configuration
- adjust engine custom-provider and fn-agent creation paths to avoid false 'model not found' failures
- add regression tests for OpenAI Responses custom providers and pi create-fn-agent flows
- document the custom provider model behavior and add a changeset for @runfusion/fusion
Files changed:
.../FN-5833-custom-provider-responses-fix.md | 10 ++++
docs/settings-reference.md | 2 +-
packages/core/src/global-settings.ts | 56 +++++++++----------
packages/core/src/index.ts | 2 +-
.../custom-providers-openai-responses.test.ts | 64 ++++++++++++++++++++++
.../engine/src/__tests__/custom-providers.test.ts | 33 ++++++++++-
.../src/__tests__/pi-create-fn-agent.test.ts | 11 +++-
packages/engine/src/custom-providers.ts | 4 +-
packages/engine/src/pi.ts | 21 +++++--
9 files changed, 162 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-5833
Fusion-Task-Lineage: a59481cf-faf5-42b8-97ce-7b3eca27b4fb
2026-06-01 08:23:02 -07:00
gsxdsm
e16893a3c7
FN-5832: surface unsupported message-role provider errors
...
Make unsupported provider message-role failures fail fast with actionable operator guidance.
- detect provider errors that reject `messages.[n].role` values via a dedicated transient-error detector helper
- classify unsupported message-role failures as operator-actionable/permanent to prevent retry loops
- annotate `promptSessionAndCheck` failures with model/provider compatibility guidance for imported company-role agents
- add regression tests for role-error detection, operator-actionable classification, and prompt-boundary error hinting
- add a patch changeset for `@runfusion/fusion`
Files changed:
.changeset/fn-5832-unsupported-message-role.md | 5 +++
.../pi-prompt-session-and-check-recursion.test.ts | 24 +++++++++++++++
.../src/__tests__/transient-error-detector.test.ts | 36 ++++++++++++++++++++++
packages/engine/src/pi.ts | 8 +++++
packages/engine/src/transient-error-detector.ts | 14 ++++++++-
5 files changed, 86 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5832
Fusion-Task-Lineage: b3f78f0e-d097-4cb7-a652-dc547f46fe1d
2026-06-01 07:53:56 -07:00
gsxdsm
1d3978e20a
FN-5820: add shared-branch-group lifecycle regression coverage
...
Add end-to-end reliability coverage for shared branch group promotion flow.
- add a new reliability interaction test covering concurrent member execution through completion gate and single shared-branch promotion/PR behavior
- document FN-5820 backstop coverage in AGENTS.md for future reliability reference
Files changed:
AGENTS.md | 1 +
packages/engine/src/__tests__/reliability-interactions/shared-branch-group-lifecycle.test.ts | 359 +++++++++++++++++++++
2 files changed, 360 insertions(+)
Fusion-Task-Id: FN-5820
Fusion-Task-Lineage: 4c7bbc6f-6bf9-4698-bcb9-43d7c98d5bd7
2026-06-01 07:43:25 -07:00
gsxdsm
3373c0beed
FN-5830: re-land shared branch promotion gate and API
...
Reintroduce shared-branch-group completion gating and promotion endpoints with reliability coverage.
- add GroupMergeCoordinator promotion gate behavior and shared branch group promotion logic updates
- expose promotion flow wiring through engine index and project engine APIs
- expand coordinator tests and add reliability interaction coverage for branch-group promotion
- document the new reliability backstop and add a changeset for @runfusion/fusion
Files changed:
.changeset/fn-5830-branch-group-promotion.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 3 +-
.../src/__tests__/group-merge-coordinator.test.ts | 170 ++++++++++++++++++-
.../branch-group-promotion.test.ts | 166 +++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 183 ++++++++++++++++++++-
packages/engine/src/index.ts | 4 +
packages/engine/src/project-engine.ts | 37 +++++
8 files changed, 566 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5830
Fusion-Task-Lineage: e9823f51-df0e-4da8-8f51-58dfefdc293d
2026-06-01 05:39:01 -07:00
gsxdsm
35ce9bd244
FN-5819: allow shared-group members to merge into group branch with auto-merge off
...
Allow shared branch-group members to continue member→group integration even when project auto-merge is disabled.
- add core helper to detect shared branch-group member integrations and export it
- update engine in-review enqueue/handoff/startup flows to permit shared-member integration while still honoring global/engine pause gates
- keep self-healing from pulling shared-member in-review tasks backward during auto-merge-off maintenance
- expand project-engine and reliability-interaction tests for shared-member autoMerge-off behavior and add FN-5819 backstop docs updates
Files changed:
AGENTS.md | 2 +
docs/architecture.md | 3 +-
packages/core/src/__tests__/task-merge.test.ts | 37 +++++++++
packages/core/src/index.ts | 1 +
packages/core/src/task-merge.ts | 13 +++
packages/engine/src/__tests__/project-engine.test.ts | 64 ++++++++++++++
packages/engine/src/__tests__/reliability-interactions/branch-group-merge-routing.test.ts | 48 +++++++++++
packages/engine/src/__tests__/reliability-interactions/shared-group-member-integration.test.ts | 97 ++++++++++++++++++++++
packages/engine/src/project-engine.ts | 35 ++++----
packages/engine/src/self-healing.ts | 3 +-
10 files changed, 284 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-5819
Fusion-Task-Lineage: b5eeced7-7c47-4573-9ab4-ca577bec65e1
2026-06-01 02:42:36 -07:00
gsxdsm
327f0a9a4f
FN-5818: fix shared-branch-group execution to use per-task working branches
...
Ensure shared branch-group flows consistently derive and acquire per-task working branches.
- update engine merge/executor/scheduler/self-healing paths to resolve task-scoped working branch names instead of shared branch-group names
- adjust worktree acquisition and already-merged detection logic to use the corrected branch resolution
- add regression coverage for shared-branch-group working-branch behavior, worktree acquisition, and worktree name derivation
- add a patch changeset for @runfusion/fusion
Files changed:
.changeset/fn-5818-shared-branch-working-branch.md | 5 ++
.../shared-branch-group-working-branch.test.ts | 53 ++++++++++++++++++++++
.../src/__tests__/worktree-acquisition.test.ts | 52 +++++++++++++++++++++
.../engine/src/__tests__/worktree-names.test.ts | 20 +++++++-
packages/engine/src/already-merged-detector.ts | 6 +--
packages/engine/src/executor.ts | 10 ++--
packages/engine/src/merger-ai.ts | 4 +-
packages/engine/src/merger.ts | 16 +++----
packages/engine/src/scheduler.ts | 6 +--
packages/engine/src/self-healing.ts | 12 ++---
packages/engine/src/worktree-acquisition.ts | 4 +-
packages/engine/src/worktree-names.ts | 9 +++-
12 files changed, 166 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-5818
Fusion-Task-Lineage: c7eb1ec4-971a-49ad-9156-5c0349c629aa
2026-06-01 01:37:25 -07:00
gsxdsm
feceedbf7e
FN-5803: normalize streamed sentence spacing across message boundaries
...
Ensure streamed agent text preserves sentence-boundary spacing even when providers split output across message boundaries.
- add stateful streaming delta normalizer that tracks prior text/thinking tail when partial blocks reset
- update executor and PI session subscriptions to use per-session normalizer instances for text_delta and thinking_delta events
- expand streaming-delta tests to cover cross-message/tool-call boundary spacing regressions
- add task notes documenting cross-message spacing refinement
Files changed:
.../fn-5803-streaming-cross-message-space.md | 5 ++
.../engine/src/__tests__/streaming-delta.test.ts | 86 +++++++++++++++++++++-
packages/engine/src/executor.ts | 13 ++--
packages/engine/src/pi.ts | 24 +++---
packages/engine/src/streaming-delta.ts | 44 ++++++++++-
5 files changed, 155 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-5803
Fusion-Task-Lineage: 8f88d54c-bbc0-44dd-99fc-c69738ce0ca8
2026-05-31 23:24:53 -07:00
gsxdsm
a8c920daf9
chore(release): v0.39.0
...
Version bump via changesets.
2026-05-31 20:05:32 -07:00
gsxdsm
5930c18b4d
FN-5795: send ntfy notification when agents create tasks
...
Add agent task-created ntfy notifications with configurable settings and coverage.
- add notification plumbing to emit a dedicated event when an agent creates a task
- extend ntfy provider/settings typing and dashboard settings coverage for the new event toggle
- add regression tests for notification service, notifier integration, and ntfy provider behavior
- add a changeset and documentation updates describing the new notification capability
Files changed:
.changeset/fn-5795-task-created-notification.md | 9 +++
docs/architecture.md | 4 +-
docs/settings-reference.md | 4 +-
docs/storage.md | 2 +-
packages/core/src/types.ts | 4 +-
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../components/__tests__/SettingsModal.test.tsx | 27 +++++++-
.../src/__tests__/notification-service.test.ts | 71 ++++++++++++++++++++++
packages/engine/src/__tests__/notifier.test.ts | 5 ++
.../engine/src/__tests__/ntfy-provider.test.ts | 32 ++++++++++
.../src/notification/notification-service.ts | 53 +++++++++++++++-
packages/engine/src/notification/ntfy-provider.ts | 21 +++++--
12 files changed, 220 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-5795
Fusion-Task-Lineage: 4cfa3b46-8e9c-451e-ab2d-b7d5c9bf5968
2026-05-31 19:59:32 -07:00
gsxdsm
fa428a487b
FN-5794: run worktree init for fresh merge workspaces
...
Run merge worktree initialization automatically when a merge workspace is newly created.
- detect when integration worktree creation is fresh and invoke the configured init command
- preserve existing behavior for already-initialized worktrees while improving setup reliability
- add integration tests covering init command execution paths for merge worktree setup
Files changed:
.changeset/fn-5794-merge-worktree-init.md | 5 +++
.../__tests__/merger-integration-worktree.test.ts | 16 +++++++++
packages/engine/src/merger.ts | 39 +++++++++++++++++++++-
3 files changed, 59 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5794
Fusion-Task-Lineage: f368099f-a179-466e-b994-2a503167112c
2026-05-31 17:52:57 -07:00
gsxdsm
2140ab2dcf
FN-5789: normalize missing sentence spaces in streamed deltas
...
Repair provider-agnostic streaming deltas so sentence boundaries keep expected spacing in chat and agent logs.
- add shared streaming-delta normalization helpers for text/thinking events
- apply normalization at executor and PI message_update chokepoints before emitting deltas
- add focused engine tests covering punctuation-boundary repairs and no-op cases
- add a patch changeset for @runfusion/fusion describing the fix
Files changed:
.changeset/fn-5789-streaming-space-repair.md | 5 ++
.../engine/src/__tests__/streaming-delta.test.ts | 84 ++++++++++++++++++++
packages/engine/src/executor.ts | 11 ++-
packages/engine/src/pi.ts | 13 +++-
packages/engine/src/streaming-delta.ts | 91 ++++++++++++++++++++++
5 files changed, 197 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5789
Fusion-Task-Lineage: e60ed2ae-c006-42f9-9ab0-f4e79560fb66
2026-05-31 16:48:28 -07:00
gsxdsm
7b70e7fb72
FN-5788: add group promotion gate to merge coordinator
...
Add lifecycle wiring so branch-group promotion respects group-level auto-merge gating.
- Extend merge coordinator/merger flow to apply group promotion precedence and pause/override reasons.
- Hook the group-promotion coordinator into engine lifecycle startup.
- Add reliability and coordinator coverage for branch group promotion gating behavior.
- Add release changeset and update architecture/AGENTS backstop notes.
Files changed:
.changeset/fn-5788-branch-group-promotion-gate.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 3 +-
.../src/__tests__/group-merge-coordinator.test.ts | 95 ++++++++++++++-
.../branch-group-promotion-gate.test.ts | 129 +++++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 46 +++++---
packages/engine/src/index.ts | 2 +
packages/engine/src/merger.ts | 34 +++---
8 files changed, 283 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-5788
Fusion-Task-Lineage: 5930f662-908e-4cf0-a0d4-68b2f4360074
2026-05-31 15:59:59 -07:00
gsxdsm
06d84905ba
FN-5783: enforce branch-group autoMerge precedence for shared promotions
...
Honor group-level autoMerge precedence when promoting shared branch groups.
- add core/store helpers to preserve branch-group autoMerge overrides and resolve effective precedence against task/project settings
- gate branch-group promotion eligibility in engine merge coordination and emit promotion-gated audit metadata
- update dashboard planning/subtask flows for shared mission triage routing and add reliability/unit coverage
- include docs and changeset updates for branch-group autoMerge precedence behavior
Files changed:
.../fn-5783-branch-group-automerge-precedence.md | 5 +
AGENTS.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-steps.md | 2 +
.../core/src/__tests__/branch-group-store.test.ts | 18 ++++
packages/core/src/__tests__/task-merge.test.ts | 18 ++++
packages/core/src/index.ts | 1 +
packages/core/src/mission-store.ts | 13 +++
packages/core/src/store.ts | 17 ++++
packages/core/src/task-merge.ts | 8 ++
.../dashboard/src/__tests__/mission-e2e.test.ts | 98 ++++++++++++++++--
.../src/__tests__/routes-planning.test.ts | 109 ++++++++++++++++++++-
packages/dashboard/src/planning.ts | 1 +
.../src/routes/register-planning-subtask-routes.ts | 28 ++++++
packages/dashboard/src/subtask-breakdown.ts | 1 +
.../branch-group-automerge-precedence.test.ts | 102 +++++++++++++++++++
packages/engine/src/group-merge-coordinator.ts | 31 +++++-
packages/engine/src/merger.ts | 30 ++++--
18 files changed, 466 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-5783
Fusion-Task-Lineage: 74327984-b14f-445c-81cd-5295ee562382
2026-05-31 15:17:11 -07:00
gsxdsm
0c425788cb
FN-5782: wire branch groups into merge routing
...
Connect branch_group metadata through planning and merge execution for grouped integration branches.
- propagate `branchGroup` and `branchGroupName` through core store types, merge metadata, and CLI task lifecycle APIs
- add merge coordination that computes branch-group plans and routes grouped tasks via `group-merge-coordinator`
- extend finalize-plan, merger, and reliability tests to cover grouped merge routing and integration behavior
- document the architecture update and add a patch changeset for `@runfusion/fusion`
Files changed:
.changeset/fn-5782-branch-group-merge.md | 7 +
docs/architecture.md | 2 +
packages/cli/src/commands/__tests__/task-lifecycle.test.ts | 64 ++++++++-
packages/cli/src/commands/task-lifecycle.ts | 4 +
packages/core/src/__tests__/branch-group-store.test.ts | 20 +++
packages/core/src/__tests__/task-merge.test.ts | 64 +++++++++
packages/core/src/store.ts | 22 ++-
packages/core/src/task-merge.ts | 26 +++-
packages/core/src/types.ts | 2 +-
packages/engine/src/__tests__/experiment-finalize-plan.test.ts | 33 ++++-
packages/engine/src/__tests__/group-merge-coordinator.test.ts | 62 +++++++++
packages/engine/src/__tests__/reliability-interactions/branch-group-merge-routing.test.ts | 153 +++++++++++++++++++++
packages/engine/src/experiment/finalize-plan.ts | 62 +++++++--
packages/engine/src/group-merge-coordinator.ts | 51 +++++++
packages/engine/src/index.ts | 4 +
packages/engine/src/merger.ts | 47 ++++++-
16 files changed, 601 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-5782
Fusion-Task-Lineage: 0a70cfaa-2379-4955-b295-64de1f3093c8
2026-05-31 13:50:23 -07:00
gsxdsm
f1aba5b534
Merge pull request #1226 from plarson/fix/dirty-integration-merge-block
...
fix(engine): block dirty integration merge landings
2026-05-31 13:49:58 -07:00
Phil Larson
3dee395d67
fix(engine): block dirty integration merge landings
...
Refuse AI merge landing on a checked-out dirty integration worktree by default. This prevents Fusion from stashing/restoring unrelated project-root edits into main and then marking tasks done against contaminated state.
Fusion-Task-Id: FN-5780
2026-05-31 13:12:13 -07:00
gsxdsm
9f29935525
FN-5778: throttle OAuth expiry notifications per provider
...
Limit repeated oauth-token-expired alerts by enforcing a per-provider minimum notification interval.
- add a 12-hour default min notify interval to OAuthExpiryMonitor and track last notification time by provider
- skip dispatch when a provider was already notified within the configured window, even if expiry timestamps change
- clear per-provider notification timestamps when no OAuth providers are configured
- add regression coverage for 12-hour throttling and changed-expiry throttling behavior
- add a patch changeset for @runfusion/fusion documenting the notification throttle
Files changed:
.changeset/fn-5778-oauth-notify-throttle.md | 5 +++
packages/engine/src/notification/__tests__/oauth-expiry-monitor.test.ts | 40 ++++++++++++++++++++++
packages/engine/src/notification/oauth-expiry-monitor.ts | 15 ++++++++
3 files changed, 60 insertions(+)
Fusion-Task-Id: FN-5778
Fusion-Task-Lineage: a9741101-e8da-4dae-ac7f-817e564b4f23
2026-05-31 11:55:11 -07:00
gsxdsm
69f22c0140
Merge pull request #1221 from plarson/fix/incomplete-stuck-loop-parking
...
fix(engine): requeue incomplete stuck-loop exhaustion
2026-05-31 11:54:47 -07:00
Phil Larson
a7bd44ca96
fix(engine): split stuck requeue fallback handling
2026-05-31 10:57:54 -07:00
Phil Larson
5a163ce07a
fix(engine): resolve stuck-loop requeue review feedback
2026-05-31 10:50:58 -07:00
gsxdsm
93e8a5f78a
FN-5775: persist AI merge agent output in merger logs
...
Ensure AI merger runs persist agent output signals so merge activity is visible in task logs.
- Persist merger agent text, thinking, tool start, and tool result output via AgentLogger in AI merge/review sessions.
- Add regression coverage validating persisted merger agent logs and prompt/commit guidance behavior.
- Add a patch changeset for @runfusion/fusion describing AI merge log persistence.
Files changed:
.changeset/fn-5775-ai-merge-logs.md | 5 ++
packages/engine/src/__tests__/merger-ai.test.ts | 62 +++++++++++++++++++++++++
packages/engine/src/merger-ai.ts | 40 +++++++++++++++-
3 files changed, 105 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-5775
Fusion-Task-Lineage: 7e1b803f-135a-412e-81d9-bad0aa655855
2026-05-31 08:50:23 -07:00
Phil Larson
5861884456
fix(engine): requeue incomplete stuck-loop exhaustion
2026-05-31 08:35:36 -07:00
gsxdsm
b154844286
FN-5772: re-anchor nested task worktree paths
...
Fix executor worktree invariant handling by re-anchoring nested task worktree paths to the actual git top-level.
- add nested worktree root detection that only re-anchors when the top-level is a registered worktree inside the configured worktrees directory
- update executor liveness gating and verifyWorktreeInvariants to persist re-anchored task.worktree values and retry checks safely
- emit a new run-audit git mutation (worktree:reanchored) and add reliability tests/docs coverage plus a patch changeset
Files changed:
.changeset/fn-5772-worktree-reanchor.md | 7 +++
docs/architecture.md | 4 +-
packages/engine/src/__tests__/reliability-interactions/executor-liveness-gate.test.ts | 33 ++++++++++
packages/engine/src/__tests__/verify-worktree-invariants-missing.test.ts | 62 +++++++++++++++++-
packages/engine/src/__tests__/worktree-reanchor-nested-root.test.ts | 73 ++++++++++++++++++++++
packages/engine/src/executor.ts | 54 ++++++++++++++--
packages/engine/src/run-audit.ts | 1 +
packages/engine/src/worktree-pool.ts | 63 +++++++++++++++++++
8 files changed, 290 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5772
Fusion-Task-Lineage: 475de161-7bc1-4359-bb76-20c4c07196d9
2026-05-31 08:32:01 -07:00
gsxdsm
5b4eecb5d4
FN-5768: add dual-observe workflow parity instrumentation
...
Add default-off workflow interpreter dual-observe parity instrumentation across core and engine.
- add workflow parity comparison primitives and exports in @fusion/core
- add engine parity observer seam with experimental flag and public exports
- add regression coverage for parity contracts and dual-observe reliability behavior
- document the dual-observe parity mode, events, and contract in workflow docs
- add a patch changeset for @runfusion/fusion release notes
Files changed:
.changeset/fn-5768-workflow-parity-observer.md | 9 +
docs/workflow-steps.md | 18 ++
.../core/src/__tests__/workflow-parity.test.ts | 143 ++++++++++++++
packages/core/src/index.ts | 18 ++
packages/core/src/workflow-parity.ts | 205 +++++++++++++++++++++
.../workflow-interpreter-dual-observe.test.ts | 144 +++++++++++++++
packages/engine/src/index.ts | 7 +
packages/engine/src/workflow-parity-observer.ts | 116 ++++++++++++
8 files changed, 660 insertions(+)
Fusion-Task-Id: FN-5768
Fusion-Task-Lineage: fb4f8111-f48d-482c-b1d9-9106c43c829a
2026-05-31 08:32:01 -07:00
gsxdsm
ba81d1f0ac
FN-5767: wire workflow graph executor to legacy seams
...
Complete Phase 3 interpreter parity by routing workflow graph execution through legacy seam handlers.
- Simplify workflow IR schema and built-in coding workflow to seam-based v1 nodes/edges.
- Add workflow node handler layer with default legacy seam adapters and dedicated handler/parity tests.
- Update engine exports/executor behavior for conditional traversal, retries, outcome context, and parity assertions.
- Refresh core workflow IR tests/coverage for the new shape (including seam-stage expectations without triage) and remove obsolete schema fixture test.
Files changed:
.changeset/fn-5767-interpreter-parity.md | 5 +
.github/actions/setup-node-pnpm/action.yml | 41 +---
docs/workflow-steps.md | 17 ++
.../__tests__/builtin-coding-workflow-ir.test.ts | 25 +--
packages/core/src/__tests__/workflow-ir.test.ts | 70 ------
packages/core/src/builtin-coding-workflow-ir.ts | 71 ++----
packages/core/src/index.ts | 31 +--
packages/core/src/workflow-ir-types.ts | 91 +-------
packages/core/src/workflow-ir.ts | 246 ++-------------------
.../workflow-graph-executor-handlers.test.ts | 201 +++++++++++++++++
.../workflow-graph-executor-parity.test.ts | 126 ++++++++---
.../src/__tests__/workflow-node-handlers.test.ts | 50 +++++
packages/engine/src/index.ts | 16 +-
packages/engine/src/workflow-graph-executor.ts | 205 ++++++++++++-----
packages/engine/src/workflow-node-handlers.ts | 56 +++++
15 files changed, 661 insertions(+), 590 deletions(-)
Fusion-Task-Id: FN-5767
Fusion-Task-Lineage: 0c68586e-2709-4521-a2ce-938ba1006ae0
2026-05-31 08:32:01 -07:00
gsxdsm
1edbb54fce
FN-5766: add flagged-off workflow graph executor scaffold
...
Add the Phase 2 workflow-graph interpreter scaffold and builtin coding IR wiring while keeping execution behavior unchanged by default.
- add BUILTIN_CODING_WORKFLOW_IR and builder in @fusion/core with coverage tests
- export new coding workflow IR APIs from core index
- add WorkflowGraphExecutor scaffold in @fusion/engine plus parity-focused test coverage
- document the flagged-off interpreter scaffold, parity gate, and v1 IR gap reconciliation in workflow docs
- include a changeset for published @runfusion/fusion
Files changed:
.../fn-5766-workflow-graph-executor-scaffold.md | 11 +++
docs/workflow-steps.md | 27 +++++++
.../__tests__/builtin-coding-workflow-ir.test.ts | 34 +++++++++
packages/core/src/builtin-coding-workflow-ir.ts | 60 ++++++++++++++++
packages/core/src/index.ts | 4 ++
.../workflow-graph-executor-parity.test.ts | 32 +++++++++
packages/engine/src/index.ts | 7 ++
packages/engine/src/workflow-graph-executor.ts | 82 ++++++++++++++++++++++
8 files changed, 257 insertions(+)
Fusion-Task-Id: FN-5766
Fusion-Task-Lineage: 4bbef713-a415-4d42-a20b-9ae4f3235419
2026-05-31 08:32:01 -07:00
gsxdsm
acad46cc10
FN-5764: expose mission assertion backfill through API and CLI
...
Expose mission assertion backfill controls and run paths across engine, API, and CLI surfaces.
- add mission assertion backfill gating classification and reliability coverage for assertion-linked validation recovery
- add dashboard mission routes plus legacy API coverage and e2e checks for running assertion backfill
- expose new extension tool support and update Fusion skill docs/capability references
- add a changeset for @runfusion/fusion and refresh mission documentation
Files changed:
.changeset/fn-5764-mission-backfill-assertions.md | 9 ++
docs/missions-completion-contract.md | 7 +-
docs/missions.md | 7 +-
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 9 ++
.../skill/fusion/references/fusion-capabilities.md | 1 +
packages/cli/src/__tests__/extension.test.ts | 41 +++++++
packages/cli/src/extension.ts | 43 +++++++
.../dashboard/app/__tests__/api-missions.test.ts | 44 +++++++
packages/dashboard/app/api/legacy.ts | 34 ++++++
.../dashboard/src/__tests__/mission-e2e.test.ts | 127 +++++++++++++++++++++
packages/dashboard/src/mission-routes.ts | 29 +++++
.../mission-validation-trigger-gap.test.ts | 66 +++++++++++
.../workflow-step-readonly-allowlist.test.ts | 1 +
packages/engine/src/gating-classifications.ts | 1 +
15 files changed, 418 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5764
Fusion-Task-Lineage: b16123c2-7cfe-4b17-a899-4e30044a7a49
2026-05-31 08:32:01 -07:00
gsxdsm
0ffe7f0604
FN-5762: add mission hierarchy delete tools with linked-task guards
...
Add mission delete tooling across core, dashboard routes, and CLI extension surfaces.
- Add `fn_feature_delete`, `fn_slice_delete`, and `fn_milestone_delete` tools to the CLI extension with `force` override support.
- Enforce live-task linkage guards for feature/slice/milestone deletes in mission store logic and expose conflict behavior through mission routes.
- Extend coverage and docs for delete behavior, allowlist/gating metadata, and published Fusion skill/tool references.
Files changed:
.changeset/fn-5762-feature-delete.md | 7 +
docs/missions.md | 15 +++
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 27 ++++
.../skill/fusion/references/fusion-capabilities.md | 3 +
packages/cli/src/__tests__/extension.test.ts | 34 +++++
packages/cli/src/extension.ts | 106 +++++++++++++++
packages/core/src/__tests__/mission-store.test.ts | 146 ++++++++++++++++++++-
packages/core/src/mission-store.ts | 98 ++++++++++++--
.../dashboard/src/__tests__/mission-e2e.test.ts | 62 +++++++--
packages/dashboard/src/mission-routes.ts | 42 +++++-
.../workflow-step-readonly-allowlist.test.ts | 3 +
packages/engine/src/gating-classifications.ts | 3 +
13 files changed, 514 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-5762
Fusion-Task-Lineage: 9c6eceff-dcb4-4a2b-90c6-59cb0228ca6d
2026-05-31 08:32:01 -07:00
gsxdsm
4b8650cac2
Merge pull request #1205 from plarson/fix/incomplete-stuck-loop-parking
...
fix: park incomplete stuck-loop exhaustions
2026-05-30 23:01:37 -07:00
gsxdsm
194dfa9387
FN-5758: add cited-goal audit aggregation and runtime route
...
Add end-to-end goal-citation audit trail plumbing across core, engine, CLI, and dashboard.
- extend goal citation extraction with aggregation logic and new core coverage
- expose cited-goal runtime data through dashboard routes with dedicated API tests
- wire goal-citation audit details into engine diagnostics and CLI extension audit expectations
- document the new audit behavior and publish a patch changeset for @runfusion/fusion
Files changed:
.changeset/fn-5758-goal-citation-audit.md | 9 +++
docs/dashboard-guide.md | 2 +
docs/diagnostics.md | 4 ++
.../__tests__/extension-goal-tools-audit.test.ts | 6 +-
packages/cli/src/extension.ts | 3 +
.../goal-citation-audit-aggregation.test.ts | 63 ++++++++++++++++++
packages/core/src/goal-citation-extractor.ts | 54 ++++++++++++++-
packages/core/src/index.ts | 1 +
.../src/__tests__/routes-run-cited-goals.test.ts | 77 ++++++++++++++++++++++
packages/dashboard/src/routes.ts | 11 ++++
.../src/routes/register-agent-runtime-routes.ts | 49 ++++++++++++++
.../src/__tests__/goal-anchoring-audit.test.ts | 40 +++++++----
packages/engine/src/goal-anchoring-audit.ts | 4 ++
packages/engine/src/goal-injection-diagnostics.ts | 1 +
14 files changed, 308 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-5758
Fusion-Task-Lineage: b077c0b7-6ca4-489d-8c36-73d80a2afdb2
2026-05-30 22:53:24 -07:00
gsxdsm
d98ff8780c
FN-5759: inject active-goal context across engine lanes
...
Enable always-on active-goal prompt injection and diagnostic wiring across triage/executor flows.
- Refactor goal-context injection so agent heartbeat, executor, and triage all apply the active-goal seam consistently.
- Extend goal injection diagnostics implementation and exports, plus anchoring audit touchpoints.
- Add and update tests for goal context injection behavior and diagnostics wiring.
- Update architecture and diagnostics docs to describe the new always-on seam.
Files changed:
docs/architecture.md | 2 +-
docs/diagnostics.md | 2 +-
.../src/__tests__/goal-context-injection.test.ts | 19 ++++-
.../goal-injection-diagnostics-wiring.test.ts | 98 +++++++++++++++++++++-
packages/engine/src/agent-heartbeat.ts | 31 ++-----
packages/engine/src/executor.ts | 32 ++-----
packages/engine/src/goal-anchoring-audit.ts | 2 +-
packages/engine/src/goal-injection-diagnostics.ts | 42 +++++++++-
packages/engine/src/index.ts | 2 +
packages/engine/src/triage.ts | 28 +++++--
10 files changed, 191 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-5759
Fusion-Task-Lineage: 1419de34-2e86-4459-bcd4-426f15c067fe
2026-05-30 21:54:06 -07:00
Phil Larson
ce6ebb7b8e
fix(engine): preserve parked progress through stale-spec checks
2026-05-30 21:53:00 -07:00
gsxdsm
c9b159f4e5
FN-5743: cut over merge dequeue authority to merge-request queue
...
Shift merge dequeue enforcement to merge-request queue/marker authority with reliability coverage updates.
- Enforce merge eligibility and dequeue ownership via merge-request queue/marker checks in engine and scheduler paths.
- Add hard-cancel behavior coverage to ensure queued merge requests are canceled when tasks are user-canceled.
- Extend core merge-request record/store tests and reliability interaction suites for dual-observe and cancel-on-hard-cancel seams.
- Document the FN-5741/FN-5743 reliability backstop updates in AGENTS.md and architecture docs.
Files changed:
AGENTS.md | 2 +
docs/architecture.md | 2 +
packages/core/src/__tests__/merge-request-record.test.ts | 18 ++++
packages/core/src/store.ts | 13 +++
packages/engine/src/__tests__/reliability-interactions/dual-observe-merge-seam.test.ts | 57 +++++++++++++
packages/engine/src/__tests__/reliability-interactions/merge-request-cancel-on-hard-cancel.test.ts | 87 +++++++++++++++++++
packages/engine/src/project-engine.ts | 98 +++++++++++++++++++++-
packages/engine/src/scheduler.ts | 12 ++-
8 files changed, 284 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-5743
Fusion-Task-Lineage: b9a49aeb-ed73-42fe-924d-25c7097d1bb9
2026-05-30 20:48:16 -07:00
Phil Larson
ab38ee09e0
fix(engine): park incomplete stuck-loop exhaustions
2026-05-30 20:21:35 -07:00
gsxdsm
8609669a56
FN-5742: add dual-observe merge-request parity seam
...
Add a dual-observe merge-request seam that preserves legacy authority while emitting parity signals.
- Add scheduler parity helpers for dependency satisfaction and shadow lease state, keeping legacy scheduling decisions authoritative.
- Extend ProjectEngine/run-audit merge dequeue flow with shadow-candidate selection and parity audit emission.
- Add reliability interaction coverage for dual-observe dependency parity, shadow dequeue parity, lease parity, and runnable guard behavior.
- Document FN-5742 reliability backstop coverage in architecture docs.
Files changed:
docs/architecture.md | 2 +
packages/engine/src/__tests__/reliability-interactions/dual-observe-merge-seam.test.ts | 193 +++++++++++++++++++++
packages/engine/src/__tests__/scheduler.test.ts | 64 +++++++
packages/engine/src/project-engine.ts | 42 +++++
packages/engine/src/run-audit.ts | 3 +
packages/engine/src/scheduler.ts | 158 +++++++++++++++--
6 files changed, 448 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-5742
Fusion-Task-Lineage: dc4c0212-fe75-4860-bf06-2765a0b18d38
2026-05-30 18:52:19 -07:00
gsxdsm
c0b749cee9
Merge pull request #1203 from plarson/fix/origin-main-contamination-integrated
...
fix: treat origin/main commits as integrated in contamination checks
2026-05-30 18:43:40 -07:00
gsxdsm
5396730033
FN-5755: harden mission validation recovery flow
...
Ensure mission feature assertions recover and validate consistently across startup and periodic maintenance.
- add FN-5755 changeset and AGENTS reliability backstop note
- document canonical zero-assertion auto-pass and assertion validation lifecycle updates in missions docs
- expand mission execution loop and reliability interaction tests for startup recovery, periodic replay, and idempotency
- wire self-healing maintenance to replay active mission validation recovery via runtime callback
Files changed:
.../fn-5755-mission-validation-end-to-end.md | 5 ++
AGENTS.md | 1 +
docs/missions-completion-contract.md | 15 ++--
docs/missions.md | 4 +-
.../src/__tests__/mission-execution-loop.test.ts | 88 +++++++++++++++++++++-
.../mission-validation-trigger-gap.test.ts | 42 ++++++++++-
packages/engine/src/runtimes/in-process-runtime.ts | 6 ++
packages/engine/src/self-healing.ts | 11 +++
8 files changed, 159 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-5755
Fusion-Task-Lineage: e54ac4dc-7b8c-4fc9-8cd6-18702708546f
2026-05-30 17:45:11 -07:00
gsxdsm
0e0b17f3c4
FN-5754: re-triage stranded features in active mission slices
...
Ensure active mission slices recover stranded features by linking or auto-triaging them during scheduler and self-healing reconciliation.
- Extend mission feature reconciliation to auto-triage defined features in active slices when mission autopilot/auto-advance is enabled and no linked task can be found.
- Emit a new mission:stranded-feature-triaged audit event whenever stranded features are linked or triaged, and wire reconciliation into self-healing maintenance runs.
- Add regression coverage for scheduler and reliability interactions, and document the new backstop in AGENTS and mission docs.
Files changed:
AGENTS.md | 1 +
docs/missions-completion-contract.md | 1 +
docs/missions.md | 1 +
.../mission-stranded-feature-retriage.test.ts | 160 +++++++++++++++++++++
packages/engine/src/__tests__/scheduler.test.ts | 155 ++++++++++++++++++++
packages/engine/src/run-audit.ts | 1 +
packages/engine/src/runtimes/in-process-runtime.ts | 1 +
packages/engine/src/scheduler.ts | 64 ++++++++-
packages/engine/src/self-healing.ts | 11 ++
9 files changed, 394 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5754
Fusion-Task-Lineage: 6b29754a-2fdf-4528-aa43-af294c4210df
2026-05-30 16:47:15 -07:00
gsxdsm
76e3cde532
Merge pull request #1202 from plarson/fix/skip-blocked-todo-reclaim
...
fix: skip blocked todo tasks during self-owned reclaim
2026-05-30 16:33:52 -07:00
gsxdsm
24e0c44b4a
FN-5731: require confirmation before archiving near-duplicate tasks
...
Stop silent near-duplicate auto-archive by routing duplicates through explicit user confirmation in API, engine, and dashboard flows.
- add new near-duplicate confirmation metadata/types and preserve duplicate task rows until confirmation
- update workflow routes and triage logic to return confirmation-required outcomes instead of immediate archive
- add TaskCard and TaskDetailModal UI/actions plus styling and hook updates for confirming or rejecting duplicate handling
- expand dashboard and engine tests and task-management docs to cover the new confirmation path
Files changed:
docs/task-management.md | 14 ++++-
packages/core/src/types.ts | 4 ++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/components/TaskCard.css | 59 ++++++++++++++++++
packages/dashboard/app/components/TaskCard.tsx | 46 +++++++++++++-
packages/dashboard/app/components/TaskDetailModal.css | 34 +++++++++++
packages/dashboard/app/components/TaskDetailModal.tsx | 71 +++++++++++++++++++++-
packages/dashboard/app/components/__tests__/TaskCard.test.tsx | 71 ++++++++++++++++++++++
packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx | 68 +++++++++++++++++++++
packages/dashboard/app/hooks/useTasks.ts | 2 +-
packages/dashboard/src/__tests__/routes-tasks-near-duplicate.test.ts | 45 ++++++++++++++
packages/dashboard/src/routes/register-task-workflow-routes.ts | 9 ++-
packages/engine/src/__tests__/reliability-interactions/near-duplicate-intake.test.ts | 16 +++--
packages/engine/src/triage.ts | 19 +++---
14 files changed, 433 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-5731
Fusion-Task-Lineage: fa004129-7bce-4457-b8c3-ceb9fb953319
2026-05-30 15:52:46 -07:00
Phil Larson
c6b3b77832
fix: treat origin/main commits as integrated contamination base
2026-05-30 15:15:47 -07:00
gsxdsm
292bf07385
FN-5752: flush merger agent logs before disposing sessions
...
Ensure merger AI activity is persisted to task logs before sessions are torn down.
- Flush AgentLogger output in merger AI-session finally blocks for autostash conflict resolution, autostash hard-fail recovery, and rebase conflict resolution paths
- Guard flush/dispose cleanup with safe try/catch handling to avoid teardown-time logging loss
- Add a regression test asserting logger flush occurs before session disposal during AI rebase conflict resolution
- Export the rebase conflict resolver helper for targeted test coverage
- Add a patch changeset for @runfusion/fusion documenting the agent-log visibility fix
Files changed:
.changeset/fn-5752-merger-log-flush.md | 5 ++++
packages/engine/src/__tests__/merger-conflict-resolution.test.ts | 30 ++++++++++++++++++++++
packages/engine/src/merger.ts | 22 +++++++++++++++-
3 files changed, 56 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5752
Fusion-Task-Lineage: 3c6023f0-cc9b-47e1-bfd4-69b40e011d84
2026-05-30 15:06:04 -07:00
gsxdsm
1594470144
FN-5738: make mission loop no-assertion auto-pass deterministic
...
Ensure mission validation loop advancement is deterministic when no assertions are linked and audit output is emitted once.
- update mission execution loop handling to auto-pass zero-assertion validations deterministically
- emit and guard validation_auto_passed_no_assertions audit behavior against duplicate recovery re-fire
- expand mission loop and reliability interaction tests for loop state, validator status, and replay safety
- refresh mission/architecture docs and add the FN-5738 changeset entry
Files changed:
.changeset/fn-5732a-loop-advance.md | 5 ++
AGENTS.md | 1 +
docs/architecture.md | 3 +-
docs/missions-completion-contract.md | 2 +-
docs/missions.md | 4 +-
.../src/__tests__/mission-execution-loop.test.ts | 27 ++++++++++-
.../mission-validation-trigger-gap.test.ts | 22 +++++++--
packages/engine/src/mission-execution-loop.ts | 54 +++++++++++++---------
8 files changed, 86 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-5738
Fusion-Task-Lineage: 141b73e3-fa49-468a-87b0-f36e091e716f
2026-05-30 15:04:26 -07:00
Phil Larson
a7347ad59e
fix: skip blocked todo tasks during self-owned reclaim
2026-05-30 14:50:22 -07:00
gsxdsm
20c1c3261e
FN-5741: persist merge-request handoff shadow contract
...
Introduce Phase 1 write-only persistence for merge-request handoff acceptance across core and engine paths.
- add persisted merge-request record types, schema/settings plumbing, and store write-path support
- update merger/executor/self-healing/run-audit flows to emit and consume the handoff-accepted shadow marker
- expand core/engine/roadmap tests and docs to cover the new merge-request shadow contract
- add a patch changeset for @runfusion/fusion for this bundled package update
Files changed:
.changeset/fn-5741-merge-request-shadow.md | 5 +
AGENTS.md | 1 +
docs/architecture.md | 2 +
docs/settings-reference.md | 1 +
packages/core/src/__tests__/db-migrate.test.ts | 12 +-
packages/core/src/__tests__/db.test.ts | 34 ++--
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
.../src/__tests__/merge-request-record.test.ts | 97 +++++++++++
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
packages/core/src/__tests__/secrets-schema.test.ts | 6 +-
.../core/src/__tests__/settings-parity.test.ts | 3 +
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/db.ts | 49 +++++-
packages/core/src/index.ts | 4 +-
packages/core/src/settings-schema.ts | 30 ++++
packages/core/src/store.ts | 189 ++++++++++++++++++++-
packages/core/src/types.ts | 37 ++++
.../src/__tests__/merger-merge-lifecycle.test.ts | 54 ++++++
.../merge-request-shadow-handoff.test.ts | 74 ++++++++
packages/engine/src/executor.ts | 15 +-
packages/engine/src/merger.ts | 37 ++++
packages/engine/src/run-audit.ts | 1 +
packages/engine/src/self-healing.ts | 16 +-
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
27 files changed, 646 insertions(+), 45 deletions(-)
Fusion-Task-Id: FN-5741
Fusion-Task-Lineage: 3fec14c3-47ff-4f14-bc02-24021518c992
2026-05-30 14:42:50 -07:00