diff --git a/docs/archive/2026-07-03-feature-ranking.md b/docs/archive/2026-07-03-feature-ranking.md index 00e2ae8..56bc2df 100644 --- a/docs/archive/2026-07-03-feature-ranking.md +++ b/docs/archive/2026-07-03-feature-ranking.md @@ -12,6 +12,37 @@ --- +## what already shipped (checked against the code, 2026-08-02) + +One month old and already wrong in ten places. Everything below is marked +built after reading the code, not the board. Read the tiers underneath with this list in +hand. + +Infra 1 and 2, the two the ranking says block every feature, are both done. sqlcipher +at-rest ships as `Store.enc` plus `OpenEncrypted`, a tmpfs working copy re-encrypted on +`Close`, keyed from `db_key_env` in `deploy/mavend.json`. mavweb and mavcaldav are no +longer at zero coverage: seven test files under `cmd/mavweb`, including +`credentials_test.go` and `passkey_prf_test.go`, and two under `cmd/mavcaldav`. Infra 3 +is stale in the other direction. There are still no systemd units, but the deploy is +`deploy/ecosystem/docker-compose.yml`, not scripts and tmux. + +Doable tier, built: rule trace and explanation as `/trace` plus `internal/loop/explain.go`. +Recurring reminders as the cron column, `NextFireTs` and `RescheduleReminder` +(`internal/store/reminders.go:206`), so "fires once right now" is wrong. Stale-reminder +burst collapse as `collapseReminders` (`internal/loop/gather.go:209`). Revert as +`VoidLatestFact` (`internal/store/facts.go:300`). Digest mode as `internal/store/digest.go`. +Testing infra as the simulator and the eval lab (V-284, V-278). Passkey persistence as the +JSON-backed `credentialStore` in `cmd/mavweb/credentials.go`. Most integrations shipped as +their own QA tasks (V-246 mail, V-256 smarthome, V-258 rss, V-259 crawler). + +Doable tier, still open: correx, systemd units, memory decay and duplicate detection +(nothing in `internal/memory` touches it), backup automation, import and export, barge-in. + +Epic tier, unbuilt as ranked. `event.Bus` exists (`cmd/mavend/intake.go:57`) but it is the +intake journal from V-283, not the rewrite of facts into projections that this tier means. + +--- + ## infra — blocks everything below, in order 1. **sqlcipher at-rest** — auth chapter (cold-start = layer-3, key-in-core-only) is fiction without it. plain sqlite on disk right now, anyone with disk access reads everything.