Summary
/cverify mis-classifies the done -> verified workflow transition as invalid, so it skips advancing the phase after writing the verification report. The orchestrator (or human) then has to call workflow-advance.sh verified manually.
Where / what happened
During a /cauto run, after /ctdd completed the workflow was in phase done (correct — /ctdd ends at done). /cverify ran, wrote a passing verification report, and then reported:
"Workflow phase is already done — the /cauto pipeline advanced the state machine past verify during its run, so I did NOT call workflow-advance.sh verified (invalid transition from done)."
This reasoning is wrong on two counts:
done -> verified IS a valid transition. workflow-advance.sh usage explicitly lists verified: done -> verified (requires /cverify report file exists). The report existed.
done is the normal phase /cverify runs in (the documented order is done -> /cverify -> verified -> /cdocs -> documented). /cverify treated its own expected starting phase as "past verify."
Running bash .correctless/hooks/workflow-advance.sh verified immediately afterward succeeded ("Phase: verified"), confirming the transition was valid the whole time.
Impact
/cverify silently does not advance the state machine. In a /cauto pipeline the orchestrator may compensate (as happened here), but a human running /cverify standalone is left stuck in done with no indication that the advance was skipped due to a false "invalid transition" belief — they'd have to know to run workflow-advance.sh verified themselves.
Likely cause
A prompt-level reasoning gap in skills/cverify/SKILL.md around the final "advance workflow" step — the skill appears to treat phase done as "verification already happened" rather than "ready to verify". Worth pinning the expected start phase (done) and the expected transition (verified) explicitly, and asserting the advance actually fired (read back the phase) rather than reasoning about validity.
Severity
Low/medium — not a data-correctness bug, but a workflow-stall papercut that defeats the skill's own final step; recurs whenever /cverify runs from its normal done start phase.
Summary
/cverifymis-classifies thedone -> verifiedworkflow transition as invalid, so it skips advancing the phase after writing the verification report. The orchestrator (or human) then has to callworkflow-advance.sh verifiedmanually.Where / what happened
During a
/cautorun, after/ctddcompleted the workflow was in phasedone(correct —/ctddends atdone)./cverifyran, wrote a passing verification report, and then reported:This reasoning is wrong on two counts:
done -> verifiedIS a valid transition.workflow-advance.shusage explicitly listsverified: done -> verified (requires /cverify report file exists). The report existed.doneis the normal phase/cverifyruns in (the documented order isdone -> /cverify -> verified -> /cdocs -> documented)./cverifytreated its own expected starting phase as "past verify."Running
bash .correctless/hooks/workflow-advance.sh verifiedimmediately afterward succeeded ("Phase: verified"), confirming the transition was valid the whole time.Impact
/cverifysilently does not advance the state machine. In a/cautopipeline the orchestrator may compensate (as happened here), but a human running/cverifystandalone is left stuck indonewith no indication that the advance was skipped due to a false "invalid transition" belief — they'd have to know to runworkflow-advance.sh verifiedthemselves.Likely cause
A prompt-level reasoning gap in
skills/cverify/SKILL.mdaround the final "advance workflow" step — the skill appears to treat phasedoneas "verification already happened" rather than "ready to verify". Worth pinning the expected start phase (done) and the expected transition (verified) explicitly, and asserting the advance actually fired (read back the phase) rather than reasoning about validity.Severity
Low/medium — not a data-correctness bug, but a workflow-stall papercut that defeats the skill's own final step; recurs whenever
/cverifyruns from its normaldonestart phase.