← ClaudeAtlas

failure-archaeologylisted

Load when about to wait on CI in a hand-rolled loop, ship a doctrine line that states runtime behavior, adopt or delete a leftover local branch, add a contributor clause without a probe marker, or re-open something this session settled (version bumps, mid-campaign PRs, the sol r11 residue, the untracked transcripts).
F-e-u-e-r/opus-pack · ★ 2 · AI & Automation · score 68
Install: claude install-skill F-e-u-e-r/opus-pack
# Failure Archaeology — 2026-07-29/30 session Dead ends, traps, and residue from the contributor-PR campaign session, so no future agent re-walks them. Entry fields per the project-skill template: disposition / what happened / mechanism / standing rule / residue location. ## 1. dead — hand-rolled CI wait loop - What: an until-loop ("wait until no check is pending") was launched to wait for PR #90's CI, then stopped; the session's own live note hedged that an inverted loop condition would return early. A transient API error landed in the same window. (Transcript-recorded only — the stopped loop left no repo artifact.) - Mechanism: a hand-written wait predicate is unverifiable from the outside — when it exits you cannot distinguish "done" from "predicate wrong", and a mid-wait interruption leaves no state. - Standing rule: read CI state directly and re-derive on every resume — `gh pr checks <n>` — instead of encoding the wait condition in a loop you cannot test. The session's later CI waits (#93, #97) completed as plain background status checks. - Residue: none (the loop was stopped; nothing landed). ## 2. dead — untested runtime-semantics text in #96 (fixed in gate) - What: contributor text asserted `os.environ["KEY"]` "silently reads empty" in non-interactive shells, and its ❌ example used `'\\n'` inside single quotes. - Mechanism: prose about runtime behavior that nobody had executed. Both lenses converged on the KeyError correction (r1); sol+lun