docs: record the measured storage cost and the new crate boundary
Updates the ADR log, architecture, limitations, perf table and README to match what now exists, rather than what was expected. **The perf number was wrong and is now honest.** The M0 figure of 0.279 MB excluded SQLite entirely — the placeholder binary never referenced the crate, so dead-code elimination dropped it. With the daemon actually opening a database it is **1.364 MB**, of which bundled SQLite is ~1.1 MB. That is 1.1 MB of the 5 MB budget spoken for, leaving 3.8 MB for D-Bus, X11 and a UI toolkit. This is the first number that makes the section 5 budget feel like a budget rather than a formality, and it turns ADR-4's bundled-vs-system-linked choice into a real trade-off with a measured price on both sides. - ADR-4 marked accepted and implemented, with that trade-off left open. - ARCHITECTURE.md documents why `blocker-storage` is a sibling crate and not a submodule: the dependency direction is what keeps the zero-dependency purity proof automatic rather than a grep someone can route around. - LIMITATIONS.md drops the stale "storage has no I/O" shortfall and records the bundled-vs-system question instead, plus the fact that `LockState` still always evaluates to Normal. - README status table and layout updated. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@ enforces anything yet. No platform has a working build.
|
||||
| Milestone | State |
|
||||
|---|---|
|
||||
| M0 repo bootstrap | in progress |
|
||||
| M1 core engine | engine, lock timers and safety guarantees written and tested; storage has no I/O yet |
|
||||
| M1 core engine | engine, lock timers and safety guarantees written and tested; SQLite persistence landed in `storage/` |
|
||||
| M2-Linux | not started — daemon is a placeholder |
|
||||
| M3-Android | not started |
|
||||
| M4 conditions | not started |
|
||||
@@ -74,6 +74,7 @@ summary as not-passes. A skip is never reported as a pass.
|
||||
|
||||
```
|
||||
core/ the decision engine — pure, no OS calls, no dependencies
|
||||
storage/ SQLite persistence (rusqlite, bundled), fail-open recovery
|
||||
tests/ golden decision tables, and the engine purity check
|
||||
desktop/daemon/ long-lived observer and enforcer (5 MB budget)
|
||||
desktop/ui/ block-screen window, launched on demand
|
||||
@@ -106,9 +107,10 @@ scripts/ ci.sh, size-check.sh
|
||||
| Daemon binary | ≤ 5 MB stripped |
|
||||
| APK size | ≤ 10 MB |
|
||||
|
||||
Currently measured: **0.279 MB** stripped daemon — a placeholder that prints two
|
||||
lines. The meaningful number comes in M2-Linux. Enforced in CI from the first
|
||||
commit by `scripts/size-check.sh`.
|
||||
Currently measured: **1.364 MB** stripped daemon, which includes bundled SQLite.
|
||||
Of the 5 MB budget that leaves 3.8 MB for D-Bus, X11 and a UI toolkit — a real
|
||||
margin rather than a comfortable one. Enforced in CI from the first commit by
|
||||
`scripts/size-check.sh`.
|
||||
|
||||
## Licence
|
||||
|
||||
|
||||
Reference in New Issue
Block a user