Record that persistence is now implemented and hardware-verified, and correct the crash-recovery rule everywhere it appeared as "just promote the tmp": a crash during the tmp write leaves a partial tmp, so recovery keeps the committed target when both files are present and only promotes the tmp when the target was already unlinked. Also fix the stale README heading that still said the SD was on shared SPI2.
Postmortems
Bench + bring-up debugging write-ups: what broke, how we found the root cause, and the decisions that came out of it. One file per incident, named
YYYY-MM-DD-<slug>.md. These capture why a spike stalled or a design turned — the kind of context that's expensive to reconstruct later.Project overview:
../../README.md. Bring-up spikes:../v0.1-mvp-technical.md.
| Date | Incident | Status |
|---|---|---|
| 2026-07-05 | Spike 3 (SD) — card rejects CMD59 (SPI-mode CRC) | Paused — awaiting a compliant microSD; wiring + firmware proven |
| 2026-07-05 | Spike 7 (git push) — ADR-004 kill-switch fired: gix can't push over HTTPS | Turned — pivoted to libgit2; git mechanics proven on desktop, device build next |