From aca630f9e6e6286cae7de16148c26c7ba40542eb Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Fri, 21 Aug 2026 10:51:33 +0200 Subject: [PATCH] docs: NEXT PLAN = concurrency + fiber chain, standup-shaped - stage 3 active; six standup answers (implemented/findings/learned/ unblocked/next/.dev-reference) - framework v1 block demoted to landed section, content kept Co-Authored-By: Claude Fable 5 --- docs/stories/00-status.md | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/stories/00-status.md b/docs/stories/00-status.md index 63c90cb..f7d6fbc 100644 --- a/docs/stories/00-status.md +++ b/docs/stories/00-status.md @@ -30,6 +30,52 @@ Statuses: โœ… **done** ยท ๐Ÿ”„ **in progress** ยท โฌœ **pending** ยท โธ **hold* ## โ–ถ NEXT PLAN +**The concurrency + fiber chain โ€” stage 3 โ†’ 22 โ†’ 31 โ†’ 24 โ†’ 23** +(directive 2026-08-21). Active slice: the 8+11 arc's **stage 3, the +transparent DB actor** โ€” marker doc +[`in-progress/2026-08-21-arc-stage-3.md`](../in-progress/2026-08-21-arc-stage-3.md), +plan of record +[`shard-fiber-arc` Tasks 7โ€“8](../superpowers/plans/2026-08-20-shard-fiber-arc.md), +stories [8](language-runtime-database/in-progress/08-shard-actor-runtime.md) + +[11](language-runtime-database/in-progress/11-fibers.md) in +`stories/language-runtime-database/in-progress/`. + +**Implemented last time:** framework v1 complete (polish, auth, form, +multipart โ€” `just web-app` 26/0); the arc's stages 1+2 (reduction-budget +fibers, `spawn`/`send`/`actor M`, pinned shards, envelope sends with +home-routed frees, WO-E222, io_uring-first I/O plane with `just fibers` +8/0); iterations 19 (Float/Bytes, `.wob` v5) and 17 (library kind + +`internal/`). + +**Key findings:** a multi-shard program touching the database traps +`WO_T_DB` (`rt.db` is set on the primary only) โ€” a correctness hole, so +stage 3 runs BEFORE measurement; the benchmark (22) has never run, so no +performance claim is sourced; `send` is one-way and the mailbox FIFO is +unbounded (iteration 31 born from this); epoll approach discarded โ€” +io_uring is a must (2026-08-01 shard-actor plan โœ–). + +**Learned from the last iteration:** the reduction budget must decrement +at loop back-edges only (budget-1 livelock otherwise); a mutex-guarded +inbox + eventfd suffices until 22 measures the mutex; routed frees +during teardown must be no-ops (arenas die wholesale) โ€” two TSan races +and one SEGV taught it. + +**Dependencies unblocked:** 19 unblocks 24's WS frames and the crypto +digests; stages 1+2 unblock stage 3 itself and 23's per-shard ring; +stage 3 unblocks 22's multi-shard campaign. + +**Next steps:** stage 3 โ†’ 22 (baselines + mutex-inbox number) โ†’ 31 +(lifecycle) โ†’ 24 (chat, the arc's acceptance) โ†’ 23 (io_uring +group-commit). Held tail resumes on its own precedence notes. + +**`.dev/reference` used:** `linux` (the "single event loop" card behind +the io_uring-first directive, arc T4). Record the ones each iteration +touches here, per the standup convention. + +--- + +### Landed 2026-08-20 โ€” framework v1 (the previous NEXT PLAN) + **Framework v1 โ€” a polished micro-framework (routing, middleware, `Req`/`Resp`), nothing MVC-scale.** Directive 2026-08-20: iteration 17 (library kind + `internal/`) is **parked** โ€” spec + plan approved and ready