gsxdsm
55a8e14d5d
Merge pull request #1502 from Runfusion/feature/workflow-settings
...
feat(workflow-settings): simplify workflow model lanes
2026-06-07 23:10:55 -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
61ae1bf706
feat(workflow-settings): simplify workflow model lanes
2026-06-07 22:07:47 -07:00
gsxdsm
71822f26db
feat(engine): add workflow extension plugin seams
2026-06-07 20:43:44 -07:00
gsxdsm
cf80622875
FN-5993: prevent PR metadata generation hangs
...
Bound PR AI metadata generation so the PR dialog falls back cleanly instead of hanging indefinitely.
- add a 60s timeout and abort-aware fallback path to dashboard PR metadata generation
- forward request abort signals from the PR metadata route and avoid writing responses after disconnects
- cover timeout/abort behavior in PR metadata generator and route tests
- document the bounded fallback behavior in the dashboard guide
Files changed:
docs/dashboard-guide.md | 1 +
.../src/__tests__/pr-metadata-generator.test.ts | 93 +++++++++-
...it-github.pr-options-preflight-metadata.test.ts | 8 +-
packages/dashboard/src/pr-metadata-generator.ts | 199 ++++++++++++++-------
.../dashboard/src/routes/register-git-github.ts | 10 ++
5 files changed, 235 insertions(+), 76 deletions(-)
Fusion-Task-Id: FN-5993
Fusion-Task-Lineage: fc49c15a-2359-4d14-b0ae-fed4aecde2fb
2026-06-07 20:38:53 -07:00
gsxdsm
1f2c7e22dc
FN-5992: improve workflow editor mobile responsiveness
...
Make the workflow editor and related settings panels usable on narrow screens.
- add mobile-specific full-screen layout overrides for the workflow editor, create dialog, sidebar, inspector, settings panel, and AI panel
- stack workflow selector, workflow settings, and workflow fields controls for phone-sized viewports
- document the workflow editor mobile behavior in the dashboard guide
- add CSS contract tests covering the new mobile workflow editor and panel rules
Files changed:
docs/dashboard-guide.md | 13 +++
.../app/components/WorkflowFieldsPanel.css | 15 +++
.../app/components/WorkflowNodeEditor.css | 94 ++++++++++++++++++
.../dashboard/app/components/WorkflowSelector.css | 16 ++++
.../app/components/WorkflowSettingsPanel.css | 20 ++++
.../__tests__/WorkflowNodeEditor.css.test.ts | 105 +++++++++++++++++++++
6 files changed, 263 insertions(+)
Fusion-Task-Id: FN-5992
Fusion-Task-Lineage: c92396dc-88e5-4da0-be3f-687e7bd10972
2026-06-07 20:36:35 -07:00
gsxdsm
2d81a95ad9
FN-5985: align mission goal link errors
...
Align mission goal link write paths on the documented GOAL_NOT_FOUND contract.
- return 400 GOAL_NOT_FOUND from linkable goal validation instead of 404 when a goal is missing
- update mission goal route tests to assert the new error payload across create, patch, set, and add flows
- document the link-vs-unlink missing-goal behavior and add a patch changeset for the published CLI package
Files changed:
.../FN-5985-mission-goal-not-found-contract.md | 5 ++++
docs/missions.md | 2 +-
.../__tests__/mission-goal-links-routes.test.ts | 32 +++++++++++++++++-----
packages/dashboard/src/mission-routes.ts | 9 +++++-
4 files changed, 39 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-5985
Fusion-Task-Lineage: 5649266e-5813-41b4-8a54-c7c46df61a35
2026-06-07 20:23:07 -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
2e5ded36ca
FN-5976: document attached SQLite FTS investigation
...
Document why live task FTS tables should stay in fusion.db for now.
- expand the storage audit note to cover FN-5976 alongside FN-5943
- explain why moving tasks_fts into an attached database would require abandoning external-content FTS and trigger-based sync
- capture the operational tradeoffs, current code paths, and defer/revisit criteria for a future redesign
Files changed:
docs/storage.md | 31 +++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-5976
Fusion-Task-Lineage: 5e6c6eea-d1d6-4997-9f2b-a8597a7640be
2026-06-07 18:51:47 -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
gsxdsm
294209f64b
FN-5943: maintain tasks FTS5 indexes automatically
...
Keep the tasks FTS5 index compact and self-healing during routine maintenance.
- add FTS5 trigger helpers, index sizing utilities, and a schema migration that skips no-op searchable-field rewrites
- run merge/optimize/rebuild maintenance from self-healing with thresholds, cadence, and run-audit logging
- add focused FTS maintenance coverage and update storage/architecture docs for the new behavior
Files changed:
docs/architecture.md | 1 +
docs/storage.md | 14 ++
packages/core/src/__tests__/db-migrate.test.ts | 50 ++--
packages/core/src/__tests__/db.test.ts | 84 +++----
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 | 2 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
.../src/__tests__/store-archive-search.test.ts | 33 +++
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/archive-db.ts | 6 +-
packages/core/src/db.ts | 162 ++++++++++---
packages/core/src/store.ts | 16 ++
.../engine/src/__tests__/fts-maintenance.test.ts | 268 +++++++++++++++++++++
packages/engine/src/self-healing.ts | 70 ++++++
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
18 files changed, 622 insertions(+), 108 deletions(-)
Fusion-Task-Id: FN-5943
Fusion-Task-Lineage: 9a851ede-95ee-4b76-bc34-737912f0e3fc
2026-06-07 18:51:46 -07:00
gsxdsm
fb6b441fbe
FN-5960: add unlinked mission advisory reporting
...
Add explicit visibility for active missions that remain intentionally unlinked to goals.
- document the no-backfill decision with an engine-emitted unlinked mission advisory
- add a scheduler reporter that emits one deduped workflow insight for active missions without goal links and falls back to task logs when insight storage is unavailable
- cover the advisory reporter and scheduler integration with focused tests
- clear PR remediation errors when changing the Create Pull Request base branch
Files changed:
docs/missions.md | 2 +
.../dashboard/app/components/PrCreateModal.tsx | 2 +
packages/engine/src/__tests__/scheduler.test.ts | 8 +
.../unlinked-missions-advisory-reporter.test.ts | 170 +++++++++++++++++++++
packages/engine/src/scheduler.ts | 18 +++
.../src/unlinked-missions-advisory-reporter.ts | 117 ++++++++++++++
6 files changed, 317 insertions(+)
Fusion-Task-Id: FN-5960
Fusion-Task-Lineage: efdbb4f5-fbd5-4ed7-9b9e-58706041d993
2026-06-07 18:51:46 -07:00
gsxdsm
cee81e66ac
docs(workflow): mark runtime cutover plan complete
2026-06-07 17:51:37 -07:00
gsxdsm
cbc2bbff7d
refactor(workflow): add workflow task runtime facade
2026-06-07 17:42:43 -07:00
gsxdsm
ba16805ce6
Merge pull request #1466 from Runfusion/gsxdsm/issue-1454-manage-projet-bug
...
fix: empty folder selection reverts in DirectoryPicker + add create-folder button
2026-06-06 09:24:31 -07:00
gsxdsm
020a1cf7b9
docs: compound knowledge for DirectoryPicker empty-folder revert bug
2026-06-06 01:42:57 -07:00
gsxdsm
f49ab4946a
Merge pull request #1463 from Runfusion/gsxdsm/issue-1455-initialize-git-repository
...
fix(FN-1455): initialize git during project registration
2026-06-06 01:08:31 -07:00
gsxdsm
8543e139a3
Merge pull request #1464 from Runfusion/gsxdsm/compound-debug
...
fix(dashboard): add missing vite alias for compound-engineering plugin
2026-06-06 01:06:17 -07:00
gsxdsm
2992a7e19a
fix(FN-1455): surface automatic git initialization
...
Fusion-Task-Id: FN-1455
2026-06-06 01:01:24 -07:00
gsxdsm
c2da5883e7
fix(FN-1455): document project git registration invariant
...
Fusion-Task-Id: FN-1455
2026-06-06 00:59:01 -07:00
gsxdsm
c02cbde2bf
docs(solutions): document bundled plugin Vite alias failure mode
2026-06-06 00:56:55 -07:00
gsxdsm
db971a91ea
fix(FN-1455): initialize git during project registration
...
Fusion-Task-Id: FN-1455
2026-06-06 00:38:28 -07:00
gsxdsm
1922b5efc2
merge: main (workflow editor 109 / cli_sessions 110-111 / workflow_settings 112) — renumber PR-entity migration to 113, union core exports, TaskCard prNode + cliSessionState badges, executor PrNodeDeps + CliAgentRuntime options
2026-06-05 23:06:46 -07:00
gsxdsm
3f313567dd
feat(pr): built-in PR workflow template, end-to-end (U9)
...
Ships BUILTIN_PR_WORKFLOW_IR (builtin:pr-workflow) wiring the lifecycle
end to end: start -> pr-create -> await-review hold -> (changes-requested)
pr-respond -[rework]-> await-review -> (approved) auto-merge gate ->
pr-merge -> end, with conflict/failed holds and manual force-merge/close
edges. Completes U6's validator side: validateV2 permits a top-level
kind:rework edge whose loop-head opts in via config.reworkRegion (non-
rework cycles still rejected). Additive (default builtin:coding untouched);
behind workflowGraphExecutor. Legacy PrCommentHandler/PrMonitor retirement
deferred (they remain the flag-off path's PR handling) — recorded in the
plan. Fast e2e test; 41 core IR/builtin tests green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 22:42:36 -07:00
gsxdsm
4d61374ee7
docs(pr): brainstorm + plan for unified PR entity as workflow nodes
...
Adds the requirements brainstorm and implementation plan for replacing
fusion's split PR machinery with a first-class PR entity whose lifecycle
is expressed as workflow-graph nodes (pr-create, pr-respond, pr-merge),
plus CONCEPTS.md entries for the PR entity and review-response loop.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 17:20:44 -07:00
gsxdsm
1f68348441
merge: main (CLI agent interface #1446 ) — renumber workflow_settings migration to 112 behind main's cli_sessions(110)/adapter(111), full-workspace literal sweep, i18n union
2026-06-05 16:18:39 -07:00
gsxdsm
693ed6290a
Merge remote-tracking branch 'origin/main' into gsxdsm/cli-agent-interface
...
# Conflicts:
# CONCEPTS.md
# packages/core/src/__tests__/db-migrate.test.ts
# packages/core/src/__tests__/db.test.ts
# packages/core/src/__tests__/goals-schema.test.ts
# packages/core/src/__tests__/insight-store.test.ts
# packages/core/src/__tests__/merge-request-record.test.ts
# packages/core/src/__tests__/mission-store.test.ts
# packages/core/src/__tests__/run-audit.test.ts
# packages/core/src/__tests__/store-merge-queue.test.ts
# packages/core/src/__tests__/task-documents.test.ts
# packages/core/src/db.ts
# packages/dashboard/src/__tests__/agent-onboarding.test.ts
# packages/dashboard/src/__tests__/ai-refine.test.ts
# packages/dashboard/src/__tests__/chat-attachment-routes.test.ts
# packages/dashboard/src/__tests__/experiment-routes.finalize.test.ts
# packages/dashboard/src/__tests__/milestone-slice-interview.test.ts
# packages/dashboard/src/__tests__/mission-interview.test.ts
# packages/dashboard/src/__tests__/pr-metadata-generator.test.ts
# packages/dashboard/src/__tests__/project-pause-resume-routes.test.ts
# packages/dashboard/src/__tests__/routes-approval-sandbox-provisioning.test.ts
# packages/dashboard/src/__tests__/routes-approval-secrets.test.ts
# packages/dashboard/src/__tests__/routes-approval.test.ts
# packages/dashboard/src/__tests__/routes-worktrunk.test.ts
# packages/dashboard/src/__tests__/session-error-recovery.test.ts
# packages/dashboard/src/__tests__/session-persistence-roundtrip.test.ts
# packages/dashboard/src/__tests__/session-reconnect.test.ts
# packages/dashboard/src/__tests__/session-resume-history.test.ts
# packages/dashboard/src/__tests__/setup-routes.test.ts
# packages/dashboard/src/__tests__/subtask-breakdown.test.ts
# packages/dashboard/src/routes/__tests__/agent-avatar-routes.test.ts
# packages/dashboard/src/routes/__tests__/custom-providers.test.ts
# packages/dashboard/src/routes/__tests__/docker-node-routes.test.ts
# packages/i18n/locales/en/app.json
# plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-store.test.ts
2026-06-05 15:30:59 -07:00
gsxdsm
6d16c07197
merge: main (editor consolidation #1433 , fast-tests, learnings) — renumber workflow_settings migration to 110, settings panel joins the sidebar disclosures, full-workspace literal sweep
2026-06-05 15:23:15 -07:00
gsxdsm
7d69691bbf
Merge pull request #1433 from Runfusion/gsxdsm/improve-node-editor
...
feat: workflow editor upgrade and consolidation — primary surface, templates, import/export, AI design
2026-06-05 15:06:32 -07:00
gsxdsm
47e4919a78
Merge pull request #1453 from Runfusion/gsxdsm/fast-tests
...
refactor(ci): thin trusted merge gate with flaky-test deletion ratchet
2026-06-05 14:52:12 -07:00
gsxdsm
11fb9f1325
merge main: per-column agent assignment (binding validation, policy-escalation handshake, override notes) into workflow editor consolidation
...
Resolved 4 conflicts preserving both feature sets:
- WorkflowNodeEditor.tsx: kept card-node/edge/dialog/dirty-guard/auto-layout/
onboarding/template/AI-edit features; wired main's columnAgentsEnabled flag
gate, override-column agent registry load, and policy-escalation save retry
(finishSave helper wraps both update payloads).
- WorkflowNodeEditor.test.tsx: kept U2/U4/AI-design describes plus main's U6
column-agent describe; merged api mock + import lists.
- register-workflow-routes.ts: merged import sets (design DI seam + column-agent
validators).
- agent-tools.ts: strip-approval-flags and column-agent binding assertion now
both run in create/update tools.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 14:43:02 -07:00
gsxdsm
b7fa21c25e
merge: main (column-agent assignment #1432 ) into workflow-settings — union executor/agent-tools/routes imports, both tool-description texts, both route helpers
2026-06-05 14:41:43 -07:00
gsxdsm
60f1b7fa39
Merge remote-tracking branch 'origin/main' into gsxdsm/cli-agent-interface
...
# Conflicts:
# packages/dashboard/app/components/__tests__/ListView.test.tsx
2026-06-05 14:36:42 -07:00
gsxdsm
66d829abed
docs(solutions): schema-version literal sweep must include plugin workspaces
2026-06-05 14:32:04 -07:00
gsxdsm
baac9a12f0
docs(solutions): capture thin-trusted-merge-gate pattern; refine Testing vocabulary in CONCEPTS.md
2026-06-05 14:29:07 -07:00
gsxdsm
c5c729315e
docs(solutions): per-entity execution-principal override blast-radius checklist + column-agent vocabulary
2026-06-05 14:27:35 -07:00
gsxdsm
319e3d76de
docs(solutions): capture schema-version migration-gate learning
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 14:23:45 -07:00
gsxdsm
9843fb9fcb
docs(solutions): i18next empty-placeholder blank-render learning + Translation Placeholder concept
2026-06-05 14:23:27 -07:00
gsxdsm
b8eea85dc9
Merge pull request #1432 from Runfusion/feat/column-agent-assignment
...
feat: per-column agent assignment for workflow columns
2026-06-05 14:19:53 -07:00
gsxdsm
20153a3ef3
chore(plan): mark fast-trusted-test-gate plan completed
2026-06-05 09:41:32 -07:00
gsxdsm
482fc25add
Merge main into fast-tests: keep both CONCEPTS additions (workflow columns/plugins + merge-gate testing vocabulary)
2026-06-05 09:37:22 -07:00
gsxdsm
2a0223472e
Address PR review feedback ( #1432 )
...
- delimiter-safe foreach instance-id resolution via IR-validated candidates
- restart watcher handles binding removal/defer-flip and re-keys the reverse
heartbeat guard on agent change/delete
- governing-node stamp owned by the pass-initiating foreach instance (race fix)
- editor: policy-escalation confirm/retry handshake on save; foreach children
inherit the override note; project-scoped agent fetches; picker disabled on
registry fetch error; column-agent strings in the canonical i18n catalog
- tests: update-tool escalation surface, PATCH escalation route, parity bound
to run-derived stages, try/finally cleanup, deterministic event waits,
symmetric defer surfaces, binding-release regression
2026-06-05 09:29:04 -07:00
gsxdsm
3387ac8096
fix(review): apply autofix feedback
2026-06-05 09:23:15 -07:00
gsxdsm
93b6a33c07
docs: add fast-trusted-test-gate brainstorm + plan; CONCEPTS entries for Merge Gate and Deletion Ratchet; lint fix in boot-smoke
2026-06-05 09:12:43 -07:00
gsxdsm
e2ddcdc7c1
docs(test): codify merge gate + flaky-test deletion ratchet policy
...
- AGENTS.md: gate/non-blocking split replaces 'tests are required' framing;
new standing rule: flaky tests quarantined on sight, deleted in 2 weeks
unless rescued with root-cause fix; agent appeasement ban; gate eviction rule;
product-race escalation note
- docs/testing.md: merge-gate section with honest blind-spot statement,
quarantine ledger mechanics, updated workflow references
2026-06-05 09:10:19 -07:00
gsxdsm
fd7fed22f4
refactor(ci): thin PR gate to lint/typecheck/build/gate; demote full suite to non-blocking push-to-main workflow
...
- pr-checks.yml: gate job = boot smoke + pnpm test:gate; shards/slow/inventory removed
- full-suite.yml (new): 4-way shards, engine slow tier, inventory guard on push to main
- ci.yml deleted (trigger-disabled since FN-1541; was dead config)
- ci-workflow.test.ts rewritten to pin the new gate shape; release/signing blocks preserved
- docs/contributing.md: pnpm test:gate is the merge gate; verify:workspace repositioned as deep opt-in
BRANCH-PROTECTION CUTOVER: set required checks to exactly [Lint, Typecheck, Build, Gate] after merging; open PRs must rebase.
2026-06-05 09:02:36 -07:00
gsxdsm
a5e28558ac
docs: mark cli-agent executor plan completed
2026-06-05 03:27:37 -07:00
gsxdsm
3bdba87e6c
docs(review): record residual review findings
2026-06-05 01:55:55 -07:00
gsxdsm
e208842606
chore: lint fixes and plan status flip to completed
2026-06-05 01:18:50 -07:00