acceptance prints the serial log of a failed check (#136); the demo limits its guests (#116) #148

Merged
rajames merged 3 commits from StarForth-v4.0.0 into master 2026-11-08 00:07:46 +00:00
Showing only changes of commit 1e3f211daa - Show all commits
+52
View File
@@ -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.