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>
46 lines
1.6 KiB
Forth
46 lines
1.6 KiB
Forth
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 ;
|