- The static word_scratch_addr shared by every VM is gone: WORD builds in vm->word_buf (257 bytes: count + 255 + NUL). A token over 255 chars is refused whole (delimiter restored, >IN unconsumed, vm->error), logged at LOG_ERROR and counted -- no more silent cut to 62 chars. - Pre-existing corruption found by the probe: TIB/>IN/SPAN (and WORD's scratch) were allotted lazily at HERE; POST's restore_dict_state(), FORGET and COLD rolled HERE below them and compiled the dictionary over them (Hera's TIB lay under ACL-RECHECK's body; QUERY/WORD wrote into code). Per Captain Bob, all four are now allotted first in both vm_init()s (offsets 0-1305); COLD's clamp never goes below them. Probe (reverted), identical on amd64/aarch64/riscv64: 0 colon bodies inside the buffers; per-VM isolation; 62/100/255-char tokens full length; 300 refused and counted; interpreter sane after full-width TIB writes. 3-ISA acceptance passes; M7.1a hash and dict_hash set unchanged (here 0xd8 -> 0x5f8). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
experiments/
Design of Experiments (DoE) campaign data and analysis for the LithosAnanke kernel.
bare_metal/— the bare-metal DoE experiment: blind full-factorial 2⁴ runs measuring the L8 Jacquard mode selector's effect on the Steady-State Machine across amd64/aarch64/riscv64. Seeexperiments/bare_metal/README.mdfor the full directory layout (runs/,latest/,analysis/{charts,tables,report}).
Hosted-VM DoE campaigns (factorial/heartbeat/ablation studies) live under
docs/working/experiments/ instead — this top-level directory is
specifically the kernel/bare-metal side.