From ca2ed96e49c4dfa6a6bb41f0f042f39ed9efc1d0 Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Fri, 21 Aug 2026 12:17:50 +0200 Subject: [PATCH] docs: story frontmatter + Dataview board views MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 28 story files gain YAML frontmatter: iteration id, status (mirrors folder), chain position (7 files, positions 1-6) - board-views.md: Dataview queries (not-done, by-status lanes, chain order, active); Kanban caveat โ€” view only, frontmatter is source of truth, folder move + status key change together - board points at the views Co-Authored-By: Claude Fable 5 --- docs/stories/00-status.md | 4 ++ docs/stories/board-views.md | 66 +++++++++++++++++++ .../done/01-principles-doc.md | 5 ++ .../done/02-vm-core.md | 5 ++ .../done/03-compiler-front.md | 5 ++ .../done/04-single-binary-e2e.md | 5 ++ .../done/05-language-surface.md | 5 ++ .../done/06-program-mode-stdlib.md | 5 ++ .../done/07-logwatcher-proof.md | 5 ++ .../done/07b-inferred-gc-mark-sweep.md | 5 ++ .../done/09-database-engine.md | 5 ++ .../done/09b-table-relations-query.md | 5 ++ .../done/15-deps-package-manager.md | 5 ++ .../done/16-web-framework.md | 5 ++ .../done/17-library-projects-internal.md | 5 ++ .../done/19-missing-scalar-types.md | 5 ++ .../hold/18-memory-db-features.md | 5 ++ .../hold/20-cross-program-tables.md | 5 ++ .../hold/21-keypair-attach-auth.md | 5 ++ .../hold/26-blue-green-deploy.md | 5 ++ .../hold/27-query-grammar-corpus.md | 5 ++ .../hold/28-skillhost-host-workload.md | 5 ++ .../hold/29-compile-time-metaprogramming.md | 5 ++ .../in-progress/08-shard-actor-runtime.md | 6 ++ .../in-progress/11-fibers.md | 6 ++ .../refine/22-durability-throughput-scale.md | 6 ++ .../refine/23-io-uring-commit.md | 6 ++ .../refine/24-chat-websocket-workload.md | 6 ++ .../refine/31-actor-lifecycle.md | 6 ++ .../refine/32-wal-checkpoint.md | 6 ++ 30 files changed, 217 insertions(+) create mode 100644 docs/stories/board-views.md diff --git a/docs/stories/00-status.md b/docs/stories/00-status.md index 443939a..0aae6ab 100644 --- a/docs/stories/00-status.md +++ b/docs/stories/00-status.md @@ -26,6 +26,10 @@ rejection in [`discarded.md`](../plan/discarded.md) with its reason. Statuses: โœ… **done** ยท ๐Ÿ”„ **in progress** ยท โฌœ **pending** ยท โธ **hold** +Story files carry YAML frontmatter (`iteration`/`status`/`chain`) โ€” the +machine-readable truth behind this board; live Obsidian Dataview views: +[`board-views.md`](board-views.md) (Kanban = view only, never edits status). + --- ## โ–ถ NEXT PLAN diff --git a/docs/stories/board-views.md b/docs/stories/board-views.md new file mode 100644 index 0000000..604a7e1 --- /dev/null +++ b/docs/stories/board-views.md @@ -0,0 +1,66 @@ +# Live board views (Obsidian Dataview) + +Every story iteration file carries YAML frontmatter โ€” **the frontmatter +is the source of truth**: + +```yaml +--- +iteration: "8" # immutable id (string: "7b", "9b" exist) +status: in-progress # done | in-progress | refine | hold โ€” mirrors its folder +chain: 1 # concurrency-chain position, chain stories only (1โ€“6) +--- +``` + +The folder move IS the status change: moving a story between `done/`, +`in-progress/`, `refine/`, `hold/` must update its `status:` in the same +change โ€” the two never disagree. 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 +vault opens at the repo root). + +## Everything not done, chain order first + +```dataview +TABLE iteration, status, chain +FROM "docs/stories/language-runtime-database" +WHERE status != "done" +SORT chain ASC, iteration ASC +``` + +## Grouped by status (the kanban lanes, as data) + +```dataview +TABLE rows.file.link AS story, rows.iteration AS iteration +FROM "docs/stories/language-runtime-database" +WHERE status != "done" +GROUP BY status +``` + +## The concurrency chain, in execution order + +```dataview +TABLE iteration, status +FROM "docs/stories/language-runtime-database" +WHERE chain +SORT chain ASC +``` + +## Active right now + +```dataview +LIST +FROM "docs/stories/language-runtime-database" +WHERE status = "in-progress" +``` + +## Kanban caveat + +The Kanban plugin stores board state in its own markdown file โ€” a +second copy of status. To keep frontmatter the single source of truth: +**use Dataview for querying; treat any Kanban board as a VIEW, never +the place status is edited.** Status changes happen by moving the story +file between folders + updating its `status:` key (one commit); a +Kanban card drag that only rewrites the Kanban file is a lie the next +query won't see. diff --git a/docs/stories/language-runtime-database/done/01-principles-doc.md b/docs/stories/language-runtime-database/done/01-principles-doc.md index 2ee217e..96222c3 100644 --- a/docs/stories/language-runtime-database/done/01-principles-doc.md +++ b/docs/stories/language-runtime-database/done/01-principles-doc.md @@ -1,3 +1,8 @@ +--- +iteration: "1" +status: done +--- + # Iteration 1 โ€” the principles doc > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/02-vm-core.md b/docs/stories/language-runtime-database/done/02-vm-core.md index ae90743..6ee7b10 100644 --- a/docs/stories/language-runtime-database/done/02-vm-core.md +++ b/docs/stories/language-runtime-database/done/02-vm-core.md @@ -1,3 +1,8 @@ +--- +iteration: "2" +status: done +--- + # Iteration 2 โ€” VM core (`wovm`) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/03-compiler-front.md b/docs/stories/language-runtime-database/done/03-compiler-front.md index 262970a..e73dc64 100644 --- a/docs/stories/language-runtime-database/done/03-compiler-front.md +++ b/docs/stories/language-runtime-database/done/03-compiler-front.md @@ -1,3 +1,8 @@ +--- +iteration: "3" +status: done +--- + # Iteration 3 โ€” compiler front (`woc`) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/04-single-binary-e2e.md b/docs/stories/language-runtime-database/done/04-single-binary-e2e.md index 9551338..e45769a 100644 --- a/docs/stories/language-runtime-database/done/04-single-binary-e2e.md +++ b/docs/stories/language-runtime-database/done/04-single-binary-e2e.md @@ -1,3 +1,8 @@ +--- +iteration: "4" +status: done +--- + # Iteration 4 โ€” single binary end-to-end > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/05-language-surface.md b/docs/stories/language-runtime-database/done/05-language-surface.md index a41212a..8ff1a38 100644 --- a/docs/stories/language-runtime-database/done/05-language-surface.md +++ b/docs/stories/language-runtime-database/done/05-language-surface.md @@ -1,3 +1,8 @@ +--- +iteration: "5" +status: done +--- + # Iteration 5 โ€” language surface (Haxe-parity adoptions) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/06-program-mode-stdlib.md b/docs/stories/language-runtime-database/done/06-program-mode-stdlib.md index e9f843e..eb34aa2 100644 --- a/docs/stories/language-runtime-database/done/06-program-mode-stdlib.md +++ b/docs/stories/language-runtime-database/done/06-program-mode-stdlib.md @@ -1,3 +1,8 @@ +--- +iteration: "6" +status: done +--- + # Iteration 6 โ€” program mode + systems stdlib > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/07-logwatcher-proof.md b/docs/stories/language-runtime-database/done/07-logwatcher-proof.md index 6221e0e..583940b 100644 --- a/docs/stories/language-runtime-database/done/07-logwatcher-proof.md +++ b/docs/stories/language-runtime-database/done/07-logwatcher-proof.md @@ -1,3 +1,8 @@ +--- +iteration: "7" +status: done +--- + # Iteration 7 โ€” log-watcher proof workload > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/07b-inferred-gc-mark-sweep.md b/docs/stories/language-runtime-database/done/07b-inferred-gc-mark-sweep.md index e0a8755..0209b2b 100644 --- a/docs/stories/language-runtime-database/done/07b-inferred-gc-mark-sweep.md +++ b/docs/stories/language-runtime-database/done/07b-inferred-gc-mark-sweep.md @@ -1,3 +1,8 @@ +--- +iteration: "7b" +status: done +--- + # Iteration 7b โ€” inferred GC + incremental mark-sweep > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/09-database-engine.md b/docs/stories/language-runtime-database/done/09-database-engine.md index 2a0eb1d..051f94e 100644 --- a/docs/stories/language-runtime-database/done/09-database-engine.md +++ b/docs/stories/language-runtime-database/done/09-database-engine.md @@ -1,3 +1,8 @@ +--- +iteration: "9" +status: done +--- + # Iteration 9 โ€” database engine > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/09b-table-relations-query.md b/docs/stories/language-runtime-database/done/09b-table-relations-query.md index f7cc480..3f5b9e3 100644 --- a/docs/stories/language-runtime-database/done/09b-table-relations-query.md +++ b/docs/stories/language-runtime-database/done/09b-table-relations-query.md @@ -1,3 +1,8 @@ +--- +iteration: "9b" +status: done +--- + # Iteration 9b โ€” `@table`, relations, and language-integrated query > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/15-deps-package-manager.md b/docs/stories/language-runtime-database/done/15-deps-package-manager.md index c275817..7fb2d09 100644 --- a/docs/stories/language-runtime-database/done/15-deps-package-manager.md +++ b/docs/stories/language-runtime-database/done/15-deps-package-manager.md @@ -1,3 +1,8 @@ +--- +iteration: "15" +status: done +--- + # Iteration 15 โ€” dependencies: `wo.toml [deps]`, git fetch, `wo.lock` > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/16-web-framework.md b/docs/stories/language-runtime-database/done/16-web-framework.md index 45d04db..db35cd3 100644 --- a/docs/stories/language-runtime-database/done/16-web-framework.md +++ b/docs/stories/language-runtime-database/done/16-web-framework.md @@ -1,3 +1,8 @@ +--- +iteration: "16" +status: done +--- + # Iteration 16 โ€” the web framework: a `.wo` library, HTTP/1.1 behind a proxy > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/17-library-projects-internal.md b/docs/stories/language-runtime-database/done/17-library-projects-internal.md index 5ad09d0..f359bee 100644 --- a/docs/stories/language-runtime-database/done/17-library-projects-internal.md +++ b/docs/stories/language-runtime-database/done/17-library-projects-internal.md @@ -1,3 +1,8 @@ +--- +iteration: "17" +status: done +--- + # Iteration 17 โ€” library projects and dependency privacy (`kind`, `internal/`) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/done/19-missing-scalar-types.md b/docs/stories/language-runtime-database/done/19-missing-scalar-types.md index 1534af5..0853efa 100644 --- a/docs/stories/language-runtime-database/done/19-missing-scalar-types.md +++ b/docs/stories/language-runtime-database/done/19-missing-scalar-types.md @@ -1,3 +1,8 @@ +--- +iteration: "19" +status: done +--- + # Iteration 19 โ€” the missing scalar types: Float and Bytes > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/18-memory-db-features.md b/docs/stories/language-runtime-database/hold/18-memory-db-features.md index a308de8..d1b51ba 100644 --- a/docs/stories/language-runtime-database/hold/18-memory-db-features.md +++ b/docs/stories/language-runtime-database/hold/18-memory-db-features.md @@ -1,3 +1,8 @@ +--- +iteration: "18" +status: hold +--- + # Iteration 18 โ€” framework v2: memory-rich features over the embedded database > **Scope label (2026-08-20): this iteration is FRAMEWORK V2.** Framework diff --git a/docs/stories/language-runtime-database/hold/20-cross-program-tables.md b/docs/stories/language-runtime-database/hold/20-cross-program-tables.md index 20c5263..490d986 100644 --- a/docs/stories/language-runtime-database/hold/20-cross-program-tables.md +++ b/docs/stories/language-runtime-database/hold/20-cross-program-tables.md @@ -1,3 +1,8 @@ +--- +iteration: "20" +status: hold +--- + # Iteration 20 โ€” cross-program tables: attach to a running program's database > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/21-keypair-attach-auth.md b/docs/stories/language-runtime-database/hold/21-keypair-attach-auth.md index 3c8a37a..c0c76ba 100644 --- a/docs/stories/language-runtime-database/hold/21-keypair-attach-auth.md +++ b/docs/stories/language-runtime-database/hold/21-keypair-attach-auth.md @@ -1,3 +1,8 @@ +--- +iteration: "21" +status: hold +--- + # Iteration 21 โ€” keypair authentication for cross-program attach > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/26-blue-green-deploy.md b/docs/stories/language-runtime-database/hold/26-blue-green-deploy.md index 4c4e6ee..5601c1c 100644 --- a/docs/stories/language-runtime-database/hold/26-blue-green-deploy.md +++ b/docs/stories/language-runtime-database/hold/26-blue-green-deploy.md @@ -1,3 +1,8 @@ +--- +iteration: "26" +status: hold +--- + # Iteration 26 โ€” blue-green in-runtime deployment > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/27-query-grammar-corpus.md b/docs/stories/language-runtime-database/hold/27-query-grammar-corpus.md index 5daa19b..d38ffa4 100644 --- a/docs/stories/language-runtime-database/hold/27-query-grammar-corpus.md +++ b/docs/stories/language-runtime-database/hold/27-query-grammar-corpus.md @@ -1,3 +1,8 @@ +--- +iteration: "27" +status: hold +--- + # Iteration 27 โ€” query grammar, driven by real embedded-DB corpora > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/28-skillhost-host-workload.md b/docs/stories/language-runtime-database/hold/28-skillhost-host-workload.md index 9ad391e..6f62ae5 100644 --- a/docs/stories/language-runtime-database/hold/28-skillhost-host-workload.md +++ b/docs/stories/language-runtime-database/hold/28-skillhost-host-workload.md @@ -1,3 +1,8 @@ +--- +iteration: "28" +status: hold +--- + # Iteration 28 โ€” skillhost: a host-shaped workload, and the capability gaps it exposes > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/hold/29-compile-time-metaprogramming.md b/docs/stories/language-runtime-database/hold/29-compile-time-metaprogramming.md index 1143910..f93d1ac 100644 --- a/docs/stories/language-runtime-database/hold/29-compile-time-metaprogramming.md +++ b/docs/stories/language-runtime-database/hold/29-compile-time-metaprogramming.md @@ -1,3 +1,8 @@ +--- +iteration: "29" +status: hold +--- + # Iteration 29 โ€” compile-time metaprogramming (derive from the class table) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/in-progress/08-shard-actor-runtime.md b/docs/stories/language-runtime-database/in-progress/08-shard-actor-runtime.md index e663472..74f13e3 100644 --- a/docs/stories/language-runtime-database/in-progress/08-shard-actor-runtime.md +++ b/docs/stories/language-runtime-database/in-progress/08-shard-actor-runtime.md @@ -1,3 +1,9 @@ +--- +iteration: "8" +status: in-progress +chain: 1 +--- + # Iteration 8 โ€” shard-actor runtime (the 8+11 concurrency arc, part 1) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/in-progress/11-fibers.md b/docs/stories/language-runtime-database/in-progress/11-fibers.md index 19e009b..3cd1491 100644 --- a/docs/stories/language-runtime-database/in-progress/11-fibers.md +++ b/docs/stories/language-runtime-database/in-progress/11-fibers.md @@ -1,3 +1,9 @@ +--- +iteration: "11" +status: in-progress +chain: 1 +--- + # Iteration 11 โ€” fibers (the 8+11 concurrency arc, part 2) > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/refine/22-durability-throughput-scale.md b/docs/stories/language-runtime-database/refine/22-durability-throughput-scale.md index 4dae9aa..be9a9db 100644 --- a/docs/stories/language-runtime-database/refine/22-durability-throughput-scale.md +++ b/docs/stories/language-runtime-database/refine/22-durability-throughput-scale.md @@ -1,3 +1,9 @@ +--- +iteration: "22" +status: refine +chain: 2 +--- + # Iteration 22 โ€” durability proof, throughput, and scale under load > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/refine/23-io-uring-commit.md b/docs/stories/language-runtime-database/refine/23-io-uring-commit.md index 6d4d72f..d4fa402 100644 --- a/docs/stories/language-runtime-database/refine/23-io-uring-commit.md +++ b/docs/stories/language-runtime-database/refine/23-io-uring-commit.md @@ -1,3 +1,9 @@ +--- +iteration: "23" +status: refine +chain: 5 +--- + # Iteration 23 โ€” io_uring group-commit write path > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/refine/24-chat-websocket-workload.md b/docs/stories/language-runtime-database/refine/24-chat-websocket-workload.md index 1aae5fa..57d3518 100644 --- a/docs/stories/language-runtime-database/refine/24-chat-websocket-workload.md +++ b/docs/stories/language-runtime-database/refine/24-chat-websocket-workload.md @@ -1,3 +1,9 @@ +--- +iteration: "24" +status: refine +chain: 4 +--- + # Iteration 24 โ€” chat: the WebSocket pub/sub driving workload > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/refine/31-actor-lifecycle.md b/docs/stories/language-runtime-database/refine/31-actor-lifecycle.md index 26445bd..e3b27e9 100644 --- a/docs/stories/language-runtime-database/refine/31-actor-lifecycle.md +++ b/docs/stories/language-runtime-database/refine/31-actor-lifecycle.md @@ -1,3 +1,9 @@ +--- +iteration: "31" +status: refine +chain: 3 +--- + # Iteration 31 โ€” actor lifecycle: request/response, backpressure, death, timers > Format: `product/story-iteration-template`. Part of diff --git a/docs/stories/language-runtime-database/refine/32-wal-checkpoint.md b/docs/stories/language-runtime-database/refine/32-wal-checkpoint.md index 15c5d4c..7f9d499 100644 --- a/docs/stories/language-runtime-database/refine/32-wal-checkpoint.md +++ b/docs/stories/language-runtime-database/refine/32-wal-checkpoint.md @@ -1,3 +1,9 @@ +--- +iteration: "32" +status: refine +chain: 6 +--- + # Iteration 32 โ€” WAL checkpoint: disk space reclamation and bounded replay > Format: `product/story-iteration-template`. Part of