From 64035bf177320968b00165123d8df23f09364398 Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Sun, 30 Aug 2026 11:58:13 +0200 Subject: [PATCH] docs(db2-delta): resident:keys has storage; move done criteria to Met MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "no storage behind it" / "nothing yet stores a table that way" was false — CRUD, checkpoint survival and updates all landed; replaced with an accurate summary naming task 6/7 as what remains - the three checked delete/delete-replay/update criteria sat in Outstanding despite being done; moved to Met, leaving Outstanding holding only genuine task 6/7 work Co-Authored-By: Claude Opus 5 (1M context) (cherry picked from commit b575678ee95fa3125fa4e8145320a9cdca10ba38) --- docs/stories/databasev2/02-table-storage-modes.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/stories/databasev2/02-table-storage-modes.md b/docs/stories/databasev2/02-table-storage-modes.md index 87ac8b1..2a6565a 100644 --- a/docs/stories/databasev2/02-table-storage-modes.md +++ b/docs/stories/databasev2/02-table-storage-modes.md @@ -74,9 +74,11 @@ in-process — same indexes, same `@unique`, same FK restrict, same query surfac [porch 1–3](../porch/01-store-backed-middleware.md) need for sessions, rate-limit counters and idempotency keys. -**The `resident: keys` half has its read path but no storage behind it.** -Offsets can be captured and rows can be read back from them; nothing yet stores -a table that way. +**The `resident: keys` half is fully wired for CRUD.** Storage, reads, scans, +`@unique`, deletes and updates (a WAL delta record, folded back to a value on +every read) all work, and survive both a restart and a WAL checkpoint. Task +6's two runtime refusals and task 7's measurement are what remain — see +Outstanding below. ## Acceptance Criteria @@ -123,9 +125,6 @@ Met: would have been dropped from the new log; and the id map would still have named offsets into the replaced file. Rows are rewritten in hash order, so offsets genuinely move and a missing re-point cannot pass by luck. - -Outstanding: - - **Given** a `delete` of a row on a `resident: keys` table, **when** it runs, **then** the row is gone and nothing else is touched. ✅ **fixed 2026-08-29, and it was memory corruption before the fix.** `wo_row_remove` read the id @@ -201,6 +200,9 @@ Outstanding: ratio enough to fire a checkpoint. The delta-updates design's decision not to cap chain length rests on compaction bounding it instead; for this shape it does not. + +Outstanding: + - **Given** `durable: true` and no `WO_DATA`, **when** the program starts, **then** it refuses. *(task 6 — today this combination silently discards every write)*