writeonce/docs/stories/databasev2
shoney.arickathil f8b470d7cf docs(db2-5): brainstormed to ready — twelve forks; the resident byte budget arrives as Phase A
- `readiness: ready`, `review_pending` (forks 1–12 settled 2026-09-10 by
  codd-shoney under autonomy; look first at the cuts — fork 4 no
  back-pressure, no cross-table shedding, no warn threshold; fork 2 the
  per-table bound is rows only; forks 3/7 the default budget)
- two independent questions: RAM for all tables is one process budget in
  bytes (`WO_DB_MB`; unset = the default, never "no budget"), breached by
  refusal — the crossing insert traps WO_T_OOM, one stderr line names the
  largest table, the budget and its source; during replay the crossing is
  exit 2. Capacity of one table is `@table(max_rows: N)` with `on_full:
  refuse | drop_oldest`; drop_oldest legal on `durable: false` only,
  oldest = smallest live id; eviction never touches a durable table
- the default is the kernel's limit minus what the process holds at boot:
  cgroup v2 memory.high/max up the ancestry, else MemAvailable, minus VmRSS
  before replay — no fraction, no invented reserve; headroom is MEASURED
  (A4 re-runs iteration 1's 64 MiB swap-off leg, refusal must precede kill)
- estimate = what the engine asked the allocator for, chunk-rounded; keys
  tables count what is resident; observed on the WO_WAL_STATS exit line
- phases A–F, progress A1–A4 / B1–B3 / D1–D2 / F1 / P1 with owners; `.wob`
  v9 carries max_rows + policy; `status: pending`, Phase A startable now

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 579199af01581ebad3d2fa5f7e208745b210e9f9)
2026-09-15 01:16:24 +02:00
..
00-story.md docs(db2-chains): spec + story for bounding a row's delta chain 2026-08-30 20:38:03 +02:00
01-ram-ceiling-measurement.md feat(db-bench): replay baseline — boot cost tracks history, not data 2026-08-27 21:25:24 +02:00
02-table-storage-modes.md docs(db2-ephemeral): databasev2 2 closes — task 6a contract, forks 1–7, the README sweep 2026-09-15 01:16:24 +02:00
03-wal-checkpoint.md docs(db2-keys): reconcile databasev2 and porch markdown with the code 2026-08-30 20:36:55 +02:00
04-io-uring-commit.md docs(db2-4b): part B re-brainstormed — the async barrier on the corrected premise, ten forks 2026-09-15 01:16:24 +02:00
05-bounded-tables-eviction.md docs(db2-5): brainstormed to ready — twelve forks; the resident byte budget arrives as Phase A 2026-09-15 01:16:24 +02:00
06-cold-tiering.md docs(db2-keys): reconcile databasev2 and porch markdown with the code 2026-08-30 20:36:55 +02:00
07-single-file-db.md docs(db2-7): story closeout — acceptance met per task, progress table, WO_DATA is always a path 2026-09-15 01:16:24 +02:00
08-query-grammar-corpus.md feat(query-corpus): iteration 9g corpus #1 — skillhost needs no new query grammar 2026-09-15 01:15:30 +02:00
09-cross-program-tables.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00
10-keypair-attach-auth.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00
11-bounded-delta-chains.md test(db2-chains): the oracle closes databasev2 11's last criterion — keys vs all across 3×K flattenings and a replay 2026-09-15 01:16:24 +02:00
12-schema-migrations.md docs(db2-migrate): close out iteration 12 2026-08-31 21:54:27 +02:00
13-fresh-log-keys-seed-segv.md docs(db2-keys): databasev2 13 story — fresh-log keys-resident seed SEGV, fixed 6310078 + 1b6750d 2026-09-15 01:16:24 +02:00