build: v4 is the default build -- every kernel boots v4; acceptance is v4 on three ISAs and the 32-bit build

Captain Bob, 2026-10-14: "v4 is the default build", "no, qemu to v4
too ... we are effectively trying to retire v3", "the 32 bit build needs
to go into the acceptance test too", "i don't care about v3".

- STARFORTH_V4 defaults on (Kconfig default y) and V4_DEFAULT=1
  everywhere: every kernel carries v4 and v3 and boots v4; system=v3 boots
  v3; STARFORTH_V4=0 builds v3 alone.  Board images write system=v4.
- Acceptance (CLAUDE.md): the three ISAs as built (v4, POST passed,
  V4_SYSTEM dict_hash equal) and make -C v4 test-32.  v3 is not part of
  it.

Acceptance run: amd64, aarch64, riscv64 -- PARITY:V4_POST 538/538,
dict_hash=0xe5a57f3eb72ff94a on all three, no unknown word; test-32: 30
suites, 0 failures.  The SER5 image under OVMF boots v4 as built, v3 after
the one-word edit.  README, BRINGUP, FABRIC-3 XLIII, the register updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rajames
2026-10-14 17:21:13 -04:00
co-authored by Claude Opus 5.5
parent 7bc658bb83
commit 79db0e8d88
17 changed files with 9585 additions and 37 deletions
+2 -1
View File
@@ -41,9 +41,10 @@ document is superseded or a claim corrected.
| The log ring's growth is "safe regardless of wrap state" | **it was not**; fixed | 2026-10-14 | `fabric/FABRIC-3.md` §XXXVIII |
| The Pi 5's GIC is under `/axi` with two-cell addresses; its framebuffer address needs `& 0x3FFFFFFF` | **under `/soc`, one cell**, read through `ranges`; the address **goes through `dma-ranges`** | 2026-10-14 | `fabric/FABRIC-3.md` §XXXIX |
| The old elevation path passed a raw cross-VM address | **it copied text** (the narrower real gap was a `"` in a name) | 2026-09-22 | `fabric/FABRIC-3.7.md` (its own correction) |
| Kernel builds boot v3 (v4 only with `STARFORTH_V4=1`, then v3 not at all; board images v3 unless `system=v4`) | **every build carries both and boots v4** unless `system=v3` -- v3 is being retired | 2026-10-14 | `fabric/FABRIC-3.md` XLIII (revised) |
| `.claude/ARTEMIS.md`, `HERMES.md`, `TRIPOD.md`, `CONSOLE.md` describe the system | **frozen as record**, superseded by FABRIC-3.5/3.6 | 2026-09-22 | `.claude/CLAUDE.md` (top) |
**Resolved 2026-10-14:** the top-level `README.md` was titled "LithosAnanke v2.0.1" (the SER5
hardware line's version) while the kernel is 2.1.0; Captain Bob ruled it rewritten -- it now
describes the system as it is (Tripod Hera/Artemis/Hestia, kernel-Hermes, 1052-test POST, both
systems on every board image).
systems on every board image, v4 the default).
+10
View File
@@ -5887,3 +5887,13 @@ it, v4. The Pi 5 and Mars images: built, their `cmdline.txt` / `starforth.cfg` r
image, both systems found in their kernels; not booted (no QEMU model for either). Standard
acceptance, all three ISAs: unchanged (`-150651`, `-150801`, `-151007`).
**XLIII, revised the same day -- v4 is the default build.** Captain Bob, 2026-10-14: "v4 is the
default build", then "no, qemu to v4 too ... we are effectively trying to retire v3". Every kernel
build now carries v4 and v3 and boots **v4**: `STARFORTH_V4` defaults on (Kconfig `default y`),
`V4_DEFAULT=1` everywhere, and the board images write `system=v4` into `starforth.cfg` /
`cmdline.txt`. `system=v3` is the one word that boots v3; `STARFORTH_V4=0` builds v3 alone. The
acceptance rule (`.claude/CLAUDE.md`) became: the three ISAs as built (v4), and the 32-bit build,
`make -C v4 test-32` ("the 32 bit build needs to go into the acceptance test too"). v3 is not part
of it ("i don't care about v3"); it stays in the tree, `system=v3` still boots it. Verified: the three images rebuilt with `system=v4` in their boot files; the
SER5 image under OVMF as built boots v4, and after changing the word, v3 (`logs/20261014-ser5-image/`).