state-driven-pipeline-recoverylisted
Install: claude install-skill vraj-ai/skills
# state-driven-pipeline-recovery
When the pipeline is spinning, the failure is almost never "the agent needs to try harder." It is that **the state name is lying about reality**.
## Step 1 — Smell test for false progress
Any of these means stop and investigate rather than retry:
| Smell | What it actually means |
|---|---|
| Worker reports success, but no commit, no state change, no evidence comment | Nothing happened. The report is narrative. |
| Ticket is in Coding, but the production entry point bypasses the tested seam | The test proves nothing about the shipped path |
| The locked Verification-command references a harness that doesn't exist | The gate was never runnable; nobody ran it |
| A foundational protocol/prerequisite is missing, but the ticket pretends the feature lands on air | Structural blocker disguised as an implementation task |
| Repeated retries produce **identical** failure output | No new information is being generated — burn without learning |
| State says Done, but the gate is red on a fresh checkout | The state was moved without proof |
**Retrying an identical failure is not persistence. It is a loop with no exit condition.**
## Step 2 — Re-read reality, in this order
Do not touch code yet.
1. The ticket: current state, full body, **all comments** (bounces especially).
2. The plan doc it points at.
3. The **production entry point** — does real traffic actually reach the code under test?
4. The gate: run it. Right now. Record the real output.