diff --git a/README.md b/README.md index f05db317..0fe9b300 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ runs StarForth as its sole userspace runtime. No libc. No OS. Just stone and nec **Try it in your browser:** [starshipos-f18.com](https://starshipos-f18.com/) — a StarshipOS machine of your own, booted to `[zuse@Hera] ok>`, thrown away when you leave. **Releases:** -[v4.0.0-alpha.4](https://gitea.starshipos-f18.org/rajames/LithosAnanke/releases) (pre-release), +[v4.0.0-alpha.4](https://gitea.starshipos-f18.org/rajames/LithosAnanke/releases), the kernel `4.0.0-alpha.4` with the StarForth engine `3.2.0`. --- diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index d3abd59b..0017047b 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6513,3 +6513,37 @@ and memorize frequently so we can pick up where we left off"). `[zuse@Hera] ok>`; growth; the real Zuse on a second stick; the fixed screen. The alpha.4 Downloads page (#126) can offer the PC stick. +### 18. A clean tree for alpha.5: LFS, the build's own files, alpha.4 final (2026-11-11) + +- **LFS, ruled** (Captain Bob): the objects of 3,944 LFS pointers were never on the server -- every one + from the initial commit, `a5ed8c3d` (2026-08-01): 3,827 phase-1 logs under + `docs/working/archive/legacy/phase-1`, 3 under `docs/working/archive/historical`, 106 DoE CSVs, three + `.log` files at or near the top. No copy exists anywhere: "they can be trimmed out". **Built:** the + 3,939 removed (`aec7ddb5`); the 5 LaTeX build logs under `docs/patent` kept, under the legal hold; a + committed `.lfsconfig` excludes every one of these paths from fetch, so older commits check out and + `git lfs fetch --all` runs without 404s. Every LFS pointer left in the tree has its object on the + server; `git lfs fsck` OK. Earlier the same day `06f1d41a` had moved 146 logs committed as plain text + (the LFS filter had been off) into LFS. +- **The build's own files, ruled** (Captain Bob, #145): `v3/include/version.h` untracked -- every build + writes it, with a timestamp and the last build's ISA, and the committed copy said `2.1.0`; the + `.gitignore` entry for it named `include/version.h`, the path before the move to `v3/`, and matched + nothing. `capsules/BLOCK_MAP.md` keeps being tracked, without `mkcapsule`'s timestamp: it changes only + with the capsules (two runs byte-identical). **Built:** `90c5c140`. A **signed** build still rewrites + BLOCK_MAP.md's Signed column (the committed copy is an unsigned build's): open, to rule. +- **My error, found setting up alpha.5:** six places still put `version.h` back with `git checkout`, + and git refuses the whole checkout when one path is unknown. `scripts/nightly.sh images` (`set -e`) + would have ended there -- the nightly's images, publish and proofs, and `release.yml`'s images, docs + and Gitea release; acceptance does not run `images`, so it passed. `scripts/check_images.sh` and the + two demo scripts would silently have put nothing back. I had not searched for every use of the file + before untracking it. **Fixed** (Captain Bob: yes): `9415d7ed`. +- **Acceptance, ruled again** (Captain Bob): "You are NOT to run acceptance tests in background EVER!" + -- I had run stages detached; one run was stopped and is kept, labelled. And: "We track all logs and + all CSV's always as evidence" -- passing, failing and stopped runs alike. +- **Accepted** (`9415d7ed`, `d6846b34`): one stage at a time in the foreground, `scripts/nightly.sh`; + 538/538 on the three and the stick loaded high, `word_count=318`, `dict_hash 0x8c92508f748f99cf`; + test-32 39 programs, 0 failures; `nightly.sh images` built PC, RASPI and MILKV and left the tree as + committed. No tracked file changed across the builds. +- **alpha.4 released as final** (Captain Bob, "the only one that doesn't break my rules"): its Gitea + release was a pre-release; now it is not. The tag stays on `93828e0e`, its 13 assets unchanged; + moving a tag was not an option (tags are sacred), and today's work ships as alpha.5. +