Files
typewriter/docs/notes/README.md
Julien Calixte dade5e6bb3 docs(sync): record real-repo commit bench and TreeBuilder handoff
The real jcalixte/notes clone (570 MB pack, 1179 files) proved both index
strategies are O(N_tree) and unshippable: index.write re-hashes the tree
(611 s), and the index-free read_tree is 77 s cold and OOMs the mmap cache
(zlib crash). Record the run in the tradeoff curve, revise the verdict to an
O(depth) TreeBuilder walk, and add a handoff note with the design, firmware
call sites, and bench steps for the next session.
2026-07-12 15:04:59 +02:00

1.4 KiB
Raw Blame History

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.