Two instruments record how the architecture was and will be decided.
- Open Decisions Register: every unresolved question, its importance, options, trade-offs and dependencies.
OD-01toOD-20are the twenty items identified at the start of the design work;OD-21and later were found while writing this specification. The current register contains 34 items; the owner-approved Frontend resolutions are recorded in ADR-0020. - ADRs (architecture decision records): one file per decision, with the structure in conventions.md. An ADR is written when an
ACCEPTEDcontract changes, when a decision is made that others depend on, or when options need to be on record.
| ADR | Title | Status |
|---|---|---|
| ADR-0001 | Repository topology | ACCEPTED |
| ADR-0002 | The kernel owns documents; everything else is a client | ACCEPTED |
| ADR-0003 | C ABI at binary boundaries | ACCEPTED |
| ADR-0004 | Implementation language: C11 | ACCEPTED |
| ADR-0005 | Frontend Protocol: backend owns state, frontends own presentation | ACCEPTED |
| ADR-0006 | Visual layout belongs to frontends | ACCEPTED |
| ADR-0007 | Selection ownership and undo | ACCEPTED |
| ADR-0008 | Persistence stays outside the kernel | ACCEPTED |
| ADR-0009 | Regular-expression engine | OPEN (direction PROPOSED) |
| ADR-0010 | Unicode version policy | ACCEPTED |
| ADR-0011 | Extension UI under the Frontend Protocol | ACCEPTED |
| ADR-0012 | Incremental migration | ACCEPTED |
| ADR-0013 | Hot-swap and state migration | DEFERRED |
| ADR-0014 | No shared or common repositories | ACCEPTED |
| ADR-0015 | Specification language and scope | ACCEPTED |
| ADR-0016 | Architecture-specific optimizations (SIMD and assembly) in the kernel | PROPOSED |
| ADR-0017 | Kernel call concurrency and ordering | ACCEPTED |
| ADR-0018 | Frontend Protocol wire format, client boundary and mutation authority | ACCEPTED |
| ADR-0019 | PUC Lua 5.4 C API as Runtime Host bridge | ACCEPTED |
| ADR-0020 | Frontend topology, TUI-first delivery and presentation contracts | ACCEPTED |
| ADR-0021 | Kernel ABI 1.1.0 implementation-backed contract acceptance | ACCEPTED |
| ADR-0022 | Generic Consumer-Independent Registry and Component Orchestration | ACCEPTED |
| ADR-0023 | Versioned Frontend IME composition contract | ACCEPTED |
| ADR-0024 | PaneTree splitter resize protocol contract | ACCEPTED |
| ADR-0025 | Immutable target-specific artifact delivery | ACCEPTED |
An ADR marked ACCEPTED records an owner-approved decision. Proposals awaiting owner review remain PROPOSED; they are never requirements until accepted (SPEC-020). The current resolved/open distinction is in status.md and open-decisions.md.