Loading...
Loading...
Use when a failure or friction keeps coming back after a fix - a repeat incident, a recurring CI or build break, the same review comment raised again, a Retrospective event firing a second time, or when someone asks why this keeps happening. Not for debugging a single live bug in progress. Personal, non-technical judgment calls route to `guide-decision`/`guide-purchase`.
npx skill4agent add normanderwan/claude-casebook find-causegrillingguide-decisionguide-purchase| Answer | Type | Keep going? |
|---|---|---|
| "The key was missing" | Event | Yes |
| "Someone forgot to add it" | Event, blame-shaped | Yes |
| "Config is edited by hand after merge" | Process decision | Stop |
| "Config was deliberately kept out of the repo, never replaced" | Design decision | Stop |
Frame - Background: staging blocks releases. Current condition: staging deploy failed 4 times in 6 weeks, each on a missing config key. Target: zero config-caused staging failures over the next 6 weeks.Trace
- Why did the deploy fail? A config key the new code reads was absent in staging.
- Why was it absent? It was added to a local
only..env- Why only there? Staging config is edited by hand in the dashboard, after the code merges.
- Why after the code? Nothing ties a config key to the commit that introduces it.
- Why does nothing tie them? Config was pulled out of the repo after a secret leak, and no schema-only replacement was ever chosen. -> design decision, stop.
Prove - Hypothesis: a checked-in config schema (key names and required flags, no values) validated at boot. Expected evidence, checked at 6 weeks: zero config-caused staging failures, and at least one CI run failing fast with a named missing key. Result: 0 failures, 2 CI catches -> standardized by making schema validation a required CI check.