CFLAGS include-injection cascades through the whole esp-idf component graph (arpa/inet.h -> sys/ioctl.h -> ...), so path 1 is out. Decide path 2: libgit2 as an esp-idf CMake component with USE_HTTPS=mbedTLS, which fixes the includes and the TLS backend together.
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 |