FABRIC-3.md §XXXV.3/.4 designed this and it was never built -- two live
campaigns got launched relying entirely on a live serial-log tail before
this was caught. doe_region.c/.h mirrors log_region.c's own growable-ring
pattern (own devblock_from_top fence at 98, past log_region's ceiling at
97) to persist one trial-summary record per completed trial straight to
disk/artemis.img, surviving past QEMU exit with no host required.
Verified end to end: booted amd64, called DOE-PERSIST-TRIAL at the
console, clean BYE, then read the raw disk bytes back with QEMU fully
dead -- confirmed the exact values passed in. Wired into both
multiuser-doe.4th and per-isa-doe.4th's trial markers. Clean build, zero
new warnings, all 3 ISAs; mkcapsule --lint passes both edited capsules.
FABRIC-3.md §XXXV.10 documents the fix and the root-cause correction: two
campaigns were launched on an unbuilt persistence design before this was
caught and fixed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BWpNjdwPtFLuVLaAq44L9K
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>