Files
typewriter/docs/notes
Julien Calixte 9309f3f239 docs(sync): record the esp_map v2 verdict and cache removal
Run 4: memory discipline verified (1833 KB flat, no OOM) but 0 hits
with the small maps demonstrably retained — window-repetition theory
refuted, sub-second bar failed (splice 2.83 s cold / ~2 s steady).
Decision: wire the splice in anyway (~9-10 s cold real-repo :sync vs
611 s/OOM for every alternative). Run 5: cache removal confirmed
free; the ~1.85 MB "resident" was mwindow's live window set, which
makes the mwindow opts in shipping git_sync.rs load-bearing.
2026-07-13 00:20:12 +02:00
..

Notes

Longer-form essays on the thinking behind specific Typoena choices — the arguments too big for an ADR and too durable for a commit message.

Docs index: ../README.md. Project overview: ../../README.md.

Note What it argues
ctrl-g-perceived-latency.md Durability before delivery — surfacing "commit landed" at ~0.2 s makes the 510 s Ctrl-G push feel instant.
git-sync-images-and-repo-size.md Why we don't shrink the notes repo — its 153 MB of media is remanso's image CDN, so rewriting history to slim the on-device clone breaks the web app.
boot-time-budget.md Where the ~4.3 s to cursor goes — and why the ≤ 3 s v1.0 target is hard: one ~1.9 s full refresh is unavoidable at cold boot, so the splash is nearly free.
sync-latency.md Where the ~16 s cold :sync goes — Wi-Fi + SNTP + one TLS push; why optimistic-retry cut a whole handshake, and why the rest is close to the protocol floor.
sync-commit-handoff.md Handoff: the on-device commit must become an O(depth) TreeBuilder walk — add_all/index.write re-hash the whole 570 MB-pack tree (611 s / OOM) and the real repo has never synced. Design + firmware plumbing + bench steps for the next session.