Build capsules/per-isa-doe.4th: per-ISA campaign driver (N=3, 18 trials/ISA)
Build / build-amd64-iso (push) Canceled after 0s
Build / build-aarch64-iso (push) Canceled after 0s
Build / build-riscv64-img (push) Canceled after 0s

Thin wrapper over multiuser-doe.4th's own MU-EXEC-CAMPAIGN, which already
implements the ratified 6-cell factorial generically -- adds only what
FABRIC-3.md §XXXIV.4's per-ISA pivot needed: one fixed seed per ISA,
N=3 reps/cell=18 trials/ISA (ratified over §XXXV.5's own N=2 safety-margin
recommendation, Captain Bob's explicit choice), an ISA tag threaded into
the trial marker so records from all 3 ISAs' sequential campaigns can be
told apart on the shared disk/artemis.img, and three single-word
no-argument entry points (RUN-AMD64-CAMPAIGN/RUN-AARCH64-CAMPAIGN/
RUN-RISCV64-CAMPAIGN).

Blocks 5117-5119 -- the only 3 remaining in the [2048,5120) user block
namespace; mkcapsule --lint caught the first draft going one block past
the ceiling. Verified live, load-only: both capsules load with zero
UNKNOWN WORD/redefinition/error lines, all 3 entry words resolve,
constants compile correctly. No campaign trial has been run yet --
build+verify only, per explicit scope for this pass.

FABRIC-3.md §XXXV.8/.9 records the decision and verification.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-17 12:30:43 -04:00
co-authored by Claude Sonnet 5
parent 3223fac2a0
commit 8b8e8e1405
4 changed files with 9355 additions and 4 deletions
+41 -2
View File
@@ -5520,7 +5520,43 @@ not optional, before any of them could be re-minted.
Committed and pushed (image/log commit follows this one). `disk/README.md` updated with the
same account.
### XXXV.8 -- Genuinely open, not decided here
### XXXV.8 -- `capsules/per-isa-doe.4th` built: N=3 ratified over the §XXXV.5 recommendation
(2026-09-17)
Captain Bob picked **N=3 reps/cell (18 trials/ISA, ~24.8h/ISA, ~74.5h/~3.1 days total)** over
§XXXV.5's own N=2 safety-margin recommendation -- more replication depth, accepting less margin
against the unmeasured aarch64/riscv64 per-trial-cost risk §XXXIV.4 already flagged. Scope for
this pass, also confirmed directly: build and commit the driver capsule only, no live multi-hour
campaign launch yet.
Built `capsules/per-isa-doe.4th` (blocks 5117-5119 -- the *only* 3 blocks left in the entire
[2048, 5120) user block namespace; `mkcapsule --lint` enforces this ceiling and caught the first
draft's block numbers landing one past it). Deliberately a thin wrapper, not new campaign
mechanics: `multiuser-doe.4th`'s own `MU-EXEC-CAMPAIGN` already implements the full ratified
6-cell factorial (`MU-N-CONC`=3 x `MU-N-MODES`=2) generically over `(seed n-reps -- )`, so this
capsule adds only what the per-ISA pivot needed on top of it -- one fixed, documented seed per
ISA (`AMD64-SEED`/`AARCH64-SEED`/`RISCV64-SEED`, arbitrary but fixed, not tuned),
`PER-ISA-NREPS`=18, an ISA tag (`PER-ISA-TAG!`) threaded into a redefined
`MU-EMIT-TRIAL-MARKER` so records from all 3 ISAs' sequential campaigns can be told apart once
they land on the same shared `disk/artemis.img` (§XXXV.2 item 2's own requirement), and three
single-word no-argument entry points (`RUN-AMD64-CAMPAIGN`/`RUN-AARCH64-CAMPAIGN`/
`RUN-RISCV64-CAMPAIGN`) so a boot only ever needs one command, no operator-supplied seed/reps
arguments to get wrong live.
**Verified live, load-only (no campaign trial run):** booted amd64, `S" multiuser-doe.4th" EXEC`
then `S" per-isa-doe.4th" EXEC`, confirmed zero `UNKNOWN WORD`/redefinition-warning/error lines
anywhere in the log after either load, confirmed all 3 entry words resolve (`' RUN-AMD64-CAMPAIGN
DROP` etc., no error), confirmed the constants compiled correctly (`AMD64-SEED . AARCH64-SEED .
RISCV64-SEED . PER-ISA-NREPS .` printed exactly `20260917 20260918 20260919 18`), clean `BYE`
shutdown, zero leaked qemu processes. `disk/artemis.img`'s incidental `mounted_time` header churn
from this boot was reverted before committing, per `disk/README.md`'s own documented convention.
Log preserved: `logs/20260917-122832/amd64/qemu-amd64-20260917-122832.log`.
**Not done in this pass, by explicit scope:** no live campaign trial has actually been run on any
ISA yet -- `RUN-AMD64-CAMPAIGN`/etc. are verified to *load and resolve*, not to have completed
even one real trial. Launching the first live ~24.8h run is a separate, later step.
### XXXV.9 -- Genuinely open, not decided here
- **Exact v2 decimation factor**, if/when v2 is built at all (§XXXV.4).
- Whether `THRU`'s own line-swallowing defect (§XXXIV.1, still un-root-caused at the C level) gets
@@ -5532,7 +5568,10 @@ same account.
- Whether the old 30 MiB `disk/artemis.img` gets deleted/archived now that the new 1 GiB image is
confirmed live and re-minted (§XXXV.7).
- The block-backed DoE persistence writer itself (§XXXV.3/§XXXV.4) is still design-only -- no
capsule/C code written for it. Only the drive-resize/re-mint prerequisite (§XXXV.6) is done.
capsule/C code written for it. `per-isa-doe.4th` (§XXXV.8) only tags trial markers for it,
does not persist them anywhere the serial log doesn't already reach.
- When/whether to actually launch the first live per-ISA campaign run (amd64 first, ~24.8h) --
not started, explicit scope decision this session.
- The `ZUSE-ELIGIBILITY-ADD` elevation-eligibility list (narrower than baseline identity auth --
only gates the `ELEVATE` flow in `capsules/zuse-eligibility.4th`, confirmed by reading its only
call site) was **not** re-populated for any of the 8 re-minted identities during this pass --
+6 -2
View File
@@ -1,5 +1,5 @@
# Capsule Block Manifest — Auto-generated
<!-- Generated by mkcapsule --manifest 2026-09-16T19:45:24Z -->
<!-- Generated by mkcapsule --manifest 2026-09-17T16:28:31Z -->
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
<!-- Hand-written justifications and immutability notes live -->
<!-- in MANIFEST.md alongside this auto-generated index. -->
@@ -28,6 +28,7 @@
| `init.4th` | 2049, 2050, 2057 | `0x1ef4939ed32ec1e6` | yes |
| `lib.4th` | 4050 | `0x4b216635c359ef73` | yes |
| `multiuser-doe.4th` | 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055 | `0x22140588ee7c39e6` | yes |
| `per-isa-doe.4th` | 5117, 5118, 5119 | `0xe3a6c1352d3ecaed` | yes |
| `process.4th` | 4300, 4301 | `0x781afc1dbd0294f7` | yes |
| `sdk.4th` | 5109, 5110, 5111, 5112, 5113, 5114, 5115 | `0x008fdbbb62c94a3a` | yes |
| `turtle.4th` | 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108 | `0x4d470418ca543365` | yes |
@@ -409,10 +410,13 @@
| 5114 | `sdk.4th` | `0x008fdbbb62c94a3a` | ok |
| 5115 | `sdk.4th` | `0x008fdbbb62c94a3a` | ok |
| 5116 | `hermes:init.4th` | `0x2df61924448a6812` | ok |
| 5117 | `per-isa-doe.4th` | `0xe3a6c1352d3ecaed` | ok |
| 5118 | `per-isa-doe.4th` | `0xe3a6c1352d3ecaed` | ok |
| 5119 | `per-isa-doe.4th` | `0xe3a6c1352d3ecaed` | ok |
## Conflicts
None.
---
*39 capsule(s) scanned. Re-run `mkcapsule --manifest <dir>` to refresh.*
*40 capsule(s) scanned. Re-run `mkcapsule --manifest <dir>` to refresh.*
+45
View File
@@ -0,0 +1,45 @@
Block 5117
( per-isa-doe.4th - per-ISA DoE driver. FABRIC-3 SXXXIV.4/ )
( SXXXV.5/.7: 6-cell factorial from multiuser-doe.4th's own )
( MU-EXEC-CAMPAIGN, unchanged. Adds: one fixed seed per ISA, )
( N=3 reps/cell=18 trials/ISA (ratified 2026-09-17, not the )
( N=2 SXXXV.5 recommended). Load multiuser-doe.4th FIRST. )
20260917 CONSTANT AMD64-SEED
20260918 CONSTANT AARCH64-SEED
20260919 CONSTANT RISCV64-SEED
18 CONSTANT PER-ISA-NREPS
CREATE PER-ISA-TAG-BUF 16 ALLOT
VARIABLE PER-ISA-TAG-LEN
: PER-ISA-TAG! ( c-addr u -- )
DUP 16 MIN PER-ISA-TAG-LEN !
PER-ISA-TAG-BUF PER-ISA-TAG-LEN @ CMOVE ;
S" ?" PER-ISA-TAG!
Block 5118
( artemis.img is shared across all 3 ISAs' sequential runs )
( (SXXXV.2 item 2) -- tag each trial so records can be told )
( apart. Redefines MU-EMIT-TRIAL-MARKER (not ACL-pinned in )
( multiuser-doe.4th): same fields, isa= prefixed. )
: MU-EMIT-TRIAL-MARKER ( -- )
." MU-TRIAL isa=" PER-ISA-TAG-BUF PER-ISA-TAG-LEN @ TYPE
." run=" MU-RUN-ID @ .
." cfg=" MU-CFG @ .
." rep=" MU-REP @ .
." nw=" MU-NW @ .
." mode=" MU-MODE @ .
." fail=" MU-FAIL-COUNT @ . CR ;
Block 5119
( Per-ISA entry points, single word, no args -- for boot )
( injection or the live console. Run ONE per boot: this repo's )
( one-QEMU-at-a-time rule keeps the 3 ISAs separate, sequential)
( boots, never auto-chained here. )
: RUN-AMD64-CAMPAIGN ( -- )
S" amd64" PER-ISA-TAG!
AMD64-SEED PER-ISA-NREPS MU-EXEC-CAMPAIGN ;
: RUN-AARCH64-CAMPAIGN ( -- )
S" aarch64" PER-ISA-TAG!
AARCH64-SEED PER-ISA-NREPS MU-EXEC-CAMPAIGN ;
: RUN-RISCV64-CAMPAIGN ( -- )
S" riscv64" PER-ISA-TAG!
RISCV64-SEED PER-ISA-NREPS MU-EXEC-CAMPAIGN ;
File diff suppressed because it is too large Load Diff