Skip to content

Commit 262ed16

Browse files
committed
plan: mark 5.2 (robust map growth) done; index.html reconciliation done
1 parent a7333ad commit 262ed16

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

plan/pending/hardening.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,10 @@ stored timestamps are non-decreasing and no inverted interval validates.
227227
mid-loop the txn aborts (disk reverts) but the popped seqs are lost, leaking records forever and
228228
silently degrading the bounded-storage invariant. Restore the deque on abort, or delete first and
229229
mutate RAM only after a successful commit.
230-
- [ ] **5.2 — Robust map growth.** `durable()` catches `MDB_MAP_FULL` once, doubles once, retries
231-
once (`lmdb_store.cpp`); a record larger than one doubling → uncaught → crash. Loop the grow/retry
232-
until the record fits or the (32-bit) ceiling is truly hit.
230+
- [x] **5.2 — Robust map growth.** DONE: `durable()` now loops grow/retry until the record fits (or
231+
`grow_map()` throws `LmdbStoreFull` at the 32-bit ceiling). Was a single retry — a record larger
232+
than one doubling threw uncaught → crash. Test: a 5 MiB single-record write into a 1 MiB map now
233+
succeeds (grows 1→2→4→8 MiB).
233234
- [ ] **5.3 — Bound or prune published-event storage.** Only the clock chains are ring-pruned; the
234235
`events`/`event_index` sub-DBs holding user content have **no cap** — a publisher node grows disk
235236
without bound. Either document this as operator-driven (and surface it in `db stat`) or add an
@@ -287,9 +288,8 @@ minor; all ports work, and `loti init` itself prints `--port 7000`, so the 7000
287288
the code while cli.md's `4666` is the deferred config-file default) and **7.5 / 7.6** (unimplemented
288289
-feature demos; remaining absolute-claim qualifiers) are left as low-risk follow-ups. Note the
289290
retention part of 7.6 (flat-storage vs unpruned events) was folded into the 7.4 rewrite.
290-
The **`index.html` landing-page** copy carries the same over-claims and was edited to match, but
291-
that edit is **deferred**: the page is being edited concurrently (a proof-chain figure), so its
292-
claim reconciliation will be re-applied on top of that work rather than risk clobbering it.
291+
The **`index.html` landing-page** claim reconciliation is now DONE too — re-applied on top of the
292+
concurrently-added proof-chain figure once that had landed on master.
293293

294294
- [x] **7.1 — One store story.** [doc/cli.md] and
295295
[doc/paper-vs-implementation.md](../../doc/paper-vs-implementation.md#L33) call the MVP store "a

0 commit comments

Comments
 (0)