A casebook. Every entry is a real bug that happened on this station, written up after it was fixed: what broke, how it showed, where it sits in the Software Observatory's framework, what was done, and the thing that was built so it fails loudly next time.
No lessons. Controls.
cases20
-
2026-10-11
A tool returning output means the command succeeded
now fails loudly a regression requires exit code 1 to remain a command failure when the tool error flag is false
-
2026-10-11
Every exported error occurrence warrants a separate incident task
now fails loudly regression tests reject historical exports and consumer tool errors, group repeated failures, and enforce a persisted rolling delivery budget
-
2026-10-11
A queued notification can run with another channel's tools
now fails loudly a queue regression requires different channel origins to remain queued for their own turns while same-origin follow-ups still fold
-
2026-10-11
A deploy that misses its host once is a failed publish
now fails loudly the deploy retries a dropped connection up to three times and fails fast on any other error
-
2026-10-11
A developer's Python installation supplies the CI test dependencies
now fails loudly CI installs the pinned Python test requirements and verifies the YAML module before building or running the suite.
-
2026-10-11
A CI runner carries the same tools as a developer's machine
now fails loudly make test preflights the suite's declared Python dependencies and fails before the demos when one is missing
-
2026-10-10
An Ubuntu host label was safe on a macOS runner
now fails loudly runner-label-check reads active runner config and pages when a Darwin host runner lacks a matching macOS :host label
-
2026-10-10
The token file was assumed to update the running service
now fails loudly switchboard-watch restarts on /metrics 401, retries authentication, pages if the retry fails, and clears blind-alert state after a successful scrape
-
2026-10-07
A placeholder written for a reader was a broken link the site's own checker followed
now fails loudly a build gate fails when generated text carries a literal <...> placeholder inside an http(s) URL, so a placeholder cannot ship as a 404-ing link on the site's own domain
StructuralTest EffectivenessPre-Promotion Invariant GatesSnapshot Tests
-
2026-10-07
A running worker is assumed to be listening to its queue
now fails loudly a scheduled liveness check alarms within minutes when a queue's oldest pending item has gone unclaimed by its owning worker past a short limit
RuntimeInvariantsSynthetic MonitoringResource TelemetryRuntime Invariants
-
2026-09-27
An empty backup suffix makes `sed -i` portable
now fails loudly a gate refuses any `sed -i` whose argument is not a `.bak` suffix, so both the GNU-only no-suffix form and the macOS-only empty-suffix form fail the suite before they reach CI
BehavioralEvolutionExample-Based TestsPre-Promotion Invariant Gates
-
2026-09-24
A restart policy that fires on exit restarts a hung worker
now fails loudly a per-harness run timeout now bounds a persistent worker's lifetime, killing and respawning a wedged process and re-arming the timeout every lifetime
-
2026-09-21
`sed -i 'edit' file` means "edit in place" on every machine
now fails loudly `sed -i` with no backup suffix is GNU-only; the deck test now uses the portable `sed -i.bak` + `rm -f` form, which edits in place identically on GNU and BSD sed
-
2026-09-19
Hardcoding a "recent" date into a test fixture keeps it recent
now fails loudly the telemetry collector accepts SUBLAYER_NOW to freeze its clock, and the test pins it to the fixtures' own day, so the window is deterministic and cannot age out
BehavioralTest EffectivenessExample-Based TestsPre-Promotion Invariant Gates
-
2026-09-13
Moving a repo layout's root is one mechanical change
now fails loudly A test that silently skips because a path does not exist is a failed test; environment checks that mask defaults are recorded as overrides, and the defaults themselves are tested without them.
ChangeBehavioralIntegration TestsPre-Promotion Invariant Gates
-
2026-09-12
YAML frontmatter with a colon-space in a scalar value is a mapping
now fails loudly Every SKILL.md frontmatter is parsed as YAML by a test; a frontmatter block that does not parse fails CI.
-
2026-09-12
Renaming a repo and updating its topology entry is one operation
now fails loudly The deploy gate refuses when the topology file and the filesystem disagree about which repos exist; a worker with a schedule attached is not a worker — it is skipped by collect and never rendered as down.
ChangeInvariantsPre-Promotion Invariant GatesStatically Checked Invariants
-
2026-09-12
An AI reviewer that reports an approval has posted one
now fails loudly A review counts only when the forge API shows it submitted with a verdict; until the tool submits, the merge record is the evidence and the reviewer's own result is not.
ChangeHuman ComprehensionIndependent ReviewSecond-Agent Review
-
2026-09-06
Looking up a DNS name before creating it is harmless
now fails loudly Absence is probed only against the authoritative nameserver; the user's own resolver is queried last, and only to read what it already believes.
-
2026-09-06
Validating a web server's config only reads it
now fails loudly Config validation runs as the service user, and a smoke request against the new host is what declares the deploy done — not the validator's exit code.
by family8 of 10
- Runtime 12
- Invariants 8
- Behavioral 6
- Change 5
- Structural 2
- Test Effectiveness 2
- Human Comprehension 1
- Evolution 1