Commit Graph

23 Commits

Author SHA1 Message Date
Julien Calixte
f373892870 docs: add memory-safety audit of the Rust unsafe/FFI surface 2026-07-10 10:22:21 +01:00
Julien Calixte
dbe7720a27 docs: point directory links at their folder's README
Bare-folder links (e.g. docs/postmortems/) only resolve on GitHub's
auto-render; retarget them to the folder's README.md so they open a
real file in any markdown viewer.
2026-07-08 14:45:52 +02:00
Julien Calixte
aa068147ab docs(roadmap): replace the mermaid Gantt with Macroplan TOML
The macroplan app parses this source directly; the baseline originals
stay fixed and v0.1's slip is expressed as an at-risk status instead of
a re-drawn bar.
2026-07-08 00:19:28 +02:00
Julien Calixte
c4326421fd docs(readme): link the gix postmortem where it is mentioned 2026-07-08 00:06:31 +02:00
Julien Calixte
3128bca4ad docs(readme): sync to bench reality and slim via links
Fix stale claims: hardware IS on bench; git is libgit2/git2 as an
esp-idf component (ADR-004 kill-switch fired), not gix; display is the
in-tree SSD1683 driver; TLS handshake heap is the measured ~35 KB; v0.1
auth is build-time TW_* env vars (ADR-011 open). Replace the hardware
table, Gantt, and "why not" sections with links (docs/hardware.md,
docs/roadmap.md, ADR-001/002); update repo layout from planned to
actual; prune resolved open questions and link postmortems.
2026-07-08 00:04:49 +02:00
Julien Calixte
f77f6697d1 docs(roadmap): add v0.2.5 international input release
US-International dead-key accents, slotted after navigation without
renumbering later versions so ADR/qfd/README anchors stay valid. Also
adds a UTF-8-correct buffer groundwork bullet to v0.2.
2026-07-05 17:57:35 +02:00
Julien Calixte
ac56bc4aec docs: extract rendering spikes into docs/spikes.md
Spikes 8-14 are a cross-release display/UX bench batch, not part of the
v0.1 integration gate — only 8 and 9 feed v0.1. Move them out of the v0.1
technical doc into their own log (with a feeds-table and dependency notes),
leaving a pointer behind; link it from the README layout map.
2026-07-05 17:27:34 +02:00
Julien Calixte
a848c05afa docs: redesign v0.1 screen as side panel + writing column
Replace the header/status-bar layout with a full-height writing column
plus an always-visible side panel holding all metadata. Canonicalize the
new region vocabulary in CONTEXT.md (Writing column, Side panel) and retire
header / status line / edit area as terms-to-avoid.

Consequent sweeps: rewrite the Error UX section in side-panel terms and
give keyboard-disconnect a home (⌨ ✗, disconnect-only); drop the "line N"
readout; reconcile the render module ops and region shadow; sweep the
status-line/edit-area wording across the technical, roadmap, qfd, notes,
README, and ADR-003 docs (incl. the ~11→~13 line-count figure).
2026-07-05 17:27:25 +02:00
Julien Calixte
1c6dfec7e6 docs(readme): link GLOSSARY.md from intro and repo layout
GLOSSARY.md was reachable only via docs/qfd.md's §2 preamble.
Surfacing it from README adds two entry points: the intro and
software-stack pointers to docs/qfd.md now follow up with a link
to GLOSSARY.md (the ontology layers used across the docs), and
the repo-layout block lists GLOSSARY.md alongside CONTEXT.md so
the two glossaries' division of labour — device vocab vs
methodology vocab — is visible at a glance.
2026-05-19 14:51:29 +02:00
Julien Calixte
aa9f3f60ff 2026-05-17 15:22:05 2026-05-17 15:22:05 +02:00
Julien Calixte
e152237477 docs: rename project to Typoena
Project gets a proper name. Replaces "Ours" / "Our product" placeholders
in the QFD perception zone and the working title "typewriter" in
README/CONTEXT headers and the npm name. "Typewriter" the category
noun (the writing-machine concept) stays unchanged — Typoena is the
brand, typewriter is the category. SoftAP SSID typewriter-setup and the
repo directory are deliberately left as-is.
2026-05-16 14:21:32 +02:00
Julien Calixte
a63d2fcb1e docs(adr): reframe ADR-003 as display medium decision
The old ADR documented the specific panel choice (GDEY0579T93 + DESPI-c579)
as if it were a freshly weighed option, but the hardware was already on
hand — the real architectural decision was choosing the medium (e-ink over
FSTN graphical / Sharp Memory LCD / OLED-TFT). Rewrite the ADR around the
medium with the panel as instantiation, note the Freewrite Alpha (2023)
data point as honest expectation-setting, and propagate the anchor /
narrative changes through qfd.md, v0.1-mvp-product.md, and README.md.
2026-05-14 21:49:01 +02:00
Julien Calixte
7055d01e9d docs: refresh v0.1 spec for gct publish flow and dev-only build-time config
Two coupled changes that emerged from one /deep-design session, both touching
the same v0.1 paragraphs:

