From 1e3f211daa4f827f2dfd62da64dbeaa9d2443dfb Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Nov 2026 23:19:28 +0000 Subject: [PATCH] FABRIC-3 XLVIII: the review, the protocol, the SDK, the demo's limits Today's rulings and work since XLVII.6, kept at the pace of the work (Captain Bob, 2026-11-07: 'the book of fabric needs to keep pace'): the alpha.4 list (#147) and what is in it, the developer protocol (#135), the Book of Fabric (#138), the SDK milestone with the capsule repository (#149) and the latency DoE (#150), #136 and the demo's guests and busy message, with what was measured. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index e85a916d..debd4581 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6191,3 +6191,55 @@ heaps linked to the user's -- the session passes in 47 s at ~1.8 GiB, through `scripts/nightly.sh proofs` itself (`logs/20261107-195341`). Nothing was published. Ruled (Captain Bob, 2026-11-07): the tag stays; `LITHOS_VERSION` `4.0.0-alpha.3`, the first published alpha; the review list begun meanwhile goes to the milestone v4.0.0-alpha.4. + +## XLVIII. After the first published alpha: the review, the protocol, the SDK, the demo's limits (2026-11-07) + +### 1. Ruled + +- **A ranked list for the next release** (Captain Bob: "a list of problems, deficiencies, smells and + so on placed in issues by rank priority"): milestone **v4.0.0-alpha.4**, its index #147. Must: + Gitea's plain-HTTP logins (#133), rotating what was exposed (#134), the riscv64 flake (#131), the + developer protocol (#135), CI's litter (#129). Should: a failed check prints its serial log + (#136), capsule trust against the root and unsigned capsules (#139, a ruling), the queue's + cancelling of waiting runs (#140, a ruling), CLAUDE.md's drift (#137), the Book of Fabric (#138), + downloads (#126). Nice: the empty DoE CSVs (#141 -- no DoE has run since 2026-09-16: noise, not + breakage), DoE columns always 0 (#142), mkcapsule's warnings (#143), a stale header (#144), + tracked files a build rewrites (#145), the sites' small things (#146). +- **The developer protocol** (#135): "We can simply run nightly as developers to further make sure + nothing sneaks in. Just no Nexus push ... a protocol for programmers. Then the protocol evidence + can be submitted in the PR." -- `scripts/nightly.sh protocol`, a `PROTOCOL.md` per run, checked + by CI against the PR's head. +- **The Book of Fabric** (#138): the FABRIC record as one book, published with every release -- + and this record kept at the pace of the work, so the book is (Captain Bob: "the book of fabric + needs to keep pace"). +- **v4.0.0-alpha.5: the SDK**, for FORTH and capsule developers; a systems SDK later, FPGA when we + get there (milestone 11). In it: + - **A capsule repository in blocks**, like `~/.m2/repository` (#149): on Artemis, indexed by + coordinates and capsule hash, a TTL by default as the rest of the system has, pinning one-way, + verified in and on use, composed in FORTH; filled by hand now, from Nexus once there is + networking. To rule: its block range and size, the default TTL, what is pinned. + - **K under network latency** (#150): "Networking latency will be a super good K test." -- the + repository pulling from Nexus with delay, jitter, loss and bandwidth dialled in (`tc netem`), + K and the DoE's measures per architecture. After networking, #141 and #142. +- **The demo's limits** (#116): "Limit guests and have a Busy, try back in a few minutes." + +### 2. Built + +- **#136:** `scripts/qemu_session.py`'s `check()` prints, on a FAIL, the serial lines after an anchor + the check names (the boot-disk checks: `Boot successful!`), else the log's last lines, control + characters as escapes -- so #131's next occurrence explains itself in the job's output. +- **The demo:** guests of **384 MiB** (`demo/qemu-args.sh`); `start-session.sh` takes one of + `DEMO_MAX_GUESTS` slots (2), a lock held for the session's life, and with every slot taken tells + the visitor every machine is busy and to try back in a few minutes; the service makes the locks' + directory and lets ttyd take 6 connections so the extra visitors reach the message. + +### 3. Verified + +- The demo machine, booted here with only `-m` changed: POST 538/538 and Zuse's prompt at 1024, 512, + 384 and 256 MiB (82-84 s); at 128 MiB POST passes, then "StarForth v4: no memory for the block + chain". The slots: every slot held -- the busy message; slot 1 held -- slot 2 taken. +- `excerpt()` against a real riscv64 serial log, with an anchor and without; a riscv64 acceptance + with the new script, passing as before. +- With both wikis up again (Shenandoah, the .com's heap at 512 MiB, the .org's given 256 more): the + server at 2.6 of 3.8 GiB used, 1.2 GiB available, 2 GiB of swap used; Build 204 (three images, the + v4 tests) passed alongside them.