Why
In stepping mode a condition-false node is skipped, but the skip consumer does not run the cascade embedded in spawnReady. Its dependent stays pending while repeated step calls return no_ready_nodes forever. DAG-A07 reproduced p -> a -> b with a's condition false.
Scope
Single-step state convergence, skip propagation and workflow completion. Each step must still start at most one actual child execution; retain pause and checkpoint veto semantics.
Approach
Assign a GPT-5.6-Sol issue once earlier runtime-loop edits are integrated. Separate non-executing state convergence from child dispatch, run the former on relevant step/terminal events, and validate multi-level skip chains and mixed ready branches.
This issue is one independently verifiable repair in the seven-finding DAG audit delivery. The authorized route is SpecGit delivery to dev, a separately tracked promotion to main, then the official release workflow. The integrator reviews each issue patch and records exact-head local and CI evidence before acceptance. Unrelated workspace modifications and deferred database maintenance #531 remain outside this delivery.
Acceptance
A step that skips a node propagates necessary skips and allows the workflow to reach the correct terminal state. Repeated step does not strand a legal graph with only skipped dependencies. At most one child starts per user step even when convergence exposes other ready branches. Pause/veto behavior, stepping regressions and DAG core coverage pass.
The audit baseline is cf5fd26; the DAG runtime tree is identical on dev at 711e7b5. Regression tests must assert corrected public behavior using real DAG state and deterministic boundary stubs.
Why
In stepping mode a condition-false node is skipped, but the skip consumer does not run the cascade embedded in spawnReady. Its dependent stays pending while repeated step calls return no_ready_nodes forever. DAG-A07 reproduced p -> a -> b with a's condition false.
Scope
Single-step state convergence, skip propagation and workflow completion. Each step must still start at most one actual child execution; retain pause and checkpoint veto semantics.
Approach
Assign a GPT-5.6-Sol issue once earlier runtime-loop edits are integrated. Separate non-executing state convergence from child dispatch, run the former on relevant step/terminal events, and validate multi-level skip chains and mixed ready branches.
This issue is one independently verifiable repair in the seven-finding DAG audit delivery. The authorized route is SpecGit delivery to dev, a separately tracked promotion to main, then the official release workflow. The integrator reviews each issue patch and records exact-head local and CI evidence before acceptance. Unrelated workspace modifications and deferred database maintenance #531 remain outside this delivery.
Acceptance
A step that skips a node propagates necessary skips and allows the workflow to reach the correct terminal state. Repeated step does not strand a legal graph with only skipped dependencies. At most one child starts per user step even when convergence exposes other ready branches. Pause/veto behavior, stepping regressions and DAG core coverage pass.
The audit baseline is cf5fd26; the DAG runtime tree is identical on dev at 711e7b5. Regression tests must assert corrected public behavior using real DAG state and deterministic boundary stubs.