(1) Align Ctrl-G with the user's existing gct shell alias: git add . ->
    short-circuit if nothing staged -> commit with an ISO-8601 timestamp (no
    wip prefix) -> push -> on push failure, git pull --no-edit then retry.
    Atomic from the user's view. Recorded as ADR-010. The previously-planned
    v0.7 commit-message-prompt item is removed; it contradicts the
    gct/timestamp model.

(2) Replace the v0.1 captive-portal first-run with build-time env-var
    config: build.rs reads TW_* env vars and embeds them as constants. No
    NVS read, no LittleFS mount, no AP mode, no HTTP server. The v0.1
    target user is the dev themselves; the first release usable by non-dev
    users is v0.9, and the v0.9 settings entry is reframed accordingly.
    ADR-005 updated to describe the build-time path and the v0.9 migration.

The two changes share files because the v0.1 spec is one interlocked
document; splitting further would require line-level surgery without
improving auditability.
2026-05-14 20:40:09 +02:00
Julien Calixte
668478aa40 docs: add CONTEXT.md glossary and cross-link from README + ADR log
CONTEXT.md fixes the project's user-facing vocabulary (Tracked, Local,
Save, Publish) and the principles that fall out of those definitions
(the device is a writing tool, not a sync engine; it does no git work
the user did not explicitly request). README's file-scopes section and
repo-layout listing point at the new glossary so a first-time reader
lands on canonical definitions, and the ADR log carries an inbound link
so future ADRs can rely on the same terms.
2026-05-14 20:37:43 +02:00
Julien Calixte
a399d06864 style(docs): apply oxfmt to README and v0.1 docs
Aligns markdown table columns and converts *emphasis* to _emphasis_.
No content changes.
2026-05-14 12:56:13 +02:00
Julien Calixte
baf1407785 docs(readme): link software stack section to qfd.md 2026-05-14 12:49:17 +02:00
Julien Calixte
f44da5892a docs(readme): list pnpm + oxfmt toolchain in repo layout 2026-05-14 12:49:04 +02:00
Julien Calixte
e1e456e02d docs(roadmap): add Mermaid Gantt and split version detail into roadmap.md
Macro-plan dates start 2026-06-01 with `after` dependencies between
versions. Per-version checklists move to docs/roadmap.md so the README
stays synthetic.
2026-05-14 12:47:01 +02:00
Julien Calixte
08be635659 docs(adr): add architecture decision log for 9 load-bearing choices 2026-05-14 12:27:43 +02:00
Julien Calixte
421270cdf2 docs(hardware): switch display to GDEY0579T93 with DESPI-c579
Strip-aspect 5.79" panel (792×272) replaces the page-shaped 7.5" choice.
Reflows the v0.1 screen layout, framebuffer memory budget, and spike 2
acceptance to validate the SSD1683-class controller path or fall back to
a ~300 LoC custom embedded-hal driver.
2026-05-14 12:27:33 +02:00
Julien Calixte
490e2930e3 docs(v0.1): add MVP product and technical design specs 2026-05-14 11:49:50 +02:00
Julien Calixte
2080fa0602 docs: draft project plan, stack rationale, and release roadmap
Sets language (Rust on esp-idf-rs), rejects Ratatui and Gleam+Shore with
reasons, locks the MVP scope to "write, save, push one file" and defines
nine downstream releases so each ships a usable artifact.
2026-05-14 11:46:20 +02:00
Julien Calixte
54169e248f first commit 2026-05-14 11:31:57 +02:00