CM
Codex Machine

hardened-delivery

hardened-delivery

Triage -> resume gate -> plan/proof patch -> TDD -> verify/review/acceptance with proof-first repairs.
ask userproceedfreshresumeresume replanguardokretryfresh proof okresume proof okpatch proofre-auditprove redred provenred badimplementscopeokscope failgreenrepairrepair cappassrepairquality capreadypreflight failacceptedrepairquality capwrite reprosprove failuresred provenfix reprosguardokpatch planrepairscopeTriagetriageResume GatecommandPlanarchitectPlan GuardcommandProof AuditreviewerProof PatcharchitectWrite TestsimplementerRed GatecommandCapture Scope BaselinecommandImplementimplementerScope GuardcommandVerifycommandReviewreviewerAcceptance PreflightcommandAcceptanceacceptanceRepair DiagnosereviewerRepair TestsimplementerFinding Red GatecommandRepair PlanarchitectRepair Plan GuardcommandCapture Repair Scope BaselinecommandRepair ImplementimplementerBlockedterminalDoneterminalFailedterminal

Nodes

Triage triage
agent · triage
x=100 y=100
Resume Gate resume_gate
command
x=300 y=100
Plan plan
agent · architect
x=520 y=100
Plan Guard plan_guard
command
x=760 y=100
Proof Audit proof_audit
agent · reviewer
x=980 y=100
Proof Patch proof_patch
agent · architect
x=980 y=240
Write Tests write_tests
agent · implementer
x=1220 y=40
Red Gate red_gate
command
x=1440 y=40
Capture Scope Baseline capture_impl_scope_baseline
command
x=1660 y=40
Implement implement
agent · implementer
x=1880 y=40
Scope Guard scope_guard
command
x=2100 y=40
Verify verify
command
x=2320 y=40
Review review
agent · reviewer
x=2540 y=40
Acceptance Preflight acceptance_preflight
command
x=2760 y=40
Acceptance acceptance
agent · acceptance
x=2980 y=40
Repair Diagnose repair_diagnose
agent · reviewer
x=2540 y=260
Repair Tests repair_tests
agent · implementer
x=2760 y=260
Finding Red Gate finding_red_gate
command
x=2980 y=260
Repair Plan repair_plan
agent · architect
x=3200 y=260
Repair Plan Guard repair_plan_guard
command
x=3420 y=260
Capture Repair Scope Baseline capture_repair_scope_baseline
command
x=3640 y=260
Repair Implement repair_implement
agent · implementer
x=3860 y=260
Blocked blocked
terminal
x=300 y=300
Done done
terminal
x=3200 y=40
Failed failed
terminal
x=4080 y=260

Edges

triage → blocked
ask user
jq -e '.action == "ask_user"' "$MACHINE_NODE_OUTPUT" >/dev/null
triage → resume_gate
proceed
jq -e '.action == "proceed"' "$MACHINE_NODE_OUTPUT" >/dev/null
resume_gate → plan
fresh
jq -e '.mode == "fresh"' .machine/runtime/ResumeMode.json >/dev/null
resume_gate → verify
resume
jq -e '.mode == "resume"' .machine/runtime/ResumeMode.json >/dev/null
resume_gate → plan
resume replan
jq -e '.mode == "resume_replan"' .machine/runtime/ResumeMode.json >/dev/null
plan → plan_guard
guard
always
plan_guard → proof_audit
ok
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
plan_guard → plan
retry
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
proof_audit → write_tests
fresh proof ok
jq -e '.status == "pass"' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.mode == "fresh"' .machine/runtime/ResumeMode.json >/dev/null
proof_audit → verify
resume proof ok
jq -e '.status == "pass"' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.mode != "fresh"' .machine/runtime/ResumeMode.json >/dev/null
proof_audit → proof_patch
patch proof
jq -e '.status != "pass"' "$MACHINE_NODE_OUTPUT" >/dev/null
proof_patch → plan_guard
re-audit
always
write_tests → red_gate
prove red
always
red_gate → capture_impl_scope_baseline
red proven
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
red_gate → failed
red bad
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
capture_impl_scope_baseline → implement
implement
always
implement → scope_guard
scope
always
scope_guard → verify
ok
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
scope_guard → failed
scope fail
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
verify → review
green
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
verify → repair_diagnose
repair
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null && jq -e '.counters.repair_passes < .limits.max_repair_passes' "$MACHINE_RUN_STATE" >/dev/null
verify → failed
repair cap
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null && jq -e '.counters.repair_passes >= .limits.max_repair_passes' "$MACHINE_RUN_STATE" >/dev/null
review → acceptance_preflight
pass
jq -e '.status == "pass" and .recommended_next_action == "accept" and (.findings | length == 0)' "$MACHINE_NODE_OUTPUT" >/dev/null
review → repair_diagnose
repair
jq -e '.status != "pass" or .recommended_next_action != "accept" or (.findings | length > 0)' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.counters.quality_cycle < .limits.max_quality_cycles' "$MACHINE_RUN_STATE" >/dev/null
review → failed
quality cap
jq -e '.status != "pass" or .recommended_next_action != "accept" or (.findings | length > 0)' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.counters.quality_cycle >= .limits.max_quality_cycles' "$MACHINE_RUN_STATE" >/dev/null
acceptance_preflight → acceptance
ready
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
acceptance_preflight → failed
preflight fail
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
acceptance → done
accepted
jq -e '.status == "pass" and .recommended_next_action == "accept" and (.open_issues | length == 0) and (.requirements | length > 0) and (.requirements | all(.status == "pass"))' "$MACHINE_NODE_OUTPUT" >/dev/null
acceptance → repair_diagnose
repair
jq -e '.status != "pass" or .recommended_next_action != "accept" or (.open_issues | length > 0) or (.requirements | any(.status != "pass"))' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.counters.quality_cycle < .limits.max_quality_cycles' "$MACHINE_RUN_STATE" >/dev/null
acceptance → failed
quality cap
jq -e '.status != "pass" or .recommended_next_action != "accept" or (.open_issues | length > 0) or (.requirements | any(.status != "pass"))' "$MACHINE_NODE_OUTPUT" >/dev/null && jq -e '.counters.quality_cycle >= .limits.max_quality_cycles' "$MACHINE_RUN_STATE" >/dev/null
repair_diagnose → repair_tests
write repros
always
repair_tests → finding_red_gate
prove failures
always
finding_red_gate → repair_plan
red proven
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
finding_red_gate → repair_tests
fix repros
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
repair_plan → repair_plan_guard
guard
always
repair_plan_guard → capture_repair_scope_baseline
ok
jq -e '.success == true' "$MACHINE_NODE_RESULT" >/dev/null
repair_plan_guard → repair_plan
patch plan
jq -e '.success == false' "$MACHINE_NODE_RESULT" >/dev/null
capture_repair_scope_baseline → repair_implement
repair
always
repair_implement → scope_guard
scope
always

Workflow file

graphical view above, raw source below