docs(db2-delta): resident:keys has storage; move done criteria to Met
- "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) <noreply@anthropic.com> (cherry picked from commit b575678ee95fa3125fa4e8145320a9cdca10ba38)
This commit is contained in:
parent
061942c9a6
commit
64035bf177
1 changed files with 8 additions and 6 deletions
|
|
@ -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,
|
[porch 1–3](../porch/01-store-backed-middleware.md) need for sessions,
|
||||||
rate-limit counters and idempotency keys.
|
rate-limit counters and idempotency keys.
|
||||||
|
|
||||||
**The `resident: keys` half has its read path but no storage behind it.**
|
**The `resident: keys` half is fully wired for CRUD.** Storage, reads, scans,
|
||||||
Offsets can be captured and rows can be read back from them; nothing yet stores
|
`@unique`, deletes and updates (a WAL delta record, folded back to a value on
|
||||||
a table that way.
|
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
|
## Acceptance Criteria
|
||||||
|
|
||||||
|
|
@ -123,9 +125,6 @@ Met:
|
||||||
would have been dropped from the new log; and the id map would still have
|
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
|
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.
|
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,
|
- **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,
|
**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
|
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
|
ratio enough to fire a checkpoint. The delta-updates design's decision
|
||||||
not to cap chain length rests on compaction bounding it instead; for
|
not to cap chain length rests on compaction bounding it instead; for
|
||||||
this shape it does not.
|
this shape it does not.
|
||||||
|
|
||||||
|
Outstanding:
|
||||||
|
|
||||||
- **Given** `durable: true` and no `WO_DATA`, **when** the program starts,
|
- **Given** `durable: true` and no `WO_DATA`, **when** the program starts,
|
||||||
**then** it refuses. *(task 6 — today this combination silently discards
|
**then** it refuses. *(task 6 — today this combination silently discards
|
||||||
every write)*
|
every write)*
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue