From 0f84d9f1edf47869df83fb8edcf44341835fd77f Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Sat, 22 Aug 2026 22:50:26 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20post-merge=20truth-up=20=E2=80=94=20sta?= =?UTF-8?q?le=20arc/bitwise=20refs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - framework README: three rows still said "until fibers/shards" / "fibers (11)" — now "arc landed 2026-08-21, parked until own slice"; ledger date 2026-08-22 - dependency graph: crypto-fork gate note updated — bitwise + hex landed with iteration 36, digests expressible in pure .wo; story 34's brainstorm still owns the pure-.wo vs C-builtin call Co-Authored-By: Claude Fable 5 --- docs/00-dependency-graph.md | 5 +++-- docs/examples/writeonce-framework/README.md | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/00-dependency-graph.md b/docs/00-dependency-graph.md index bcd83ca..8a229e4 100644 --- a/docs/00-dependency-graph.md +++ b/docs/00-dependency-graph.md @@ -138,8 +138,9 @@ flowchart TD ## 3. Framework v1 — remaining ledger items Three gates recur: **net seams** (runtime `net` builtins), the **crypto -fork** (no bitwise operators in the language — hashes become C runtime -builtins or bit ops land first; brainstorm before the slice), and the +fork** (bitwise operators + hex literals landed with iteration 36, so +digests are now expressible in pure `.wo` — pure-`.wo` vs C-builtin is +story 34's brainstorm before the slice), and the **concurrency chain above** (its gated nodes are not repeated here). ```mermaid diff --git a/docs/examples/writeonce-framework/README.md b/docs/examples/writeonce-framework/README.md index 64baab9..4dd6220 100644 --- a/docs/examples/writeonce-framework/README.md +++ b/docs/examples/writeonce-framework/README.md @@ -62,11 +62,12 @@ writeonce-framework = { git = "https://github.com/shoneyj/writeonce-framework", JSON-first (no templates). Form-encoded bodies parse through `form_values(req)` (`+` and `%XX` decoded, nil on any other content-type); multipart/form-data through `multipart_parts(req)` - (whole-body, bounded by BODY_MAX — no streaming uploads until - fibers/shards) with `part_named` for fields; `media_type(req)` names + (whole-body, bounded by BODY_MAX — the arc landed 2026-08-21; + streaming uploads stay parked until their own slice) with + `part_named` for fields; `media_type(req)` names the body's media type for content negotiation. -## The v1 surface — status ledger (2026-08-20) +## The v1 surface — status ledger (2026-08-22) The target surface of **framework v1**, tracked per item. The memory-rich features (TTL cache, feature flags, durable job queue, `transaction { }`) @@ -115,7 +116,7 @@ first (pure `.wo` cannot express it yet). | Ordered middleware chain | ✅ registration order, `?Resp` short-circuits | | Request-scoped context | 🔶 `req.params` + `req.principal` are the context today; a general `req.ctx` bag is a candidate slice | | Guaranteed teardown | 🔶 every fd closes on every path (gate-proven); no user teardown hooks yet | -| Cancellation into pending storage ops | ⏸ fibers (11) | +| Cancellation into pending storage ops | ⏸ UNBLOCKED by the arc (8/11 landed 2026-08-21) — stays parked until its own slice | | Panic recovery | 🔶 trap = 500 and the server survives ✅; "rolls back the transaction" is framework v2 (needs `transaction { }`, iteration 18) | ### Storage integration (the differentiator — framework v2 territory) @@ -123,7 +124,7 @@ first (pure `.wo` cannot express it yet). | Item | State | | --- | --- | | Transaction-per-request middleware (commit on 2xx, roll back otherwise) | ⏸ **v2** — needs iteration 18's `transaction { }` | -| Cancellation → rollback | ⏸ fibers (11) + v2 | +| Cancellation → rollback | ⏸ arc landed; still needs v2's `transaction { }` (iteration 18) | | Migration generation + review workflow | ⬜ recorded future story (script-based destructive migrations) | | Eager-loading API (N+1) | ⬜ query-surface work (9-series), not framework code | | Tenant-scoped query roots | ⬜ future; wants the query surface to grow scoped roots first |