From 1fe808b7a4d7704047cd6b443009bcef37012f4c Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Thu, 27 Aug 2026 16:54:45 +0200 Subject: [PATCH] docs(stories): add `readiness`, retire `status: refine`, sweep all 47 iterations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `readiness: ready | refine` is a SECOND axis, orthogonal to status. `ready` = the brainstorm is complete and the decisions are LOCKED (a spec approved, or the forks explicitly confirmed). `refine` = open forks remain and it cannot be planned yet - `status: refine` RETIRED because it carried both meanings at once, so a held iteration with an approved spec (language 18, 26) was indistinguishable from one nobody had thought about. status is now purely where the WORK is: done | in-progress | pending | hold โ€” `pending` was already the board's own rendering word, so nothing new was invented - all 47 iterations classified from EVIDENCE in their own text, not by guess: "the four forks are SETTLED" / "spec + plan approved" / "Approved spec:" for ready; "Forks the spec must settle" / "no spec exists yet" for refine. Every shipped iteration is ready by definition. 19 done, 5 in-progress, 15 pending, 8 hold; 27 ready, 20 refine - two iterations moved refine -> in-progress rather than -> pending: language 31 and 34 are absorbed into 24 and work on them is literally happening, which the board already showed as ๐Ÿ”„ while their frontmatter said otherwise. That disagreement is now gone - board legend, board-views' frontmatter contract, and two new Dataview queries updated โ€” the useful one being `readiness: ready AND status: pending`, the startable set WHAT THE NEW AXIS IMMEDIATELY SURFACED: of 15 pending iterations, exactly ONE is startable โ€” databasev2 4, io_uring group-commit, whose forks were confirmed settled 2026-08-20. Everything else pending needs a brainstorm first. That was invisible while one key carried both meanings, and it is now on the board. Also caught by the sweep, unrelated to readiness but found by cross-checking frontmatter against the board: SIX duplicate rows. Every iteration moved into databasev2 was still listed in the LANGUAGE pending table under its retired id (23, 32, 33, 20, 21, 27) as well as its new one. Stale copies removed. And two databasev2 rows made claims the sweep contradicts โ€” iteration 1 was billed "startable today" while its forks are open, and 6 still called itself the ceiling-raiser after 2 took that role. Docs only. linkcheck 0 broken / 0 anchors. Co-Authored-By: Claude Opus 5 (1M context) --- docs/stories/00-status.md | 35 ++++++++++----- docs/stories/board-views.md | 45 ++++++++++++++++--- .../databasev2/01-ram-ceiling-measurement.md | 3 +- .../databasev2/02-table-storage-modes.md | 5 ++- docs/stories/databasev2/03-wal-checkpoint.md | 3 +- docs/stories/databasev2/04-io-uring-commit.md | 3 +- .../databasev2/05-bounded-tables-eviction.md | 3 +- docs/stories/databasev2/06-cold-tiering.md | 3 +- docs/stories/databasev2/07-single-file-db.md | 3 +- .../databasev2/08-query-grammar-corpus.md | 1 + .../databasev2/09-cross-program-tables.md | 1 + .../databasev2/10-keypair-attach-auth.md | 1 + .../01-principles-doc.md | 1 + .../language-runtime-database/02-vm-core.md | 1 + .../03-compiler-front.md | 1 + .../04-single-binary-e2e.md | 1 + .../05-language-surface.md | 1 + .../06-program-mode-stdlib.md | 1 + .../07-logwatcher-proof.md | 1 + .../07b-inferred-gc-mark-sweep.md | 1 + .../08-shard-actor-runtime.md | 1 + .../09-database-engine.md | 1 + .../09b-table-relations-query.md | 1 + .../language-runtime-database/11-fibers.md | 1 + .../15-deps-package-manager.md | 1 + .../16-web-framework.md | 1 + .../17-library-projects-internal.md | 1 + .../18-memory-db-features.md | 1 + .../19-missing-scalar-types.md | 1 + .../22-durability-throughput-scale.md | 1 + .../24-chat-websocket-workload.md | 1 + .../26-blue-green-deploy.md | 1 + .../28-skillhost-host-workload.md | 1 + .../29-compile-time-metaprogramming.md | 1 + .../31-actor-lifecycle.md | 3 +- .../34-crypto-builtins.md | 3 +- .../35-net-runtime-seams.md | 1 + .../36-operator-parity.md | 1 + .../37-wo-html-components.md | 1 + .../38-content-platform-capabilities.md | 3 +- .../39-web-framework-parity.md | 1 + .../porch/01-store-backed-middleware.md | 3 +- .../porch/02-randomness-and-cookies.md | 3 +- docs/stories/porch/03-sessions.md | 3 +- docs/stories/porch/04-csrf.md | 3 +- .../porch/05-routing-response-ergonomics.md | 3 +- docs/stories/porch/06-streaming-core.md | 3 +- docs/stories/porch/07-sse-and-compression.md | 3 +- docs/stories/porch/08-static-and-lifecycle.md | 3 +- 49 files changed, 129 insertions(+), 36 deletions(-) diff --git a/docs/stories/00-status.md b/docs/stories/00-status.md index 49b1a6b..abbb9e0 100644 --- a/docs/stories/00-status.md +++ b/docs/stories/00-status.md @@ -38,9 +38,26 @@ Update this board in the same change that finishes work โ€” set the item's and record any rejection in [`discarded.md`](../plan/discarded.md) with its reason. -Statuses, the closed set `status:` may take: `done` ยท `in-progress` ยท `refine` -(needs a brainstorm before it can be planned) ยท `hold`. This board renders them -as โœ… **done** ยท ๐Ÿ”„ **in progress** ยท โฌœ **pending** ยท โธ **hold**. +**Two frontmatter axes** (2026-08-27), deliberately orthogonal: + +- `status` โ€” where the WORK is: `done` ยท `in-progress` ยท `pending` ยท `hold`. + Rendered here as โœ… ยท ๐Ÿ”„ ยท โฌœ ยท โธ. +- `readiness` โ€” whether the DESIGN is settled: `ready` (brainstorm complete, + decisions LOCKED โ€” a spec approved or the forks confirmed) ยท `refine` (open + forks; cannot be planned yet). + +`status: refine` is retired: it meant both "not started" and "design not +settled", so a held iteration with an approved spec was indistinguishable from +one nobody had thought about. **The startable set is `readiness: ready` and +`status: pending`.** + +**As of the 2026-08-27 sweep that set has exactly one member:** +[databasev2 4, io_uring group-commit](databasev2/04-io-uring-commit.md) โ€” its +four forks were confirmed settled on 2026-08-20 and nothing has started. Across +47 iterations: 19 done, 5 in-progress, 15 pending, 8 hold; 27 `ready`, 20 +`refine`. So of the 15 pending items only **one** can be planned without a +brainstorm first โ€” which is the number this second axis exists to surface, and +it was invisible while one key carried both meanings. Story frontmatter (`iteration`/`status`/`chain`) is the machine-readable truth behind this board; live Obsidian Dataview views: @@ -351,19 +368,13 @@ that sequences its tasks. Read one, approve, then the next starts. | 22 | [Durability, throughput, scale](language-runtime-database/22-durability-throughput-scale.md) | โœ… **landed 2026-08-21** โ€” db-bench + baseline.json (74 metrics) + restart/kill -9 proofs both shard counts; durable 4.5k vs ram 297k inserts/s, reads O(table), msgrate 13.4M/2.45M | | 31 | [Actor lifecycle](language-runtime-database/31-actor-lifecycle.md) | ๐Ÿ”„ **absorbed into 24** (directive 2026-08-23) and half landed there: `call` request/response with a typed scalar reply (`WO_B_CALL = 88`, WO-E226), bounded mailboxes (`WO_MAILBOX`, cap 1024, catchable `WO_T_ACTOR`), and actor death that traps callers instead of hanging them. Still open: `monitor` and `time.after` โ€” ids **89 and 90 are reserved holes** in `wob.h`, which is the machine-checkable proof of what is left. Supervision trees stay out of v1 | | 24 | [chat: WebSocket workload](language-runtime-database/24-chat-websocket-workload.md) | ๐Ÿ”„ **the live slice** (absorbing 31 + 34, directive 2026-08-23) โ€” branch `chat-ws-lifecycle`, 5/10 tasks landed: crypto, bounded mailboxes, WS upgrade, frame codec, `call`/reply + actor death. Pending: `monitor`, `time.after`, the chat sample, its gate, closeout. State lives in [the marker](../active-slice-2026-08-23-chat-ws-lifecycle.md) | -| 23 | [io_uring group-commit](databasev2/04-io-uring-commit.md) | โฌœ fifth in chain, after stage 3 + 22 | -| 32 | [WAL checkpoint](databasev2/03-wal-checkpoint.md) | โฌœ last in chain, after 23 โ€” disk reclamation + bounded replay (story written 2026-08-21) | -| 33 | [Single-file store](databasev2/07-single-file-db.md) | โฌœ off-chain, small โ€” `WO_DATA=.db` file form; driver-only (story written 2026-08-22) | | 34 | [Crypto builtins](language-runtime-database/34-crypto-builtins.md) | ๐Ÿ”„ **code landed** as 24's T1 (`d14fa9f`): `sha1`/`sha256`/`hmac_sha256`, ids 85โ€“87 in `wob.h`, `runtime/src/crypto.c`, RFC/FIPS vectors 18/0, corpus pin. The 24 gate that once needed it is cleared. Frontmatter keeps `status: refine` only until 24's T10 closeout sets it to `done` | | 38 | [Content platform capabilities](language-runtime-database/38-content-platform-capabilities.md) | โฌœ off-chain, needs a spec โ€” the two capability families no iteration owns, confirmed against `runtime/src/wob.h`: `fs` mutation verbs (six fs builtins, ids 40โ€“45; `append` creates-if-absent, so nothing is ever replaced, truncated, deleted or renamed) and `net.connect` (ids 51โ€“55 + 91โ€“95, no connect, and no `connect()` anywhere in `runtime/src/` โ€” so no OIDC/SMTP/object-store/webhook/federation). Driven by a `docs/examples/vault` content-collaboration workload, in 28's mould. New builtins from 96 (89/90 reserved for 31); no `.wob` bump (`WOB_VERSION 6u`, last moved by 36). Story written 2026-08-26 from the "can it build a Nextcloud?" ask | | 39 | [Web framework parity](language-runtime-database/39-web-framework-parity.md) | โฌœ off-chain, needs a spec โ€” from [the Fiber v3.5.0 study](../plan/exploration/fiber/00-fiber-parity.md) (all 32 of its middleware read against `porch`; **nine already have a counterpart**). Leads with a **random-bytes builtin**: the framework ledger claimed CSRF/sessions were unblocked by iteration 34's HMAC, but HMAC authenticates a token and cannot mint one โ€” there is no RNG anywhere in the runtime. Then cookies (absent both ways; `Resp.headers` being a map cannot carry two `Set-Cookie` lines), then limiter/idempotency (cheapest wins โ€” `@table` + `time.ticks`, nothing new), sessions, CSRF, and the routing/response sugar. Streaming/SSE/compression, `@derive` binding, TTL cache, `proxy` and metrics all excluded with owners named | | 37 | [wo-html components](language-runtime-database/37-wo-html-components.md) | โœ… off-chain โ€” LANDED 2026-08-25. Raw text literal (backtick, margin stripped at lex time, `{{ }}` auto-escapes) + the component layer: `Component`/`render_all`/`Layout` in wo-html, `ok_html` moved into the framework, site and shop both migrated | | 35 | [net runtime seams](language-runtime-database/35-net-runtime-seams.md) | โฌœ off-chain โ€” fd deadlines on the park plane, Unix sockets, peer address; owns the ledger's three ๐Ÿ”ง rows (story written 2026-08-22) | -| 20 | [Cross-program tables](databasev2/09-cross-program-tables.md) | โธ hold (2026-08-21); channel done (branch ipc-attach keeps its manifest) | -| 21 | [Keypair attach auth](databasev2/10-keypair-attach-auth.md) | โธ hold (2026-08-21); crypto+handshake done (branch keypair-auth keeps its manifest) | | 25 | [HTTP service layer](../superpowers/plans/2026-08-01-http-service-layer.md) | โธ hold (2026-08-21) โ€” story file removed; the plan doc remains | | 26 | [Blue-green deploy](language-runtime-database/26-blue-green-deploy.md) | โธ hold (2026-08-21) | -| 27 | [Query grammar corpus](databasev2/08-query-grammar-corpus.md) | โธ hold (2026-08-21) | | 28 | [skillhost host workload](language-runtime-database/28-skillhost-host-workload.md) | โธ hold (2026-08-21); gaps recorded (branch query-grammar found skillhost needs no new query grammar) | | 29 | [Compile-time metaprogramming](language-runtime-database/29-compile-time-metaprogramming.md) | โธ hold (2026-08-21) | | 15 | [deps: `wo.toml [deps]`](language-runtime-database/15-deps-package-manager.md) | โœ… **landed 2026-08-18** (branch web-framework): [deps] inline tables, git-binary fetch, wo.lock pinning, offline-when-locked, --update-deps, WO-E106/E107; `just deps-accept` 8/0 | @@ -619,12 +630,12 @@ the language arc as v1 history. | # | Iteration | State | | --- | --- | --- | -| 1 | [RAM ceiling: measure the breaking point](databasev2/01-ram-ceiling-measurement.md) | โฌœ **first, and startable today** โ€” nobody here can say what happens at 90% RAM. Curve not cliff: swap onset, latency departure, the three exits (checked trap / swap thrash / OOM killer), and `kill -9` durability *at exhaustion*. Output is `perf-targets.md` + baseline rows, not prose | +| 1 | [RAM ceiling: measure the breaking point](databasev2/01-ram-ceiling-measurement.md) | โฌœ `readiness: refine` โ€” its three forks are open, so despite being first it is NOT startable without a brainstorm โ€” nobody here can say what happens at 90% RAM. Curve not cliff: swap onset, latency departure, the three exits (checked trap / swap thrash / OOM killer), and `kill -9` durability *at exhaustion*. Output is `perf-targets.md` + baseline rows, not prose | | 2 | [per-table storage: `durable` and `resident`](databasev2/02-table-storage-modes.md) | ๐Ÿ”„ **the language enrichment โ€” the `durable` half is DONE and usable.** Two optional `@table` keys, `durable: true\|false` and `resident: all\|keys`, both defaulting to today's behaviour (all 28 existing declarations compile unchanged, no golden moved). Landed: the grammar, WO-E224 (a durable `ref` into a volatile table is refused), `.wob` v7 carrying both properties in spare `flags` bits, `durable: false` actually skipping the WAL (measured: 50 inserts โ†’ 1500 bytes durable, **0** volatile) with a mode-mismatch startup refusal, plus offset capture and read-a-row-from-an-offset. Outstanding: 5c/5d (the idโ†’offset map and rewiring `wo_row_ptr`'s 11 call sites, slab scans and `@unique`/FK across the boundary โ€” not yet written up), the two runtime refusals, and closeout. [spec](../superpowers/specs/2026-08-26-table-residency-design.md) ยท [plan](../superpowers/plans/2026-08-26-table-residency.md) | | 3 | [WAL checkpoint](databasev2/03-wal-checkpoint.md) *(was 32)* | โฌœ snapshot + truncate: disk reclaimed, replay bounded | -| 4 | [io_uring group commit](databasev2/04-io-uring-commit.md) *(was 23)* | โฌœ close the 66ร— gap iteration 22 measured (durable 4.5k vs ram 297k inserts/s) | +| 4 | [io_uring group commit](databasev2/04-io-uring-commit.md) *(was 23)* | โฌœ **`readiness: ready` โ€” the one startable iteration in the repo** (four forks confirmed settled 2026-08-20). Close the 66ร— gap iteration 22 measured (durable 4.5k vs ram 297k inserts/s) | | 5 | [Bounded tables and eviction](databasev2/05-bounded-tables-eviction.md) | โฌœ a declared capacity + refuse/evict/back-pressure, and a process-level pressure signal that sheds **before** the allocator or OS gets involved โ€” turning the invisible failure into a managed one | -| 6 | [Cold tiering](databasev2/06-cold-tiering.md) | โฌœ the iteration that raises the ceiling, and the riskiest. Mostly forks: which shape, whether the index itself fits, whether the *language* surfaces the fault cost, and whether `@unique` on a cold table is refused outright. A paged B-tree stays rejected โ€” if tiering needs one, reject tiering | +| 6 | [Cold tiering](databasev2/06-cold-tiering.md) | โš  **largely superseded by 2** โ€” `resident: keys` took the ceiling-raising role; its user-space-working-set premise was rejected for the kernel page cache. Mostly forks: which shape, whether the index itself fits, whether the *language* surfaces the fault cost, and whether `@unique` on a cold table is refused outright. A paged B-tree stays rejected โ€” if tiering needs one, reject tiering | | 7 | [Single-file store](databasev2/07-single-file-db.md) *(was 33)* | โฌœ `WO_DATA=.db`; driver-only, independent | | 8 | [Query grammar from corpora](databasev2/08-query-grammar-corpus.md) *(was 27)* | โฌœ whole-query `count`, `exists`; independent | | 9 | [Cross-program tables](databasev2/09-cross-program-tables.md) *(was 20)* | โธ hold โ€” attach to a running program's database over local IPC | diff --git a/docs/stories/board-views.md b/docs/stories/board-views.md index bda9e01..474c8e0 100644 --- a/docs/stories/board-views.md +++ b/docs/stories/board-views.md @@ -7,7 +7,8 @@ is the source of truth**: --- track: porch # OMITTED on language-runtime-database stories iteration: "8" # immutable id, LOCAL TO ITS TRACK (string: "7b", "9b" exist) -status: in-progress # done | in-progress | refine | hold โ€” the ONLY place status lives +status: in-progress # done | in-progress | pending | hold โ€” where the WORK is +readiness: ready # ready | refine โ€” whether the DESIGN is settled chain: 1 # concurrency-chain position, chain stories only (1โ€“6) --- ``` @@ -19,10 +20,23 @@ there is nothing to move and nothing that can disagree. This replaced the change moved the file, which broke every relative link in and to it, and the repo's two link audits were largely the cleanup. -The closed set `status:` may take is `done`, `in-progress`, `refine` (needs -a brainstorm before it can be planned) and `hold`. A value outside it will -simply not appear in the lanes below, which is the cheapest possible -validation. The prose board ([`00-status.md`](00-status.md)) stays the +**Two axes, since 2026-08-27.** They are orthogonal and conflating them is +what `refine` used to do: + +- `status` โ€” where the WORK is: `done`, `in-progress`, `pending`, `hold`. +- `readiness` โ€” whether the DESIGN is settled: `ready` means the brainstorm is + complete and the decisions are LOCKED (a spec is approved, or the forks were + confirmed); `refine` means open forks remain and it cannot be planned yet. + +`status: refine` is retired. It meant both "not started" and "design not +settled", so a held iteration with an approved spec (language 18, 26) was +indistinguishable from one nobody had thought about. Those are now +`status: hold` + `readiness: ready`, and the genuinely unthought ones are +`readiness: refine`. A value outside either closed set simply will not appear +in the lanes below, which is the cheapest possible validation. + +**The useful query is `readiness: ready` + `status: pending`** โ€” design locked, +work not started. That is the startable set. The prose board ([`00-status.md`](00-status.md)) stays the standup narrative; these queries are the live views over the same facts. Adjust the `FROM` path to your vault root (queries below assume the @@ -109,3 +123,24 @@ FROM "docs/stories" WHERE iteration AND status != "done" GROUP BY track ``` + +## Startable: design locked, work not started + +The set to pick from. Anything here has its decisions made and needs no +brainstorm. + +```dataview +TABLE track, iteration +FROM "docs/stories" +WHERE readiness = "ready" AND status = "pending" +SORT track ASC, iteration ASC +``` + +## Needs a brainstorm before it can be planned + +```dataview +TABLE track, iteration, status +FROM "docs/stories" +WHERE readiness = "refine" +SORT track ASC, iteration ASC +``` diff --git a/docs/stories/databasev2/01-ram-ceiling-measurement.md b/docs/stories/databasev2/01-ram-ceiling-measurement.md index 4234194..17b47cc 100644 --- a/docs/stories/databasev2/01-ram-ceiling-measurement.md +++ b/docs/stories/databasev2/01-ram-ceiling-measurement.md @@ -1,7 +1,8 @@ --- track: databasev2 iteration: "1" -status: refine +status: pending +readiness: refine --- # databasev2 1 โ€” the RAM ceiling: measure the breaking point before designing for it diff --git a/docs/stories/databasev2/02-table-storage-modes.md b/docs/stories/databasev2/02-table-storage-modes.md index 95eeaa4..4c5f263 100644 --- a/docs/stories/databasev2/02-table-storage-modes.md +++ b/docs/stories/databasev2/02-table-storage-modes.md @@ -2,6 +2,7 @@ track: databasev2 iteration: "2" status: in-progress +readiness: ready --- # databasev2 2 โ€” per-table storage: `durable` and `resident` @@ -60,8 +61,8 @@ declared per-table policy. Durability is untouched and unconditional. | 4 | `durable: false` skips the WAL append and replay | โœ… `dd67e31` | | 5a | `wo_wal_next_offset` โ€” exact record offsets | โœ… `ac7d8af` | | 5b | `wo_wal_read_row_at` โ€” a row from a log offset | โœ… `d0c370c` | -| 5c | the idโ†’offset map + drop-payload-keep-index | โฌœ **not written up** | -| 5d | rewiring `wo_row_ptr`'s call sites, slab scans, `@unique`/FK across the boundary | โฌœ not written up | +| 5c | shared borrow/release accessor, then idโ†’offset storage | ๐Ÿ”„ step 1 โœ… `2e347de` (pure refactor, `db-bench --quick` 85/0); offset storage next | +| 5d | rewire the readers: remaining `wo_row_ptr` sites (6 table.c, 2 db.c, 2 wal.c), slab scans, FK restrict, `@unique` across the boundary | โฌœ scope recorded | | 6 | the two runtime refusals (no-`WO_DATA`, the byte budget) | โฌœ | | 7 | measure, gate, document, close out | โฌœ | diff --git a/docs/stories/databasev2/03-wal-checkpoint.md b/docs/stories/databasev2/03-wal-checkpoint.md index 2581214..c93b0bc 100644 --- a/docs/stories/databasev2/03-wal-checkpoint.md +++ b/docs/stories/databasev2/03-wal-checkpoint.md @@ -2,7 +2,8 @@ track: databasev2 iteration: "3" was_language_iteration: "32" -status: refine +status: pending +readiness: refine chain: 6 --- diff --git a/docs/stories/databasev2/04-io-uring-commit.md b/docs/stories/databasev2/04-io-uring-commit.md index 28d7c31..a0fe26f 100644 --- a/docs/stories/databasev2/04-io-uring-commit.md +++ b/docs/stories/databasev2/04-io-uring-commit.md @@ -2,7 +2,8 @@ track: databasev2 iteration: "4" was_language_iteration: "23" -status: refine +status: pending +readiness: ready chain: 5 --- diff --git a/docs/stories/databasev2/05-bounded-tables-eviction.md b/docs/stories/databasev2/05-bounded-tables-eviction.md index dc5010a..22b6c7d 100644 --- a/docs/stories/databasev2/05-bounded-tables-eviction.md +++ b/docs/stories/databasev2/05-bounded-tables-eviction.md @@ -1,7 +1,8 @@ --- track: databasev2 iteration: "5" -status: refine +status: pending +readiness: refine --- # databasev2 5 โ€” bounded tables and eviction: a declared budget, and back-pressure before the cliff diff --git a/docs/stories/databasev2/06-cold-tiering.md b/docs/stories/databasev2/06-cold-tiering.md index cd4a27a..3b21194 100644 --- a/docs/stories/databasev2/06-cold-tiering.md +++ b/docs/stories/databasev2/06-cold-tiering.md @@ -1,7 +1,8 @@ --- track: databasev2 iteration: "6" -status: refine +status: pending +readiness: refine --- # databasev2 6 โ€” cold tiering: rows that leave RAM and come back diff --git a/docs/stories/databasev2/07-single-file-db.md b/docs/stories/databasev2/07-single-file-db.md index 07854d8..0c83ecc 100644 --- a/docs/stories/databasev2/07-single-file-db.md +++ b/docs/stories/databasev2/07-single-file-db.md @@ -2,7 +2,8 @@ track: databasev2 iteration: "7" was_language_iteration: "33" -status: refine +status: pending +readiness: refine --- # databasev2 7 โ€” `WO_DATA=.db`: the persistent store as one file diff --git a/docs/stories/databasev2/08-query-grammar-corpus.md b/docs/stories/databasev2/08-query-grammar-corpus.md index 4c5a35c..3629367 100644 --- a/docs/stories/databasev2/08-query-grammar-corpus.md +++ b/docs/stories/databasev2/08-query-grammar-corpus.md @@ -3,6 +3,7 @@ track: databasev2 iteration: "8" was_language_iteration: "27" status: hold +readiness: refine --- # databasev2 8 โ€” query grammar, driven by real embedded-DB corpora diff --git a/docs/stories/databasev2/09-cross-program-tables.md b/docs/stories/databasev2/09-cross-program-tables.md index 23add85..d485f3b 100644 --- a/docs/stories/databasev2/09-cross-program-tables.md +++ b/docs/stories/databasev2/09-cross-program-tables.md @@ -3,6 +3,7 @@ track: databasev2 iteration: "9" was_language_iteration: "20" status: hold +readiness: refine --- # databasev2 9 โ€” cross-program tables: attach to a running program's database diff --git a/docs/stories/databasev2/10-keypair-attach-auth.md b/docs/stories/databasev2/10-keypair-attach-auth.md index fe2d960..3c8aaa8 100644 --- a/docs/stories/databasev2/10-keypair-attach-auth.md +++ b/docs/stories/databasev2/10-keypair-attach-auth.md @@ -3,6 +3,7 @@ track: databasev2 iteration: "10" was_language_iteration: "21" status: hold +readiness: refine --- # databasev2 10 โ€” keypair authentication for cross-program attach diff --git a/docs/stories/language-runtime-database/01-principles-doc.md b/docs/stories/language-runtime-database/01-principles-doc.md index e13c66a..44d4be1 100644 --- a/docs/stories/language-runtime-database/01-principles-doc.md +++ b/docs/stories/language-runtime-database/01-principles-doc.md @@ -1,6 +1,7 @@ --- iteration: "1" status: done +readiness: ready --- # Iteration 1 โ€” the principles doc diff --git a/docs/stories/language-runtime-database/02-vm-core.md b/docs/stories/language-runtime-database/02-vm-core.md index 3e57d1a..928e354 100644 --- a/docs/stories/language-runtime-database/02-vm-core.md +++ b/docs/stories/language-runtime-database/02-vm-core.md @@ -1,6 +1,7 @@ --- iteration: "2" status: done +readiness: ready --- # Iteration 2 โ€” VM core (`wovm`) diff --git a/docs/stories/language-runtime-database/03-compiler-front.md b/docs/stories/language-runtime-database/03-compiler-front.md index 606257a..c58fc48 100644 --- a/docs/stories/language-runtime-database/03-compiler-front.md +++ b/docs/stories/language-runtime-database/03-compiler-front.md @@ -1,6 +1,7 @@ --- iteration: "3" status: done +readiness: ready --- # Iteration 3 โ€” compiler front (`woc`) diff --git a/docs/stories/language-runtime-database/04-single-binary-e2e.md b/docs/stories/language-runtime-database/04-single-binary-e2e.md index 3dc6c33..2e0caa4 100644 --- a/docs/stories/language-runtime-database/04-single-binary-e2e.md +++ b/docs/stories/language-runtime-database/04-single-binary-e2e.md @@ -1,6 +1,7 @@ --- iteration: "4" status: done +readiness: ready --- # Iteration 4 โ€” single binary end-to-end diff --git a/docs/stories/language-runtime-database/05-language-surface.md b/docs/stories/language-runtime-database/05-language-surface.md index fff573e..ea646c1 100644 --- a/docs/stories/language-runtime-database/05-language-surface.md +++ b/docs/stories/language-runtime-database/05-language-surface.md @@ -1,6 +1,7 @@ --- iteration: "5" status: done +readiness: ready --- # Iteration 5 โ€” language surface (Haxe-parity adoptions) diff --git a/docs/stories/language-runtime-database/06-program-mode-stdlib.md b/docs/stories/language-runtime-database/06-program-mode-stdlib.md index 46b80b9..357f711 100644 --- a/docs/stories/language-runtime-database/06-program-mode-stdlib.md +++ b/docs/stories/language-runtime-database/06-program-mode-stdlib.md @@ -1,6 +1,7 @@ --- iteration: "6" status: done +readiness: ready --- # Iteration 6 โ€” program mode + systems stdlib diff --git a/docs/stories/language-runtime-database/07-logwatcher-proof.md b/docs/stories/language-runtime-database/07-logwatcher-proof.md index 9c9d0af..180cd46 100644 --- a/docs/stories/language-runtime-database/07-logwatcher-proof.md +++ b/docs/stories/language-runtime-database/07-logwatcher-proof.md @@ -1,6 +1,7 @@ --- iteration: "7" status: done +readiness: ready --- # Iteration 7 โ€” log-watcher proof workload diff --git a/docs/stories/language-runtime-database/07b-inferred-gc-mark-sweep.md b/docs/stories/language-runtime-database/07b-inferred-gc-mark-sweep.md index 7f1bd9c..ef2f250 100644 --- a/docs/stories/language-runtime-database/07b-inferred-gc-mark-sweep.md +++ b/docs/stories/language-runtime-database/07b-inferred-gc-mark-sweep.md @@ -1,6 +1,7 @@ --- iteration: "7b" status: done +readiness: ready --- # Iteration 7b โ€” inferred GC + incremental mark-sweep diff --git a/docs/stories/language-runtime-database/08-shard-actor-runtime.md b/docs/stories/language-runtime-database/08-shard-actor-runtime.md index 36d1358..874f822 100644 --- a/docs/stories/language-runtime-database/08-shard-actor-runtime.md +++ b/docs/stories/language-runtime-database/08-shard-actor-runtime.md @@ -1,6 +1,7 @@ --- iteration: "8" status: done +readiness: ready chain: 1 --- diff --git a/docs/stories/language-runtime-database/09-database-engine.md b/docs/stories/language-runtime-database/09-database-engine.md index 5206ce0..48708ec 100644 --- a/docs/stories/language-runtime-database/09-database-engine.md +++ b/docs/stories/language-runtime-database/09-database-engine.md @@ -1,6 +1,7 @@ --- iteration: "9" status: done +readiness: ready --- # Iteration 9 โ€” database engine diff --git a/docs/stories/language-runtime-database/09b-table-relations-query.md b/docs/stories/language-runtime-database/09b-table-relations-query.md index 3611f0a..3ccb945 100644 --- a/docs/stories/language-runtime-database/09b-table-relations-query.md +++ b/docs/stories/language-runtime-database/09b-table-relations-query.md @@ -1,6 +1,7 @@ --- iteration: "9b" status: done +readiness: ready --- # Iteration 9b โ€” `@table`, relations, and language-integrated query diff --git a/docs/stories/language-runtime-database/11-fibers.md b/docs/stories/language-runtime-database/11-fibers.md index 8fdcc66..4d69802 100644 --- a/docs/stories/language-runtime-database/11-fibers.md +++ b/docs/stories/language-runtime-database/11-fibers.md @@ -1,6 +1,7 @@ --- iteration: "11" status: done +readiness: ready chain: 1 --- diff --git a/docs/stories/language-runtime-database/15-deps-package-manager.md b/docs/stories/language-runtime-database/15-deps-package-manager.md index 30eb122..4090135 100644 --- a/docs/stories/language-runtime-database/15-deps-package-manager.md +++ b/docs/stories/language-runtime-database/15-deps-package-manager.md @@ -1,6 +1,7 @@ --- iteration: "15" status: done +readiness: ready --- # Iteration 15 โ€” dependencies: `wo.toml [deps]`, git fetch, `wo.lock` diff --git a/docs/stories/language-runtime-database/16-web-framework.md b/docs/stories/language-runtime-database/16-web-framework.md index cbcdf81..80f3a1c 100644 --- a/docs/stories/language-runtime-database/16-web-framework.md +++ b/docs/stories/language-runtime-database/16-web-framework.md @@ -1,6 +1,7 @@ --- iteration: "16" status: done +readiness: ready --- # Iteration 16 โ€” the web framework: a `.wo` library, HTTP/1.1 behind a proxy diff --git a/docs/stories/language-runtime-database/17-library-projects-internal.md b/docs/stories/language-runtime-database/17-library-projects-internal.md index ce92a4c..aecbb28 100644 --- a/docs/stories/language-runtime-database/17-library-projects-internal.md +++ b/docs/stories/language-runtime-database/17-library-projects-internal.md @@ -1,6 +1,7 @@ --- iteration: "17" status: done +readiness: ready --- # Iteration 17 โ€” library projects and dependency privacy (`kind`, `internal/`) diff --git a/docs/stories/language-runtime-database/18-memory-db-features.md b/docs/stories/language-runtime-database/18-memory-db-features.md index c193f24..d3c8d54 100644 --- a/docs/stories/language-runtime-database/18-memory-db-features.md +++ b/docs/stories/language-runtime-database/18-memory-db-features.md @@ -1,6 +1,7 @@ --- iteration: "18" status: hold +readiness: ready --- # Iteration 18 โ€” framework v2: memory-rich features over the embedded database diff --git a/docs/stories/language-runtime-database/19-missing-scalar-types.md b/docs/stories/language-runtime-database/19-missing-scalar-types.md index e0656c4..42eaccf 100644 --- a/docs/stories/language-runtime-database/19-missing-scalar-types.md +++ b/docs/stories/language-runtime-database/19-missing-scalar-types.md @@ -1,6 +1,7 @@ --- iteration: "19" status: done +readiness: ready --- # Iteration 19 โ€” the missing scalar types: Float and Bytes diff --git a/docs/stories/language-runtime-database/22-durability-throughput-scale.md b/docs/stories/language-runtime-database/22-durability-throughput-scale.md index e54bf9e..5062b33 100644 --- a/docs/stories/language-runtime-database/22-durability-throughput-scale.md +++ b/docs/stories/language-runtime-database/22-durability-throughput-scale.md @@ -1,6 +1,7 @@ --- iteration: "22" status: done +readiness: ready chain: 2 --- diff --git a/docs/stories/language-runtime-database/24-chat-websocket-workload.md b/docs/stories/language-runtime-database/24-chat-websocket-workload.md index 193f1c6..e29a10e 100644 --- a/docs/stories/language-runtime-database/24-chat-websocket-workload.md +++ b/docs/stories/language-runtime-database/24-chat-websocket-workload.md @@ -1,6 +1,7 @@ --- iteration: "24" status: in-progress +readiness: ready chain: 4 --- diff --git a/docs/stories/language-runtime-database/26-blue-green-deploy.md b/docs/stories/language-runtime-database/26-blue-green-deploy.md index 5601c1c..31c1b09 100644 --- a/docs/stories/language-runtime-database/26-blue-green-deploy.md +++ b/docs/stories/language-runtime-database/26-blue-green-deploy.md @@ -1,6 +1,7 @@ --- iteration: "26" status: hold +readiness: ready --- # Iteration 26 โ€” blue-green in-runtime deployment diff --git a/docs/stories/language-runtime-database/28-skillhost-host-workload.md b/docs/stories/language-runtime-database/28-skillhost-host-workload.md index d376597..0a3ef89 100644 --- a/docs/stories/language-runtime-database/28-skillhost-host-workload.md +++ b/docs/stories/language-runtime-database/28-skillhost-host-workload.md @@ -1,6 +1,7 @@ --- iteration: "28" status: hold +readiness: refine --- # Iteration 28 โ€” skillhost: a host-shaped workload, and the capability gaps it exposes diff --git a/docs/stories/language-runtime-database/29-compile-time-metaprogramming.md b/docs/stories/language-runtime-database/29-compile-time-metaprogramming.md index 826da92..3f11168 100644 --- a/docs/stories/language-runtime-database/29-compile-time-metaprogramming.md +++ b/docs/stories/language-runtime-database/29-compile-time-metaprogramming.md @@ -1,6 +1,7 @@ --- iteration: "29" status: hold +readiness: refine --- # Iteration 29 โ€” compile-time metaprogramming (derive from the class table) diff --git a/docs/stories/language-runtime-database/31-actor-lifecycle.md b/docs/stories/language-runtime-database/31-actor-lifecycle.md index c79f6d5..343b773 100644 --- a/docs/stories/language-runtime-database/31-actor-lifecycle.md +++ b/docs/stories/language-runtime-database/31-actor-lifecycle.md @@ -1,6 +1,7 @@ --- iteration: "31" -status: refine +status: in-progress +readiness: ready chain: 3 --- diff --git a/docs/stories/language-runtime-database/34-crypto-builtins.md b/docs/stories/language-runtime-database/34-crypto-builtins.md index 2a8b32a..54a7488 100644 --- a/docs/stories/language-runtime-database/34-crypto-builtins.md +++ b/docs/stories/language-runtime-database/34-crypto-builtins.md @@ -1,6 +1,7 @@ --- iteration: "34" -status: refine +status: in-progress +readiness: ready --- # Iteration 34 โ€” crypto builtins: digests and HMAC in the runtime diff --git a/docs/stories/language-runtime-database/35-net-runtime-seams.md b/docs/stories/language-runtime-database/35-net-runtime-seams.md index d45db55..1f02f8b 100644 --- a/docs/stories/language-runtime-database/35-net-runtime-seams.md +++ b/docs/stories/language-runtime-database/35-net-runtime-seams.md @@ -1,6 +1,7 @@ --- iteration: "35" status: done +readiness: ready --- # Iteration 35 โ€” `net` runtime seams: timeouts, Unix sockets, peer address diff --git a/docs/stories/language-runtime-database/36-operator-parity.md b/docs/stories/language-runtime-database/36-operator-parity.md index 42d7cfb..3f1e49a 100644 --- a/docs/stories/language-runtime-database/36-operator-parity.md +++ b/docs/stories/language-runtime-database/36-operator-parity.md @@ -1,6 +1,7 @@ --- iteration: "36" status: in-progress +readiness: ready --- # Iteration 36 โ€” operator parity: `not`, bitwise, hex literals, compound assigns diff --git a/docs/stories/language-runtime-database/37-wo-html-components.md b/docs/stories/language-runtime-database/37-wo-html-components.md index fb0ffb0..cde9b91 100644 --- a/docs/stories/language-runtime-database/37-wo-html-components.md +++ b/docs/stories/language-runtime-database/37-wo-html-components.md @@ -1,6 +1,7 @@ --- iteration: "37" status: done +readiness: ready --- # Iteration 37 โ€” wo-html components: an MVC-shaped view layer (Angular's format, studied) diff --git a/docs/stories/language-runtime-database/38-content-platform-capabilities.md b/docs/stories/language-runtime-database/38-content-platform-capabilities.md index 86d90fc..077ccdb 100644 --- a/docs/stories/language-runtime-database/38-content-platform-capabilities.md +++ b/docs/stories/language-runtime-database/38-content-platform-capabilities.md @@ -1,6 +1,7 @@ --- iteration: "38" -status: refine +status: pending +readiness: refine --- # Iteration 38 โ€” content collaboration workload: the file-mutation and outbound-socket gaps diff --git a/docs/stories/language-runtime-database/39-web-framework-parity.md b/docs/stories/language-runtime-database/39-web-framework-parity.md index f4c2396..7412c3a 100644 --- a/docs/stories/language-runtime-database/39-web-framework-parity.md +++ b/docs/stories/language-runtime-database/39-web-framework-parity.md @@ -1,6 +1,7 @@ --- iteration: "39" status: hold +readiness: refine --- # Iteration 39 โ€” web framework parity *(superseded by the porch track)* diff --git a/docs/stories/porch/01-store-backed-middleware.md b/docs/stories/porch/01-store-backed-middleware.md index 6e719f3..3b892b1 100644 --- a/docs/stories/porch/01-store-backed-middleware.md +++ b/docs/stories/porch/01-store-backed-middleware.md @@ -1,7 +1,8 @@ --- track: porch iteration: "1" -status: refine +status: pending +readiness: refine --- # porch 1 โ€” store-backed middleware: rate limiting and idempotency diff --git a/docs/stories/porch/02-randomness-and-cookies.md b/docs/stories/porch/02-randomness-and-cookies.md index be0dac8..1ce4711 100644 --- a/docs/stories/porch/02-randomness-and-cookies.md +++ b/docs/stories/porch/02-randomness-and-cookies.md @@ -1,7 +1,8 @@ --- track: porch iteration: "2" -status: refine +status: pending +readiness: refine --- # porch 2 โ€” randomness and cookies: the foundation three iterations stand on diff --git a/docs/stories/porch/03-sessions.md b/docs/stories/porch/03-sessions.md index 59d4b61..266a20e 100644 --- a/docs/stories/porch/03-sessions.md +++ b/docs/stories/porch/03-sessions.md @@ -1,7 +1,8 @@ --- track: porch iteration: "3" -status: refine +status: pending +readiness: refine --- # porch 3 โ€” sessions: server-side state, revocable, durable diff --git a/docs/stories/porch/04-csrf.md b/docs/stories/porch/04-csrf.md index d7f19ae..09587b3 100644 --- a/docs/stories/porch/04-csrf.md +++ b/docs/stories/porch/04-csrf.md @@ -1,7 +1,8 @@ --- track: porch iteration: "4" -status: refine +status: pending +readiness: refine --- # porch 4 โ€” CSRF: tokens that are unguessable, bound, and spendable once diff --git a/docs/stories/porch/05-routing-response-ergonomics.md b/docs/stories/porch/05-routing-response-ergonomics.md index 6535e2f..37245f5 100644 --- a/docs/stories/porch/05-routing-response-ergonomics.md +++ b/docs/stories/porch/05-routing-response-ergonomics.md @@ -1,7 +1,8 @@ --- track: porch iteration: "5" -status: refine +status: pending +readiness: refine --- # porch 5 โ€” routing and response ergonomics: the parity that is merely missing diff --git a/docs/stories/porch/06-streaming-core.md b/docs/stories/porch/06-streaming-core.md index 1002619..417ed6e 100644 --- a/docs/stories/porch/06-streaming-core.md +++ b/docs/stories/porch/06-streaming-core.md @@ -1,7 +1,8 @@ --- track: porch iteration: "6" -status: refine +status: pending +readiness: refine --- # porch 6 โ€” streaming core: the seam three iterations wait on diff --git a/docs/stories/porch/07-sse-and-compression.md b/docs/stories/porch/07-sse-and-compression.md index 8518694..5616446 100644 --- a/docs/stories/porch/07-sse-and-compression.md +++ b/docs/stories/porch/07-sse-and-compression.md @@ -1,7 +1,8 @@ --- track: porch iteration: "7" -status: refine +status: pending +readiness: refine --- # porch 7 โ€” server-sent events and compression diff --git a/docs/stories/porch/08-static-and-lifecycle.md b/docs/stories/porch/08-static-and-lifecycle.md index 40e8e7b..92e95c2 100644 --- a/docs/stories/porch/08-static-and-lifecycle.md +++ b/docs/stories/porch/08-static-and-lifecycle.md @@ -1,7 +1,8 @@ --- track: porch iteration: "8" -status: refine +status: pending +readiness: refine --- # porch 8 โ€” static files, lifecycle hooks, and the small middleware everyone ships