The parallel execute path runs no risk check, no risk_surface fire and no status call #204
Labels
No labels
already-shipped
bug
documentation
duplicate
enhancement
external-review
good first issue
help wanted
in progress
invalid
needs-decision
proposal
question
security
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence-archived#204
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The gap, counted
execute.md's sequential branch runsrisk-check run --phase <N> --plan <k> --base {pre-plan HEAD} --head HEAD, conditionally firesrisk_surfaceon anon-empty
matchesORinconclusive: true, and then requiresrisk-check statusto answer before the plan may be reported done - explicitly:"The plan is NOT reported done while that call refuses."
references/execute-parallel.mdmerges, runsworkflow.test_command, firesdiff, and firesphase_diff. It never runs the detector, never firesrisk_surface, and never callsstatus.Consequence, scoped honestly
risk_surfaceis the ONE gate that isblockingat every stakes level. On theparallel path it does not exist.
shipped(the default)diffandphase_diffare bothoff, so eligibleparallel work can reach the merge with no post-code review of any kind.
criticalthere is compensating cover: blockingdiffper plan andadjudicated
phase_diffon the merged phase. This repository moved tocriticaltoday, so the exposure here is narrower than it was when the reviewwas written.
risk-check statusis what makesa range provably judged; without it a parallel plan completes in a state the
sequential path would refuse to report done. The two branches disagree about
what "done" means.
Why it is not a universal bypass
Parallel is opt-in and requires four conditions plus
use_worktreesplus aheadfork point. A user who never enables it is unaffected. That is why thisis a wiring gap rather than a hole in the risk gate itself.
The fix shape
The sequential branch's three steps are stated once in
execute.mdand should bereachable from both branches rather than restated in
execute-parallel.md- thesame "one reader" lesson
v3.5.2just applied to the lease grammar and the texttransport. A copied second sequence is exactly the drift this milestone's theme
is about.
Per-plan placement on the parallel path needs deciding: on each plan's own
committed range before merge, or once on the merged range. The former matches the
sequential semantics; the latter is cheaper and matches
phase_diff's framing.Source: external strict re-review, 2026-08-16 (EXEC-01, Medium, the review's
headline finding). Counts verified here.