writeonce/docs/superpowers/plans
shoney.arickathil 1ee7cce597 docs: retract the row-encoding rewrite — the flat record format already exists
- found during the pre-execution review of the plan, before any code
- the claim was wrong in both spec and plan: table.c's db_val_encode builds
  the IN-MEMORY slot; the FILE record is a separate encoding in wal.c and has
  been flat since iteration 9. enc_val inlines every kind recursively with no
  pointer anywhere; dec_val reads it back; a record is
  `WO_WAL_INSERT | class_id | id | <value per field>` in the
  len|crc|payload|mark frame; scan_record already preads and CRC-verifies a
  record at an arbitrary offset
- so the row encoding needs NO change, and Task 5 (a "self-contained,
  offset-based" rewrite billed as the iteration's substantive engineering) is
  DELETED, not reduced. 8 tasks -> 7, and the highest-risk task is gone
- the real difficulty is where the spec never looked: wo_wal_append_insert
  stages into a 1 MiB buffer, so a record's final offset is unknown until
  flush. Threading an accurate offset back through a buffered writer —
  correct across partial flush, failed commit and torn tail — is now Task 5's
  first two steps, with a unit test that straddles a buffer boundary and a
  case asserting no offset is published for a record that never reached disk
- dependent claims corrected: the mmap alternative's premise, the read-path
  bullet (now names scan_record/dec_val), and the self-review coverage table,
  which records the retraction rather than quietly dropping the row
- root cause worth noting: reading one layer and inferring another. Second
  time this iteration — the first was assuming WO_HEAP_MB bounded table
  storage when it bounds the VM arena
- no code written yet; linkcheck 0 broken / 0 anchors

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 23:00:18 +02:00
..
2026-08-01-db-engine-binding.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-01-http-service-layer.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-01-log-watcher-sample.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-01-program-mode-stdlib.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-01-shard-actor-vm-runtime.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-01-wob-format-and-vm-core.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
2026-08-18-deps-package-manager.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-18-inferred-gc-mark-sweep.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-19-web-framework.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-20-framework-v2-memory-features.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-20-library-kind-internal.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.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.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-22-operator-parity.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-ws-lifecycle.md docs: audit all markdown against the code, fix findings, flatten status folders 2026-08-26 19:20:22 +02:00
2026-08-26-table-residency.md docs: retract the row-encoding rewrite — the flat record format already exists 2026-08-26 23:00:18 +02:00