gsxdsm
d2e41e490f
FN-8534: honor workflow planning-model precedence
...
Honor selected workflow planning models for Planning Mode sessions.
- Resolve selected workflow planning lanes against the project baseline.
- Route complete request and workflow pairs through canonical planning-model resolution.
- Cover new and draft planning sessions, test mode, and settings documentation.
Files changed:
.changeset/fn-8534-planning-workflow-model.md | 7 ++
docs/settings-reference.md | 2 +
.../__tests__/workflow-settings-resolver.test.ts | 73 ++++++++++++++++
packages/core/src/index.gate.ts | 1 +
packages/core/src/index.ts | 1 +
packages/core/src/workflow-settings-resolver.ts | 80 +++++++++++-------
.../src/__tests__/routes-planning.test.ts | 97 ++++++++++++++++++++++
.../src/routes/register-planning-subtask-routes.ts | 48 ++++++++---
8 files changed, 267 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-8534
Fusion-Task-Lineage: e6b5b546-b9f1-49c5-b680-90f24e856458
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-23 08:53:06 -07:00
gsxdsm
e514e134da
fix: apply project model lanes across workflows ( #2400 )
...
## Summary
Project workflow model lanes now apply to tasks on every workflow
instead of only tasks using the active default workflow. Model selection
consistently resolves task-specific choice -> project workflow baseline
-> global lane -> selected-workflow value -> project/global default for
primary models, fallback models, and thinking levels.
The active default workflow remains the storage owner for backward
compatibility, while runtime resolution keeps its project baseline
distinct from lower-priority selected-workflow values. Non-model
workflow policies remain isolated to their selected workflow.
## Validation
- Core workflow/model resolution: 60 tests passed
- Engine effective settings and session resolution: 59 tests passed
- Reviewer: 85 tests passed
- Scheduler: 154 tests passed
- Heartbeat: 90 tests passed
- Settings UI: 67 tests passed
- Workspace lint and core/engine/dashboard typechecks passed
- `pnpm verify:fast` passed workspace builds, the published CLI build,
and real `/api/health` boot smoke
---
[](https://github.com/EveryInc/compound-engineering-plugin )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added **Project workflow model lanes** to establish a project baseline
for model selection and thinking levels across workflows.
* Updated model/fallback resolution to account for task overrides,
project baselines, global lanes, and selected-workflow values.
* **Bug Fixes**
* Improved effective settings merging so project baselines are applied
correctly (including scheduled/idle and heartbeat flows) while
preserving selected-workflow provenance.
* **Documentation**
* Refreshed settings and dashboard guidance for workflow lane
inheritance and resolution precedence.
* **Tests**
* Expanded unit test coverage for lane precedence, fallback detection,
and thinking-level behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-22 08:53:31 -07:00
gsxdsm
e46ffebde1
FN-7985: surface review budget exhaustion and configure replan cap
...
Expose exhausted Plan Review replan budgets for operator approval and allow workflows to configure the cap.
- Add validated numeric workflow setting support and a Plan Review replan-cap setting.
- Route configured cap exhaustion with a distinct approval reason and preserve fallback behavior.
- Display the budget-exhaustion state across task cards, lists, and details.
- Add tests, localized copy, documentation, and a minor changeset.
Files changed:
.changeset/fn-7985-review-budget-approval.md | 7 ++++
docs/settings-reference.md | 9 +++--
docs/workflow-steps.md | 2 +-
.../builtin-workflow-settings-triage.test.ts | 27 +++++++++++++--
packages/core/src/builtin-workflow-settings.ts | 17 ++++++++++
packages/core/src/index.gate.ts | 1 +
packages/core/src/index.ts | 1 +
packages/core/src/workflow-ir-types.ts | 4 +++
packages/core/src/workflow-ir.ts | 27 +++++++++++++++
packages/core/src/workflow-settings-resolver.ts | 1 +
packages/core/src/workflow-settings.ts | 6 ++++
packages/dashboard/app/components/ListView.css | 19 +++++++++++
packages/dashboard/app/components/ListView.tsx | 22 +++++++++---
packages/dashboard/app/components/TaskCard.css | 18 ++++++++++
packages/dashboard/app/components/TaskCard.tsx | 6 ++--
.../dashboard/app/components/TaskDetailModal.tsx | 4 +--
.../app/components/__tests__/ListView.test.tsx | 30 +++++++++++++++++
.../app/components/__tests__/TaskCard.test.tsx | 17 ++++++++--
.../app/components/workflow-setting-display.ts | 11 ++++++
.../dashboard/app/utils/reviewBudgetApproval.ts | 11 ++++++
.../triage-plan-review-replan-cap.test.ts | 39 +++++++++++++++++++---
packages/engine/src/triage.ts | 21 ++++++++----
packages/i18n/locales/en/app.json | 2 +-
packages/i18n/src/resources.d.ts | 19 ++++++++---
24 files changed, 288 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-7985
Fusion-Task-Lineage: 125f101c-caca-45c2-8b40-996b2a31c019
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-16 01:32:23 -07:00
gsxdsm
de25e32eac
FN-7963: add plannerHeartbeatPatrolEnabled to gate idle heartbeat task creation
...
Add a workflow setting that disables idle/no-task heartbeat proactive task creation without turning off planner overseer stuck-task recovery.
- Declare plannerHeartbeatPatrolEnabled (default true) in BUILTIN_OVERSIGHT_SETTINGS
- Resolve the flag via resolveEffectivePlannerHeartbeatPatrolEnabled and wire it into agent-heartbeat/triage prompts
- Render patrol-off instruction when disabled; keep FN-7962 outage backoff lines when patrol stays enabled
- Cover setting defaults, prompt builders, and heartbeat executor paths with tests
- Document the setting in settings-reference and add a changeset
Files changed:
.changeset/fn-7963-planner-heartbeat-patrol.md | 7 ++
docs/settings-reference.md | 11 +-
packages/core/src/__tests__/agent-prompts.test.ts | 29 +++++
.../builtin-workflow-settings-triage.test.ts | 21 ++++
.../plannerHeartbeatPatrolEnabled-default.test.ts | 64 ++++++++++
packages/core/src/agent-prompts.ts | 55 +++++++--
packages/core/src/builtin-workflow-settings.ts | 14 +++
packages/core/src/index.gate.ts | 5 +
packages/core/src/index.ts | 5 +
packages/core/src/workflow-settings-resolver.ts | 15 ++-
.../src/__tests__/heartbeat-executor.test.ts | 59 ++++++++-
packages/engine/src/agent-heartbeat.ts | 135 +++++++++++++++++++--
packages/engine/src/triage.ts | 8 +-
13 files changed, 402 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-7963
Fusion-Task-Lineage: c5e7a382-52c1-4cc1-8b21-aba7dc7d2b97
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-15 12:27:15 -07:00
gsxdsm
2d61976df0
fix(FN-7952): restore runtime state after PostgreSQL migration
...
Route workflow selections, model lanes, goals, skills, and reliability reads through project-scoped async stores. Recover heartbeat agents parked against an unrelated project model and preserve workflow JSONB patches atomically.
2026-07-14 17:02:47 -07:00
gsxdsm
aa757bc1a3
FN-7509: add per-task planner oversight overrides
...
Add core support for tasks to carry a planner oversight override that can supersede workflow settings.
- Add nullable plannerOversightLevel task storage, schema migration, store update/create/archive plumbing, and mesh replication support.
- Export planner oversight level types/defaults and an effective-level resolver with task-over-workflow precedence.
- Document override precedence and add regression coverage for migration, persistence, updates, and resolution.
- Add a minor changeset for the published Fusion package.
Files changed:
.../fn-7509-per-task-planner-oversight-override.md | 7 ++
docs/settings-reference.md | 2 +-
packages/core/src/__tests__/db.test.ts | 45 +++++++++++++
packages/core/src/__tests__/store-update.test.ts | 75 ++++++++++++++++++++++
.../__tests__/workflow-settings-resolver.test.ts | 28 ++++++++
packages/core/src/db.ts | 17 ++++-
packages/core/src/index.ts | 5 +-
packages/core/src/mesh-task-replication.ts | 2 +
packages/core/src/store.ts | 15 ++++-
packages/core/src/types.ts | 23 +++++++
packages/core/src/workflow-settings-resolver.ts | 28 ++++++++
11 files changed, 240 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-7509
Fusion-Task-Lineage: 41695cc5-34d2-4079-9e34-a8fb40f961fb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-04 12:32:09 -07:00
gsxdsm
7e74fe3a9b
FN-7293: honor workflow review revision overrides
...
Allow workflow review steps to opt into unbounded or capped revision retries while keeping recovery caps accurate.
- Add workflow settings for Plan Review and Code Review max revisions with display, docs, and changeset coverage.
- Resolve optional-step revision budgets through workflow settings, node overrides, and existing fallback limits.
- Track revision attempts per workflow step and hydrate slim self-healing rows before enforcing retry caps.
- Cover unbounded, capped, per-step, and slim-row recovery behavior with focused tests.
Files changed:
.changeset/fn-7293-unbounded-review-revisions.md | 7 +
docs/settings-reference.md | 12 +-
docs/workflow-editor.md | 4 +-
docs/workflow-steps.md | 3 +-
.../builtin-workflow-settings-triage.test.ts | 28 +++-
.../core/src/__tests__/builtin-workflows.test.ts | 29 ++++-
.../__tests__/workflow-settings-resolver.test.ts | 73 +++++++++++
packages/core/src/builtin-plan-review-group.ts | 6 +-
packages/core/src/builtin-workflow-settings.ts | 30 +++++
packages/core/src/index.ts | 5 +
packages/core/src/workflow-ir-types.ts | 15 ++-
packages/core/src/workflow-ir.ts | 5 +-
packages/core/src/workflow-settings-resolver.ts | 49 ++++++-
.../__tests__/WorkflowSettingsPanel.test.tsx | 52 ++++++++
.../app/components/workflow-setting-display.ts | 18 +++
packages/engine/src/__tests__/self-healing.test.ts | 143 ++++++++++++++++++++-
.../workflow-graph-optional-step-fix.test.ts | 130 ++++++++++++++++++-
packages/engine/src/executor.ts | 77 +++++++++--
packages/engine/src/self-healing.ts | 82 ++++++++++--
packages/engine/src/workflow-graph-executor.ts | 5 +-
20 files changed, 725 insertions(+), 48 deletions(-)
Fusion-Task-Id: FN-7293
Fusion-Task-Lineage: 19ee533f-ab8d-4e20-9a27-9cf0cf6dfec9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 13:12:27 -07:00
gsxdsm
72e320aab4
Address PR review feedback ( #1445 )
...
- applyRemoteSettings now applies the stripped global payload (moved keys can't resurrect)
- resolver error path keeps effective workflowId so builtin fallback survives identity failure
- updateWorkflowSettingValues read-merge-upsert wrapped in transactionImmediate (lost-update race)
- MergeSection directMergeCommitStrategy UI fallback aligned to schema default (always-squash)
- save-split section-routing test asserts the positive case
- setting-values routes 404 on unknown workflow ids (+ tests)
2026-06-05 16:46:04 -07:00
gsxdsm
e8e54bf343
feat(engine): per-task effective workflow settings — resolver, two-tier entry merge, fallback alignment
2026-06-04 22:37:51 -07:00