Files
typewriter/docs/v0.9-robustness.md
Julien Calixte 4f0d745e84 docs: sweep sync follow-ups into their owning version docs
Kaizen/postmortem next-steps kept accumulating with no owner. Each item
now lives in one version doc (v0.7 sync perf, v0.9 robustness, v1.0
boot) with the source docs linking there; the editor-freeze safety net
is marked hardware-verified and the v0.5 walk re-measure closed at 4.3s.
2026-07-13 22:07:34 +02:00

1.5 KiB

v0.9 — Robustness

Part of the Typoena macro plan. Requirements and targets: qfd.md. Load-bearing decisions: adr.md.

Status: not started.

  • Crash-safe writes (write to .tmp, fsync, rename) — NB FatFS f_rename refuses to overwrite, so it's unlink-then-rename + *.tmp boot-recovery (found in Spike 3, still open there)
  • Recover from interrupted push (re-attempt on next save) — the splice journal + stranded-commit recovery (2026-07-13) already survive a power-pull mid-push; this item is the retry half
  • Reconnect-on-stale-connection in the libgit2 http/stream layer — the push keep-alive race is avoided, not fixed (repack keeps the marking phase at ~3.5 s ≪ the ~30 s idle window; a multi-pack or cold-cache state could still lose it — see the real-repo-sync kaizen)
  • Eradicate the paint-during-sync DMA allocation failure: persistent internal DMA scratch in Epd (safety net + allocation-free repaints shipped; see the editor-freeze postmortem)
  • SD card removal / reinsert handling
  • Wi-Fi reconnect with backoff
  • On-device provisioning + settings screen: SSID, PAT rotation, default remote, commit author (replaces the v0.1 dev-only NVS-flashing path — first release usable by someone who is not the firmware author)