FN-7415: Delete stale executor pause quarantine
Delete the expired executor pause quarantine and its stale direct-dispatch coverage. - Remove the obsolete executor-pause test suite after the graph runtime cutover. - Clear the matching Vitest exclude and quarantine-ledger entry. - Refresh test audit, timing, line-count, and planning references for the deleted suite. Files changed: ...7-001-refactor-workflow-runtime-cutover-plan.md | 2 +- docs/test-value-audit.json | 102 - .../engine/src/__tests__/executor-pause.test.ts | 3061 -------------------- packages/engine/vitest.config.ts | 5 - scripts/__tests__/test-velocity-baseline.test.mjs | 2 +- scripts/lib/test-quarantine.json | 8 +- scripts/line-count-baseline.json | 1 - scripts/test-timings.json | 1 - 8 files changed, 3 insertions(+), 3179 deletions(-) Fusion-Task-Id: FN-7415 Fusion-Task-Lineage: 3d1551c8-1353-47cb-a70f-d88e733a6652 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -167,7 +167,7 @@ The runtime should have one mental model: resolve a workflow, execute graph node
|
||||
- **Goal:** Route scheduler, task-moved, heartbeat resume, pause/unpause, and self-healing triggers through the workflow runtime.
|
||||
- **Requirements:** R1, R3, R7, R9.
|
||||
- **Dependencies:** U5.
|
||||
- **Files:** `packages/engine/src/scheduler.ts`, `packages/engine/src/executor.ts`, `packages/engine/src/project-engine.ts`, `packages/engine/src/self-healing-manager.ts` or adjacent recovery modules, `packages/engine/src/__tests__/executor-abort-all-in-flight.test.ts`, `packages/engine/src/__tests__/executor-pause.test.ts`, `packages/engine/src/__tests__/reliability-interactions/engine-stop-aborts-execution.test.ts`, `packages/engine/src/__tests__/reliability-interactions/in-review-automerge-off.test.ts`, `packages/engine/src/__tests__/reliability-interactions/workflow-interpreter-dual-observe.test.ts`.
|
||||
- **Files:** `packages/engine/src/scheduler.ts`, `packages/engine/src/executor.ts`, `packages/engine/src/project-engine.ts`, `packages/engine/src/self-healing-manager.ts` or adjacent recovery modules, `packages/engine/src/__tests__/executor-abort-all-in-flight.test.ts`, `packages/engine/src/__tests__/reliability-interactions/engine-stop-aborts-execution.test.ts`, `packages/engine/src/__tests__/reliability-interactions/in-review-automerge-off.test.ts`, `packages/engine/src/__tests__/reliability-interactions/workflow-interpreter-dual-observe.test.ts`.
|
||||
- **Approach:** Make runtime run claims the authority for "currently executing". Existing `executingTaskLock`, active session registries, configured command controllers, and heartbeat gates should move behind runtime primitives or runtime ownership checks. Recovery sweeps should inspect workflow-run state before mutating active tasks.
|
||||
- **Execution note:** Characterization-first for cancel/pause and auto-merge-off interactions.
|
||||
- **Patterns to follow:** `executingTaskLock`, `maybeExecuteWorkflowGraph` duplicate guard, `ProjectEngine.requestInterpreterMerge`, reliability-interactions suites.
|
||||
|
||||
@@ -16822,108 +16822,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/executor-pause.test.ts",
|
||||
"package": "packages/engine",
|
||||
"valueScore": -1,
|
||||
"positiveCount": 8,
|
||||
"negativeCount": 6,
|
||||
"neutralCount": 1,
|
||||
"timesTouched": 15,
|
||||
"testOnlyCount": 5,
|
||||
"testOnlyRatio": 0.333,
|
||||
"signalTally": {
|
||||
"added": 1,
|
||||
"test-only-churn": 5,
|
||||
"churn-keyword": 5,
|
||||
"test+source": 6,
|
||||
"fix+source": 3
|
||||
},
|
||||
"durationMs": 300,
|
||||
"testCount": 86,
|
||||
"quarantined": false,
|
||||
"recommendation": "delete",
|
||||
"safeDelete": false,
|
||||
"deletionPriority": 315,
|
||||
"ageDays": 49,
|
||||
"lastTouched": "2026-06-25",
|
||||
"evidence": [
|
||||
{
|
||||
"sha": "f240683fc",
|
||||
"time": 1778221265000,
|
||||
"subject": "feat(FN-3720): split executor.test.ts into eight focused suites and add she",
|
||||
"status": "A",
|
||||
"touchedSource": false,
|
||||
"category": "positive",
|
||||
"weight": 1,
|
||||
"signals": [
|
||||
"added"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "234c2a594",
|
||||
"time": 1778481370000,
|
||||
"subject": "feat(FN-3968): add tests for task env inheritance and isolation in spawn/ch",
|
||||
"status": "M",
|
||||
"touchedSource": false,
|
||||
"category": "negative",
|
||||
"weight": -1,
|
||||
"signals": [
|
||||
"test-only-churn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "7298c9607",
|
||||
"time": 1778597230000,
|
||||
"subject": "feat(FN-4087): replace sleep() with deterministic waits in tests",
|
||||
"status": "M",
|
||||
"touchedSource": false,
|
||||
"category": "negative",
|
||||
"weight": -4,
|
||||
"signals": [
|
||||
"churn-keyword",
|
||||
"test-only-churn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "4e6440a12",
|
||||
"time": 1778735018000,
|
||||
"subject": "feat(FN-4389): complete Step 8 — run verification and fix regressions",
|
||||
"status": "M",
|
||||
"touchedSource": true,
|
||||
"category": "positive",
|
||||
"weight": 1.5,
|
||||
"signals": [
|
||||
"test+source"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "af1660881",
|
||||
"time": 1779232524000,
|
||||
"subject": "feat(FN-5168): complete Step 2 — executor feeds ignored step-update churn",
|
||||
"status": "M",
|
||||
"touchedSource": true,
|
||||
"category": "positive",
|
||||
"weight": 1.5,
|
||||
"signals": [
|
||||
"test+source"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "cf0101be7",
|
||||
"time": 1779379583000,
|
||||
"subject": "fix(FN-5256): keep live task worktrees through pause/resume races",
|
||||
"status": "M",
|
||||
"touchedSource": true,
|
||||
"category": "neutral",
|
||||
"weight": 0,
|
||||
"signals": [
|
||||
"churn-keyword",
|
||||
"fix+source"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/reliability-interactions/todo-inprogress-flapping.test.ts",
|
||||
"package": "packages/engine",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -149,11 +149,6 @@ export default defineConfig({
|
||||
FNXC:EngineTests 2026-06-14-02:11:
|
||||
FN-6433 rescued the AI-merge suites by replacing broad activeSessionRegistry cleanup with path-scoped cleanup, so the default engine lane should execute them again. The soft-delete blocker residue suite was deleted under the ratchet because deterministic soft-delete deadlock coverage already owns that invariant.
|
||||
*/
|
||||
/*
|
||||
FNXC:EngineTests 2026-06-29-13:55:
|
||||
FN-7239 quarantines executor-pause.test.ts under the deletion ratchet because it still asserts obsolete direct-dispatch StepSessionExecutor and legacy pause paths after builtin:coding moved to graph execution. Keep graph-path equivalents active in step-session-executor, executor-paused-abort-todo-benign, and workflow-graph-step-rerun before rescuing or deleting this file.
|
||||
*/
|
||||
"src/__tests__/executor-pause.test.ts",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -287,7 +287,7 @@ describe("main", () => {
|
||||
writeJson(rootDir, "scripts/lib/test-quarantine.json", {
|
||||
entries: [
|
||||
{
|
||||
file: "packages/engine/src/__tests__/executor-pause.test.ts",
|
||||
file: "packages/engine/src/__tests__/hypothetical-quarantined.test.ts",
|
||||
reason: "FN-7239: stale post-cutover direct-dispatch StepSessionExecutor/legacy pause assertions fail after builtin:coding graph cutover.",
|
||||
quarantinedAt: "2026-06-29",
|
||||
},
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
{
|
||||
"$comment": "Flaky-test quarantine ledger (deletion ratchet — see AGENTS.md 'Flaky tests: quarantine on sight' and docs/testing.md 'Quarantine ledger and the deletion ratchet'). A test observed failing without a corresponding real bug is quarantined ON SIGHT: add an entry here AND a matching one-line `exclude` entry in that package's vitest config, in the same commit. Every entry needs a non-empty `reason` (link the failing run) and a `quarantinedAt` date — the entry expires 14 days later, at which point the test file is DELETED unless someone rescues it with evidence it catches real regressions plus a root-cause fix (never appeasement). There is deliberately no loader module and no automation around this file: it is a dated record, the vitest config exclude is the mechanism, and the sweep is policy executed by whoever touches the suite.",
|
||||
"entries": [
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/executor-pause.test.ts",
|
||||
"reason": "FN-7239: stale post-cutover direct-dispatch StepSessionExecutor/legacy pause assertions fail after builtin:coding graph cutover; equivalent direct step-session, pause-abort graph, and graph rerun coverage remains active. Local targeted run: pnpm --filter @fusion/engine exec vitest run --project engine-default src/__tests__/workflow-graph-executor-retry-coding-workflow.test.ts src/__tests__/executor-pause.test.ts --silent=passed-only --reporter=dot (2026-06-29).",
|
||||
"quarantinedAt": "2026-06-29"
|
||||
}
|
||||
]
|
||||
"entries": []
|
||||
}
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
"packages/dashboard/src/routes/register-settings-memory-routes.ts": 2382,
|
||||
"packages/dashboard/src/routes/register-task-workflow-routes.ts": 3902,
|
||||
"packages/dashboard/src/server.ts": 2467,
|
||||
"packages/engine/src/__tests__/executor-pause.test.ts": 3019,
|
||||
"packages/engine/src/__tests__/executor-prompt.test.ts": 2573,
|
||||
"packages/engine/src/__tests__/executor-step-session.test.ts": 3779,
|
||||
"packages/engine/src/__tests__/executor-worktree.test.ts": 2536,
|
||||
|
||||
@@ -1402,7 +1402,6 @@
|
||||
"packages/engine/src/__tests__/executor-implicit-task-done-revise-guard.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-lease-renewal.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-missing-task-json-transient.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-pause.test.ts": 300,
|
||||
"packages/engine/src/__tests__/executor-paused-abort-todo-benign.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-plan-only-scope-leak.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-prompt.test.ts": 500,
|
||||
|
||||
Reference in New Issue
Block a user