gsxdsm
0cb54dd8c4
refactor(workflow): map merge policy ownership
2026-06-09 11:51:30 -07:00
gsxdsm
7a9d2b0f30
fix(FN-6086): preserve merge-queued review tasks
...
Treat persisted merge queue ownership as an active merge-lane owner when hydrating in-review stall state and when self-healing scans for ghost, stalled, or completion-handoff-limbo tasks.
Also clear false completion-handoff exhaustion for tasks that are still owned by the merge queue so previously poisoned review tasks can continue merging.
Fusion-Task-Id: FN-6086
2026-06-09 09:41:28 -07:00
gsxdsm
38d7f1c436
FN-6087: skip completed foreach steps on resume
...
Prevent shared-isolation foreach resumes from re-running terminal task steps.
- skip foreach step instances whose persisted status is already done or skipped before launching step-execute
- log resume skips so restart behavior is auditable during shared-isolation foreach runs
- add regression coverage for all-done resumes, mixed done/skipped resumes, and in-progress step replays
Files changed:
.../src/__tests__/workflow-graph-foreach.test.ts | 85 ++++++++++++++++++++++
packages/engine/src/workflow-graph-foreach.ts | 13 ++++
2 files changed, 98 insertions(+)
Fusion-Task-Id: FN-6087
Fusion-Task-Lineage: 56805a5c-a1ea-41bc-a758-1afed83c6bb7
2026-06-09 09:00:46 -07:00
gsxdsm
ccd44b77fe
fix(FN-6085): canonicalize merge worktree boundaries
2026-06-09 08:51:48 -07:00
gsxdsm
5f5852db8f
fix(FN-6085): accept canonical merge worktree paths
2026-06-09 08:43:20 -07:00
gsxdsm
a53330786e
fix(FN-6082): restore workflow overlap blocking
...
Workflow-column hold releases now participate in active file-scope leases before moving tasks into in-progress, preserving overlapBlockedBy card badges and scheduler blocking.
Fusion-Task-Id: FN-6082
2026-06-09 08:02:56 -07:00
gsxdsm
cd8126d6a4
fix(FN-6084): honor worktree limit for hold releases
...
Workflow-column hold releases now reserve against the active worktree count before moving tasks into in-progress, preventing restart bursts from exceeding maxWorktrees.
Fusion-Task-Id: FN-6084
2026-06-09 07:55:45 -07:00
gsxdsm
df74a6b752
FN-6050: stop re-emitting existing mission advisories
...
Treat previously recorded unlinked-mission advisories as authoritative across insight states.
- remove the generated-only insight filter when checking for an existing unlinked mission advisory
- suppress duplicate advisories even when the existing insight is dismissed, archived, or confirmed
- expand reporter coverage to assert the broader duplicate-detection behavior and insight query shape
Files changed:
.../unlinked-missions-advisory-reporter.test.ts | 49 +++++++++++++---------
.../src/unlinked-missions-advisory-reporter.ts | 1 -
2 files changed, 29 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-6050
Fusion-Task-Lineage: 5b9274f7-baf6-40c1-8a88-2fcc86c7ef14
2026-06-09 03:53:34 -07:00
gsxdsm
5030e2963e
FN-6070: fix completion-handoff limbo recovery accounting
...
Ensure limbo recovery attempts count only when auto-merge requeue is actually accepted.
- require completion-handoff recovery to enqueue merge work and confirm the requeue callback accepted the handoff before incrementing recovery counters
- return a boolean from the in-process runtime auto-merge requeue hook so self-healing can distinguish accepted versus rejected handoffs
- add coverage for rejected requeues, accepted retries, exhaustion behavior, and stalled in-review tasks that should not be deadlocked by rejected limbo recoveries
Files changed:
.../completion-handoff-limbo.test.ts | 126 ++++++++++++++++-----
.../in-review-stall-deadlock-disposition.test.ts | 43 +++++++
packages/engine/src/runtimes/in-process-runtime.ts | 2 +-
packages/engine/src/self-healing.ts | 42 ++++---
4 files changed, 170 insertions(+), 43 deletions(-)
Fusion-Task-Id: FN-6070
Fusion-Task-Lineage: 9634dc24-6045-4ee2-baec-d6e1d71a46b1
2026-06-09 03:44:20 -07:00
gsxdsm
eb113f3e33
FN-6068: fix engine executor test expectations for queued retries
...
Align engine executor tests with the current retry and worktree behavior.
- update implicit task-done refusal expectations to assert queued retry state resets
- update pause recovery coverage to expect requeued tasks instead of stuck-killed status
- stub the sandbox backend in worktree init tests and drop obsolete execSync assertions
Files changed:
.../executor-implicit-task-done-budget.test.ts | 11 ++++++-
...xecutor-implicit-task-done-revise-guard.test.ts | 11 ++++++-
.../engine/src/__tests__/executor-pause.test.ts | 5 +--
.../engine/src/__tests__/executor-worktree.test.ts | 37 ++++++++++++++++------
4 files changed, 50 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-6068
Fusion-Task-Lineage: b8ccabaa-7e5d-42dc-b522-6f4738b28db4
2026-06-09 02:27:43 -07:00
gsxdsm
e5e5ccf01f
FN-6065: fix pending-review advisory retry expectation
...
Adjust the reliability test to match the queued advisory retry path.
- update the plan-review UNAVAILABLE assertion to expect the task to requeue instead of fail
- assert the advisory path clears the error while incrementing the retry counter
- keep coverage that pending review should not record the executor review-pending failure
Files changed:
packages/engine/src/__tests__/reliability-interactions/executor-pending-review-skip-retry.test.ts | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6065
Fusion-Task-Lineage: 1ef13146-f19b-4735-9ec5-3f00eff6e575
2026-06-09 02:15:03 -07:00
gsxdsm
4b4c32dc18
FN-6063: enforce workflow scheduling capacity after hold release
...
Keep scheduler capacity checks aligned with fresh task state during workflow dispatch.
- bypass the startup slim-list memo when scheduling and after workflow hold release sweeps
- clear the startup slim-list memo when task.json writes move tasks between columns
- treat capacity-exhausted moveTask rejections as queued dispatches, log the reason, and cover the behavior with scheduler/store tests
- add a patch changeset for the published CLI package
Files changed:
.changeset/workflow-capacity-scheduler.md | 5 +++
packages/core/src/__tests__/store-movement.test.ts | 15 ++++++++
packages/core/src/store.ts | 1 +
packages/engine/src/__tests__/scheduler.test.ts | 40 ++++++++++++++++++++--
packages/engine/src/scheduler.ts | 25 ++++++++++----
5 files changed, 77 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6063
Fusion-Task-Lineage: 80ddc0e7-f78d-483c-886a-27c4c07bde7a
2026-06-09 02:03:22 -07:00
gsxdsm
13c6d96fe1
FN-6031: add workflow notification nodes
...
Add workflow notify nodes with templated notification dispatch support.
- add notify node support to workflow IR, engine handlers, and executor wiring
- expose notify node configuration and summaries in the dashboard editor and node metadata
- add regression tests and a published changeset, plus workflow/settings documentation updates
Files changed:
.changeset/fn-6031-notification-node.md | 5 +
docs/settings-reference.md | 6 +-
docs/workflow-steps.md | 10 +-
packages/core/src/__tests__/workflow-ir.test.ts | 59 ++++++++++
packages/core/src/types.ts | 4 +-
packages/core/src/workflow-ir-types.ts | 4 +-
packages/core/src/workflow-ir.ts | 19 +++
packages/dashboard/app/components/WorkflowNodeEditor.tsx | 76 +++++++++++-
packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx | 61 ++++++++++
packages/dashboard/app/components/__tests__/node-summary.test.ts | 29 +++++
packages/dashboard/app/components/__tests__/workflow-flow-mapping.test.ts | 37 ++++++
packages/dashboard/app/components/nodes/WorkflowNodeTypes.tsx | 7 +-
packages/dashboard/app/components/nodes/node-summary.ts | 5 +
packages/engine/src/__tests__/workflow-node-handlers-notify.test.ts | 131 +++++++++++++++++++++
packages/engine/src/executor.ts | 2 +
packages/engine/src/notification/ntfy-provider.ts | 11 ++
packages/engine/src/notification/webhook-provider.ts | 6 +-
packages/engine/src/workflow-graph-executor.ts | 4 +
packages/engine/src/workflow-graph-task-runner.ts | 4 +
packages/engine/src/workflow-node-handlers.ts | 93 ++++++++++++++-
20 files changed, 560 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6031
Fusion-Task-Lineage: ff5c91e2-3872-4264-9c18-5d9e11628f13
2026-06-09 01:57:16 -07:00
gsxdsm
f27ebfd6bb
FN-6051: add workflow graph retry coverage
...
Add retry coverage for built-in coding workflow executor failures.
- add execute-node retry tests for transient exceptions, exhausted retries, and clean failure outcomes
- verify review nodes use default retry behavior when no per-node retry config exists
- cover per-node maxRetries overrides with a custom workflow IR
Files changed:
packages/engine/src/__tests__/workflow-graph-executor-retry-coding-workflow.test.ts | 133 +++++++++++++++++++++
1 file changed, 133 insertions(+)
Fusion-Task-Id: FN-6051
Fusion-Task-Lineage: a2232af7-a86d-4ce4-aab9-a2cc18694f8a
2026-06-09 00:44:48 -07:00
gsxdsm
40d05c8139
fix(FN-6035): address workflow projection review feedback
2026-06-09 00:01:00 -07:00
gsxdsm
ad68c9d612
fix(FN-6035): harden workflow projection publishing
2026-06-08 23:47:33 -07:00
gsxdsm
83565a535a
fix(FN-6035): project workflow dispatch metadata
2026-06-08 23:38:32 -07:00
gsxdsm
9c43e3f30e
Merge pull request #1539 from Runfusion/feature/workflow-mapping
...
fix(FN-6035): align workflow dispatch and broad suite
2026-06-08 23:06:53 -07:00
gsxdsm
a98713d01d
fix(FN-6035): cap scheduler dispatch by global slots
2026-06-08 22:47:51 -07:00
gsxdsm
1029a1b8b4
test(FN-6035): fix broad workflow suite expectations
2026-06-08 22:35:04 -07:00
gsxdsm
f7f8b86989
Merge pull request #1536 from Runfusion/feature/workflow-mapping
...
feat(FN-6035): route execution through workflow primitives
2026-06-08 22:26:42 -07:00
gsxdsm
fc8086c480
fix(FN-6035): fail execute on missing prepared worktree
2026-06-08 22:05:45 -07:00
gsxdsm
8d3b869ec1
fix(FN-6035): model pre-merge workflow steps in builtin coding
2026-06-08 22:02:26 -07:00
gsxdsm
b6800e8622
fix(FN-6035): address workflow primitive review feedback
2026-06-08 21:16:32 -07:00
gsxdsm
3ed9b6ef24
Merge pull request #1535 from Runfusion/feature/stuck-tasks
...
fix(FN-6043): recover stuck task processing
2026-06-08 20:48:36 -07:00
gsxdsm
f0fa75b270
fix(FN-6043): address stuck task PR feedback
...
- align triage prompt templates on impacted-first verification
- guard verification max lifetime when timeout is disabled
- share idle semaphore leak recovery across scheduler and triage
Fusion-Task-Id: FN-6043
2026-06-08 20:29:37 -07:00
gsxdsm
8f42098cc3
feat(FN-6035): route execution through workflow primitives
...
Fusion-Task-Id: FN-6035
2026-06-08 19:13:14 -07:00
gsxdsm
aa8bd3dc92
fix(FN-6043): recover stuck task processing
...
Fusion-Task-Id: FN-6043
2026-06-08 18:14:48 -07:00
gsxdsm
8bc3d7b0a5
FN-6042: raise dependency security floors
...
Harden dependency floors and update the Vitest toolchain to patched releases.
- upgrade workspace vitest and @vitest/coverage-v8 dependencies to the 4.1 line across packages and plugins
- pin transitive protobufjs via pnpm overrides and lockfile updates to patched versions
- adapt Vitest configs, engine test helpers, and security-floor coverage for the new dependency baselines
- add the published CLI changeset and related workspace/package metadata updates included in the task branch
Files changed:
.changeset/fn-6042-security-dependencies.md | 5 +
AGENTS.md | 4 +
Dockerfile | 3 +
docs/PLUGIN_AUTHORING.md | 2 -
package.json | 3 +-
packages/cli/package.json | 4 +-
packages/cli/vitest.config.ts | 2 +-
packages/core/package.json | 4 +-
packages/core/vitest.config.ts | 2 +-
packages/dashboard/app/test/mockApi.ts | 4 +-
packages/dashboard/package.json | 4 +-
packages/dashboard/vitest.config.ts | 2 +-
packages/desktop/package.json | 4 +-
packages/desktop/vitest.config.ts | 2 +-
packages/droid-cli/package.json | 2 +-
packages/droid-cli/vitest.config.ts | 2 +-
packages/engine/package.json | 4 +-
.../engine/src/__tests__/executor-test-helpers.ts | 29 +-
.../engine/src/__tests__/gridlock-detector.test.ts | 5 +-
.../src/__tests__/heartbeat-scheduler.test.ts | 3 +-
packages/engine/src/__tests__/scheduler.test.ts | 24 +-
packages/engine/src/__tests__/self-healing.test.ts | 5 +
packages/engine/tsconfig.json | 3 +-
packages/engine/vitest.config.ts | 10 +-
packages/i18n/package.json | 2 +-
packages/i18n/vitest.config.ts | 7 +
packages/mobile/package.json | 2 +-
packages/mobile/vitest.config.ts | 2 +-
packages/pi-claude-cli/package.json | 2 +-
packages/pi-claude-cli/vitest.config.ts | 2 +-
packages/pi-llama-cpp/package.json | 2 +-
packages/pi-llama-cpp/vitest.config.ts | 2 +-
packages/plugin-sdk/package.json | 2 +-
packages/plugin-sdk/vitest.config.ts | 2 +-
.../examples/fusion-plugin-auto-label/package.json | 2 +-
.../fusion-plugin-auto-label/vitest.config.ts | 2 +-
.../examples/fusion-plugin-ci-status/package.json | 2 +-
.../fusion-plugin-ci-status/vitest.config.ts | 2 +-
.../fusion-plugin-notification/package.json | 2 +-
.../fusion-plugin-notification/vitest.config.ts | 2 +-
.../fusion-plugin-settings-demo/package.json | 2 +-
.../fusion-plugin-settings-demo/vitest.config.ts | 2 +-
plugins/fusion-plugin-acp-runtime/package.json | 2 +-
plugins/fusion-plugin-acp-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-agent-browser/package.json | 2 +-
.../fusion-plugin-agent-browser/vitest.config.ts | 2 +-
.../fusion-plugin-cli-printing-press/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../package.json | 2 +-
.../src/__tests__/orchestrator-live-output.test.ts | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-cursor-runtime/package.json | 4 +-
.../fusion-plugin-dependency-graph/package.json | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-droid-runtime/package.json | 2 +-
.../fusion-plugin-droid-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-even-cards/package.json | 2 +-
plugins/fusion-plugin-even-cards/vitest.config.ts | 2 +-
.../package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-hermes-runtime/package.json | 2 +-
.../fusion-plugin-hermes-runtime/vitest.config.ts | 2 +-
.../fusion-plugin-openclaw-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../fusion-plugin-paperclip-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-reports/package.json | 2 +-
.../src/__tests__/review-panel.test.ts | 6 +-
plugins/fusion-plugin-reports/vitest.config.ts | 2 +-
plugins/fusion-plugin-roadmap/package.json | 2 +-
plugins/fusion-plugin-roadmap/vitest.config.ts | 2 +-
plugins/fusion-plugin-whatsapp-chat/package.json | 2 +-
.../fusion-plugin-whatsapp-chat/vitest.config.ts | 2 +-
pnpm-lock.yaml | 626 ++++++++-------------
.../__tests__/dependency-security-floor.test.mjs | 95 ++++
75 files changed, 475 insertions(+), 491 deletions(-)
Fusion-Task-Id: FN-6042
Fusion-Task-Lineage: fff6a1cb-8937-435c-9a91-b7c7a59cc80e
2026-06-08 15:19:27 -07:00
gsxdsm
4ffd0a2dde
FN-6030: fix workflow terminal notifications
...
Ensure merged workflow tasks still emit the expected terminal notifications.
- emit task:merged when PR-driven workflow merges move tasks to done
- send merged notifications for merge-backed done transitions and suppress duplicates
- add regression coverage, a published changeset, and reconcile overlapping docs/test updates
Files changed:
.../fn-6030-workflow-terminal-notifications.md | 5 +
docs/storage.md | 8 +-
.../core/src/__tests__/builtin-workflows.test.ts | 1 -
.../__tests__/store-pr-merged-transition.test.ts | 14 ++-
.../src/__tests__/workflow-ir-resolver.test.ts | 1 -
packages/core/src/store.ts | 14 ++-
.../settings/sections/ProjectModelsSection.tsx | 3 +-
.../engine/src/__tests__/merger-post-merge.test.ts | 9 +-
.../src/__tests__/notification-service.test.ts | 129 ++++++++++++++++++++-
.../__tests__/workflow-graph-task-runner.test.ts | 57 +++++++++
.../src/notification/notification-service.ts | 36 ++++--
11 files changed, 257 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6030
Fusion-Task-Lineage: a991f765-0986-4541-ab38-ff476cf88d16
2026-06-08 13:54:17 -07:00
gsxdsm
ce4d0a899f
FN-6008: document FTS migration defer evidence and align workflow IDs
...
Refresh the FTS migration guidance with fresh evidence and reconcile workflow interpreter naming.
- document post-FN-5943 production evidence showing the single-file tasks_fts index remains bounded and rebuild-free
- keep the storage guidance explicitly deferred until recurring corruption or sustained bloat is observed
- relax the foreach parser test to accept the current nested loop/foreach error wording
- align the authoritative workflow driver ID with the task branch change during conflict resolution
Files changed:
docs/storage.md | 7 ++++++-
packages/core/src/__tests__/workflow-ir-foreach.test.ts | 2 +-
packages/engine/src/workflow-authoritative-driver.ts | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6008
Fusion-Task-Lineage: d8c7c05c-f003-453d-bbd1-d9f0dda62f7c
2026-06-08 13:32:58 -07:00
gsxdsm
2fd214b4f2
FN-5975: extend archive FTS maintenance coverage
...
Add archive-database FTS maintenance and document the expanded compaction policy.
- add archive FTS maintenance helpers for optimize, rebuild, size measurement, and row counts
- extend self-healing maintenance to compact and rebuild archived_tasks_fts on a slower archive-specific cadence
- cover archive FTS maintenance with new core and engine tests and update architecture/storage docs
Files changed:
docs/architecture.md | 2 +-
docs/storage.md | 12 +-
.../__tests__/archive-db-fts-maintenance.test.ts | 221 +++++++++++++++++++++
packages/core/src/archive-db.ts | 61 +++++-
packages/core/src/db.ts | 21 +-
packages/core/src/store.ts | 20 ++
.../src/__tests__/fts-maintenance-archive.test.ts | 207 +++++++++++++++++++
packages/engine/src/self-healing.ts | 80 ++++++++
8 files changed, 608 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-5975
Fusion-Task-Lineage: 13645c8c-3126-4d1b-af23-7cab1a8bb276
2026-06-08 10:33:16 -07:00
gsxdsm
c0b6f212c9
fix(FN-5994): address verification review feedback
...
Harden command normalization edge cases and abort loop compaction on timeout before falling through to stuck-task requeue.
Fusion-Task-Id: FN-5994
2026-06-08 10:23:01 -07:00
gsxdsm
0c8674c37c
fix(FN-5994): prevent verification hangs
...
Normalize package file-filter verification to direct Vitest execution, kill timed-out process groups, and bound loop-recovery compaction so stuck tasks cannot spin indefinitely.
Fusion-Task-Id: FN-5994
2026-06-08 09:44:00 -07:00
gsxdsm
c9b780217b
Merge pull request #1508 from Runfusion/feature/workflow-loop-nodes
...
Add bounded workflow loop nodes
2026-06-08 00:33:25 -07:00
gsxdsm
75867c4002
fix(FN-0000): address workflow loop review feedback
2026-06-08 00:19:50 -07:00
gsxdsm
a504238d26
feat(FN-0000): add workflow loop nodes
2026-06-07 23:56:25 -07:00
gsxdsm
56b194383d
fix: address workflow PR feedback
2026-06-07 23:30:16 -07:00
gsxdsm
e138971030
fix: stabilize workflow board and loop recovery
2026-06-07 23:30:16 -07:00
gsxdsm
340b2efa39
Merge pull request #1467 from buihongduc132/upstream-pr/project-selector-enhancements
...
feat(dashboard): scrollable, autocomplete, bookmarkable project selector
2026-06-07 23:18:30 -07:00
gsxdsm
a27921a276
fix: address PR review feedback ( #1467 )
...
- guard optional project selection callbacks and keep bookmarked search matches visible
- use structured timeout/rate-limit handling in retry backoff
- add focused regressions for selector and retry behavior
Note: pnpm test passed the merge gate but hit pre-existing non-blocking engine mock failures in changed-package tests.
2026-06-07 23:03:38 -07:00
gsxdsm
de254858f2
Merge pull request #1498 from Runfusion/feature/engine-plugin
...
[codex] Add workflow extension plugin seams
2026-06-07 22:57:04 -07:00
gsxdsm
6d47d1abd0
fix(engine): tighten workflow extension feedback fixes
2026-06-07 22:21:48 -07:00
gsxdsm
01523a6581
fix(engine): address workflow extension PR feedback
2026-06-07 21:19:10 -07:00
gsxdsm
71822f26db
feat(engine): add workflow extension plugin seams
2026-06-07 20:43:44 -07:00
gsxdsm
d3a2c8863d
FN-5945: narrow hot task updates to changed columns
...
Reduce SQLite and FTS churn on hot task-update paths.
- switch hot task writes to column-scoped UPDATE statements that touch only changed fields plus updatedAt
- keep create and replication-style persistence on full-row INSERT/UPSERT paths and rewrite task.json from the refreshed DB row after partial updates
- route executor lease renewals through renewCheckoutLease and add regression coverage plus storage docs for the narrower write paths
Files changed:
docs/storage.md | 5 +-
.../core/src/__tests__/task-partial-update.test.ts | 191 ++++++
packages/core/src/store.ts | 638 +++++++++++----------
.../src/__tests__/executor-lease-renewal.test.ts | 66 +++
packages/engine/src/executor.ts | 2 +-
5 files changed, 603 insertions(+), 299 deletions(-)
Fusion-Task-Id: FN-5945
Fusion-Task-Lineage: ad0c5b64-f411-4379-85ab-f81edfc18101
2026-06-07 20:15:26 -07:00
gsxdsm
3615b0b19d
FN-5941: stop todo/in-progress flapping
...
Prevent scheduler and self-healing churn from bouncing live tasks between todo and in-progress.
- add dispatch oscillation settings, scheduler settle-window tracking, and auto-pause audit/logging for rapid todo↔in-progress cycles
- harden self-healing against reclaiming genuinely active tasks by checking executor activity, grace windows, and heartbeat runs before requeueing
- cover the new reliability invariants with focused engine tests and document the new diagnostics/settings behavior
Files changed:
docs/architecture.md | 1 +
docs/diagnostics.md | 9 +
docs/settings-reference.md | 3 +
.../core/src/__tests__/settings-parity.test.ts | 6 +
packages/core/src/settings-schema.ts | 6 +
packages/core/src/types.ts | 9 +
.../todo-inprogress-flapping.test.ts | 556 +++++++++++++++++++++
packages/engine/src/__tests__/scheduler.test.ts | 14 +-
.../self-healing-in-progress-limbo.test.ts | 2 +-
packages/engine/src/__tests__/self-healing.test.ts | 8 +-
packages/engine/src/run-audit.ts | 8 +
packages/engine/src/scheduler.ts | 113 ++++-
packages/engine/src/self-healing.ts | 230 +++++++--
13 files changed, 928 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-5941
Fusion-Task-Lineage: babdd85e-d04c-47ca-901c-db692b2874bf
2026-06-07 18:51:47 -07:00
gsxdsm
934f2f0d04
FN-6004: add execFile to engine child_process test mocks
...
Update engine tests so child_process mocks cover execFile alongside exec.
- add execFile mock implementations and promisify support in branch/worktree tests that rely on child_process behavior
- extend simpler child_process mocks in integration, sandbox, and worktree tests to export execFile stubs
- keep existing exec and execSync mock behavior unchanged while restoring compatibility with code that now imports execFile
Files changed:
packages/engine/src/__tests__/branch-autocorrect.test.ts | 9 ++++++++-
.../engine/src/__tests__/branch-conflicts-self-owned.test.ts | 9 ++++++++-
packages/engine/src/__tests__/branch-conflicts.test.ts | 9 ++++++++-
packages/engine/src/__tests__/integration-branch.test.ts | 1 +
.../engine/src/__tests__/sandbox/bubblewrap-detect.test.ts | 1 +
.../engine/src/__tests__/sandbox/sandbox-exec-backend.test.ts | 1 +
.../engine/src/__tests__/sandbox/sandbox-exec-detect.test.ts | 1 +
.../engine/src/__tests__/worktree-acquisition-backend.test.ts | 2 +-
.../src/__tests__/worktree-acquisition-worktrunk.test.ts | 2 +-
packages/engine/src/__tests__/worktree-backend.test.ts | 2 +-
.../engine/src/__tests__/worktree-hooks-cross-platform.test.ts | 2 +-
packages/engine/src/__tests__/worktree-pool.test.ts | 10 ++++++++--
packages/engine/src/__tests__/worktree-stale-lock.test.ts | 2 +-
.../engine/src/__tests__/worktree-stale-registration.test.ts | 2 +-
14 files changed, 42 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6004
Fusion-Task-Lineage: f87fb103-fe5d-4fc9-a640-9991c06e6448
2026-06-07 18:51:47 -07:00
gsxdsm
fab8a62b55
FN-5977: expose goal retrieval tools across engine agents
...
Make goal lookup tools available and citable throughout engine-driven agent sessions.
- add shared engine goal list/show tools with concise list snippets, full detail lookup, and retrieval audit coverage
- expose fn_goal_list and fn_goal_show in executor, heartbeat, and triage tool surfaces and classify them as readonly coordination-exempt tools
- extend CLI and engine regression coverage, refresh tool reference docs, and add a published changeset for the CLI package
Files changed:
.changeset/FN-5977-goal-retrieval-engine-tools.md | 7 +
packages/cli/skill/fusion/references/engine-tools.md | 2 +
packages/cli/src/__tests__/extension-goal-tools-audit.test.ts | 8 +-
packages/cli/src/__tests__/extension-goal-tools.test.ts | 118 +++++++++++-
packages/cli/src/__tests__/goal-store-resolution.test.ts | 2 +-
packages/cli/src/extension.ts | 38 +++-
packages/engine/src/__tests__/agent-tools-goal.test.ts | 213 +++++++++++++++++++++
packages/engine/src/__tests__/gating-classifications.test.ts | 4 +
packages/engine/src/__tests__/heartbeat-executor.test.ts | 22 ++-
packages/engine/src/__tests__/heartbeat-session-prompt.test.ts | 8 +-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 180 ++++++++++++++++-
packages/engine/src/executor.ts | 8 +
packages/engine/src/gating-classifications.ts | 2 +
packages/engine/src/triage.ts | 26 ++-
15 files changed, 600 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-5977
Fusion-Task-Lineage: 46f7e777-da4d-4e9c-b014-329a5cb1e3da
2026-06-07 18:51:46 -07:00
gsxdsm
61d687440b
FN-5770: promote workflow interpreter to guarded lifecycle driver
...
Route default coding tasks through the workflow interpreter only when parity readiness checks pass.
- add a core cutover-readiness evaluator and exports for the workflowInterpreterAuthoritative flag
- wire a WorkflowAuthoritativeDriver into runtime dispatch and reuse authoritative lifecycle seams with legacy fallback behavior
- cover the cutover with reliability tests, docs updates, and a published CLI changeset
Files changed:
.../FN-5770-workflow-interpreter-authoritative.md | 5 +
docs/architecture.md | 1 +
docs/settings-reference.md | 5 +-
docs/workflow-steps.md | 22 +-
.../core/src/__tests__/workflow-cutover.test.ts | 68 +++++
packages/core/src/index.ts | 8 +
packages/core/src/workflow-cutover.ts | 81 ++++++
.../src/__tests__/openclaw-runtime-e2e.test.ts | 1 +
.../engine/src/__tests__/pi-layers-wiring.test.ts | 2 +-
.../branch-recovery-live-zero-commits.test.ts | 2 +-
.../branch-recovery-stale-cached-base.test.ts | 2 +-
.../workflow-interpreter-cutover.test.ts | 306 +++++++++++++++++++++
.../self-healing-completion-fanout.test.ts | 2 +-
.../self-healing-ghost-branch-recovery.test.ts | 2 +-
.../self-healing-orphan-only-scope.test.ts | 2 +-
.../self-healing-reclaim-live-zero-commits.test.ts | 2 +-
.../self-healing-stale-merger-status.test.ts | 2 +-
.../src/__tests__/step-session-executor.test.ts | 2 +-
.../__tests__/worktree-admin-entry-prune.test.ts | 8 +-
packages/engine/src/executor.ts | 13 +-
packages/engine/src/index.ts | 6 +
packages/engine/src/runtimes/in-process-runtime.ts | 8 +
.../engine/src/workflow-authoritative-driver.ts | 154 +++++++++++
23 files changed, 686 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-5770
Fusion-Task-Lineage: dee668b5-10e0-4a3c-b025-9cc43a26286a
2026-06-07 18:51:46 -07:00