gsxdsm
|
66bbeaa28d
|
FN-9108: Restore routed workflow-principal session identity
Restore routed principal attribution throughout workflow prompt and review sessions.
- Thread the graph-selected principal into workflow-step execution.
- Resolve principal runtime configuration, skills, telemetry, and session attribution consistently.
- Fail closed when the routed principal is unavailable and add regression coverage.
- Add a patch changeset for the restored behavior.
Files changed:
.../fn-9108-workflow-principal-session-identity.md | 7 +
.../executor-workflow-step-principal.test.ts | 154 +++++++++++++++++++++
.../engine/src/executor/execute-workflow-step.ts | 34 ++++-
.../engine/src/executor/run-graph-custom-node.ts | 11 +-
4 files changed, 198 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-9108
Fusion-Task-Lineage: ec668551-8ff4-4ced-8c7f-a4aa04eb044f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-15 17:45:32 -07:00 |
|
gsxdsm
|
25b03d6e70
|
FN-9043: fix workspace completion commit detection
Resolve workspace configuration consistently so task completion observes commits across acquired repositories.
- Add a host-scoped, memoized workspace configuration resolver and preserve live configuration through executor dependency bags.
- Resolve workspace configuration before planning, worktree, graph, cleanup, and task-done paths.
- Aggregate workspace commit observations and cover partial-repository completion cases.
Files changed:
.changeset/fn-9043-workspace-no-commits.md | 7 ++
.../executor-workspace-config-propagation.test.ts | 116 +++++++++++++++++++++
.../engine/src/executor/cleanup-task-worktree.ts | 6 +-
.../create-authoritative-workflow-seams.ts | 6 +-
packages/engine/src/executor/deps-bags.ts | 74 ++++++++++---
.../executor/ensure-graph-custom-node-worktree.ts | 14 ++-
.../executor/ensure-task-worktree-for-planning.ts | 8 +-
packages/engine/src/executor/get-worktree-path.ts | 3 +
packages/engine/src/executor/mark-stuck-aborted.ts | 6 +-
.../engine/src/executor/run-graph-custom-node.ts | 8 +-
packages/engine/src/executor/run-implementation.ts | 6 +-
.../src/executor/workspace-config-resolver.ts | 40 +++++++
.../src/executor/worktree-task-done-scope-leak.ts | 8 +-
.../src/executor/worktree-verify-invariants.ts | 44 ++++----
14 files changed, 287 insertions(+), 59 deletions(-)
Fusion-Task-Id: FN-9043
Fusion-Task-Lineage: fc012b8e-c9cb-47e8-81a7-c9590a63a980
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-14 14:24:26 -07:00 |
|
gsxdsm
|
9f24a517cf
|
FN-8956: track resolved review findings
Add durable, scoped resolution states for workflow review findings.
- Persist reviewer-applied and superseded finding receipts without making them actionable.
- Scope supersession claims to a named prior workflow result, preserving duplicate IDs in other review lanes.
- Render informational resolution badges and reject resolved items from revision requests.
Files changed: .changeset/fn-8956-review-finding-resolution.md | 7 +
docs/dashboard-guide.md | 2 +-
docs/workflow-steps.md | 8 +-
.../src/__tests__/review-severity-gate.test.ts | 25 ++++
.../src/__tests__/workflow-step-results.test.ts | 45 +++++-
packages/core/src/index.gate.ts | 6 +
packages/core/src/index.ts | 6 +
packages/core/src/types.ts | 2 +
packages/core/src/types/task/task-review.ts | 4 +
packages/core/src/types/workflow/workflow-steps.ts | 15 +-
.../src/workflows/builtin-code-review-group.ts | 2 +-
.../src/workflows/builtin-plan-review-group.ts | 2 +-
.../core/src/workflows/review-severity-gate.ts | 37 ++++-
.../core/src/workflows/workflow-step-results.ts | 54 ++++++-
packages/dashboard/app/api/agents/run-audit.ts | 1 +
.../dashboard/app/components/TaskReviewTab.css | 22 +++
.../dashboard/app/components/TaskReviewTab.tsx | 36 +++--
.../components/__tests__/TaskReviewTab.test.tsx | 46 ++++++
.../dashboard/src/__tests__/routes-tasks.test.ts | 48 ++++++
.../src/routes/register-task-workflow-routes.ts | 14 +-
.../__tests__/review-finding-supersession.test.ts | 163 +++++++++++++++++++++
.../__tests__/review-findings-injection.test.ts | 22 +++
.../workflow-step-verdict-parsing.test.ts | 16 +-
.../engine/src/executor/execute-workflow-graph.ts | 129 ++++++++--------
.../engine/src/executor/execute-workflow-step.ts | 25 +++-
.../engine/src/executor/run-graph-custom-node.ts | 7 +
.../executor/workflow-step-failure-injection.ts | 8 +-
.../engine/src/executor/workflow-step-verdict.ts | 17 ++-
.../src/workflows/workflow-graph-executor.ts | 15 ++
packages/i18n/locales/en/app.json | 4 +-
packages/i18n/locales/es/app.json | 4 +-
packages/i18n/locales/fr/app.json | 4 +-
packages/i18n/locales/ko/app.json | 4 +-
packages/i18n/locales/pt-BR/app.json | 4 +-
packages/i18n/locales/zh-CN/app.json | 4 +-
packages/i18n/locales/zh-TW/app.json | 4 +-
36 files changed, 703 insertions(+), 109 deletions(-)
Fusion-Task-Id: FN-8956
Fusion-Task-Lineage: 80568280-85aa-4a49-a60a-99b75f88f486
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-11 13:34:27 -07:00 |
|
gsxdsm
|
1cf86baa1c
|
refactor: package code organization wave 18 (executor pure peels) (#3317)
## Summary
Wave 18 continues the package code-organization program after wave 17
domain folders (U4 Slice A from
`docs/plans/2026-07-14-001-refactor-package-code-organization-plan.md`).
### What changed
Peel **pure, behavior-preserving** helpers out of
`packages/engine/src/executor.ts` into domain modules under
`packages/engine/src/executor/`, with **stable re-exports** from
`executor.ts` so deep imports and `vi.mock("../executor.js")` keep
working.
| New module | Symbols |
|------------|---------|
| `executor/task-done-refusal.ts` | `evaluateTaskDoneRefusal`,
`determineRevisionResetStart`, skip-bypass refusal helper |
| `executor/workflow-feedback-paths.ts` |
`extractReferencedPathsFromWorkflowFeedback`,
`isAlwaysAllowedScopeLeakPath`, `workflowPathMatchesDeclaredScope` |
| `executor/workflow-step-verdict.ts` |
`FUSION_WORKFLOW_STEP_CONVENTIONS_PREAMBLE`, `parseWorkflowStepVerdict`
/ `parseWorkflowStepOutput`, step outcome types |
| `executor/await-input-parse.ts` | `parseAwaitInputSentinel`,
`parseAwaitInputQuestionToolCall` |
| `executor/no-commit-eligibility.ts` | `getNoCommitEligibilityReason`
(+ prompt heuristics) |
`executor.ts` live LOC ~**22817 → ~22427** (first pure-peel batch; more
peels needed to approach the 2k cap).
### Shims
- `old path` `executor.ts` public exports → `new path` `executor/*.ts` →
delete-when consumer deep-imports are re-pointed (not this PR)
### Test plan
- [x] `@fusion/engine` typecheck
- [x] Oracle: task-done refusal, skip-bypass, workflow malformed
verdict, scope-leak allowlist, executor-step-session, executor-prompt
- [x] `vitest --project=engine-core` (merge-gate curated suite)
- [ ] CI merge gate
**Stack:** wave17 (merged) → **this PR**
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Improved recognition of workflow outcomes from structured and
conversational responses.
* Added support for extracting questions from await-input responses and
tool calls.
* Improved workflow feedback handling for referenced files and declared
scope patterns.
* Added clearer guidance for task execution, approvals, verification,
and available tools.
* **Bug Fixes**
* Prevented completion when required review approvals are missing or
revisions remain pending.
* Improved handling of workflows that legitimately require no code
changes.
* Added clearer refusal messages and more reliable revision restarts.
* Sanitized repository paths in Git remediation instructions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
2026-08-09 15:46:09 -10:00 |
|