writeonce/docs/stories/databasev2
shoney.arickathil 54b160070f docs(db2-keys): databasev2 13 story — fresh-log keys-resident seed SEGV, fixed 6310078 + 1b6750d
- symptom: `seed` of docs/examples/residency on a FRESH log, rc 139, in both
  WO_DATA forms — found smoke-testing databasev2 7, independent of it
- root cause, two defects composing: wo_wal_fold_row_at wrote `*msg`
  unguarded while wo_idx_probe borrows with msg = NULL; and the databasev2 12
  schema head was staged lazily AFTER db.c captured the first keys-resident
  row's offset (`koff`), so that offset pointed at the schema record
- fix (already on dev, prefix db2-keys): wo_wal_next_offset stages the
  pending head before returning an offset; the fold tolerates a NULL msg;
  both failing-first, and a control build with wal.c reverted reproduces
  the trace
- third finding: residency-accept.sh never checked seed's rc, so 20/0 was
  green over a crash — `e274f4a`; the gate is 32/0 since
- `residency.keys.fit` rc 74 confirmed a SEPARATE defect (compaction/replay
  of keys-resident offsets), still open under codd.md "Next bugs"
- `status: done`, `readiness: ready`; counts test_wal 6629 → 6660,
  make -C runtime test 8462/0 at the time of the fix

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit b5b1da795917f0446a1e4a0317d9136c33acb262)
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 Merge master into db-residency-doctrine — and close the two half-exposed features 2026-08-29 10:14:25 +02:00
05-bounded-tables-eviction.md docs(databasev2): propagate iteration 1's findings to every consumer 2026-08-27 22:47:37 +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