Root cause, shipped safety net, and the specced eradication (a persistent internal DMA scratch buffer in Epd so paints never allocate mid-sync). Tracks hardware re-test and the eradication as follow-ups.
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 |
| 2026-07-11 | Editor freeze — SPI-DMA OOM during a background :sync |
Safety net shipped (paints non-fatal); root-cause eradication specced, not yet built |