writeonce/docs/superpowers/specs
shoney.arickathil cfd660a5e6 docs(db2-chains): spec + story for bounding a row's delta chain
- fixes a limitation iteration 2 shipped: compaction was supposed to
  bound chain length, but wo_wal_should_compact triggers on a whole-log
  byte ratio and cannot see one hot row's chain
- tier 1, flatten on update: the update path ALREADY folds the row for
  index maintenance and the fold already walks hop by hop, so it reports
  depth for free. Past a fixed K it writes a full row instead of a
  delta. Read <= K+1 reads, replay O(K^2) per row. No format change, no
  per-row RAM, no new trigger
- tier 2: our compaction policy has a proportional term and a
  SUPPRESSOR misleadingly called a floor; postgres's floor TRIGGERS on
  small absolute garbage. Add that term and a ceiling
- design read from .dev/reference/postgresql, not recalled:
  heap_page_prune_opt gates on an O(1) on-page hint then page fullness
  against Max(fillfactor, BLCKSZ/10); autovacuum uses base + scale *
  reltuples clamped by a max (50, 0.2, 1e8). Neither thresholds on
  new-bytes-versus-old-bytes
- K deliberately does NOT scale with table size: postgres scales a
  table-level aggregate with proportional harm, ours is per-row with
  additive cost, so scaling up would make big databases boot worst
- the story says plainly it should NOT be next: task 7 has still never
  measured whether resident: keys beats the kernel's own paging

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit f667cad2cfbe187b5973440ab1af015b2df288f8)
2026-08-30 20:38:03 +02:00
..
2026-08-01-oop-compiler-vm-design.md docs: iteration 7b migration — amend the normative docs (Phase 4) 2026-08-19 17:11:35 +02:00
2026-08-01-systems-track-design.md docs: status board at docs/00-status.md; gap-closure spec applied; recover lost doc 2026-08-10 23:42:26 +02:00
2026-08-03-blue-green-vm-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-07-logwatcher-sample-and-principles-design.md docs: compiler front-end specifications and plans (Tasks 2-6) 2026-08-10 09:11:04 +02:00
2026-08-10-logwatcher-gap-closure-design.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-11-inferred-gc-mark-sweep-design.md feat: milestone 1 complete — .wob emitter, conformance corpus, single binary; GC redesign specced 2026-08-11 19:31:26 +02:00
2026-08-15-table-relations-query-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-18-web-framework-design.md docs: sync superpowers specs/plans to hold decision 2026-08-21 05:00:56 +02:00
2026-08-20-library-kind-internal-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-20-memory-db-features-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-20-shard-fiber-arc-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-21-db-bench-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-23-chat-websocket-actor-lifecycle-design.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-23-net-seams-park-design.md feat: iteration 35 — net seams + the serving slice (fiber-per-connection) 2026-08-23 08:04:32 +02:00
2026-08-26-table-residency-design.md docs(db2-keys): spec — delta records for keys-resident updates 2026-08-30 20:37:27 +02:00
2026-08-28-wal-checkpoint-design.md docs(spec): WAL checkpoint — compact by rewrite + atomic rename 2026-08-28 17:39:38 +02:00
2026-08-28-wal-group-commit-design.md docs(plan): WAL group commit — 6 tasks, databasev2 4 part A 2026-08-28 09:06:09 +02:00
2026-08-30-bounded-delta-chains-design.md docs(db2-chains): spec + story for bounding a row's delta chain 2026-08-30 20:38:03 +02:00
2026-08-30-keys-resident-delta-updates-design.md docs(db2-keys): spec — delta records for keys-resident updates 2026-08-30 20:37:27 +02:00