Attempted 4.4g's console_fb_init() reorder twice this session: once bare, once with the fb_scroll_rows() volatile fix applied. Both stalled boot indefinitely (12,000+ lines logged, still running after 3 minutes vs. a normal few-second boot) instead of completing. Root cause traced past the scroll fix to Makefile.starkernel building the kernel at -O0 -- no optimization flag has ever been configured there, verified against the file's full git history (17 commits, only ever one unrelated host-tool -O2 line). Both the kernel's own vendored hosted Makefile and the standalone StarForth repo's Makefile default to -O2 (up to -O3/-flto on faster targets); Makefile.starkernel was written fresh for the bare-metal target and never got that ladder. Documented as new item 4.6: enabling optimization is not a safe drop-in change on its own. Found one confirmed, isolated correctness hazard first -- TimeTrustState.ticks (timer.h:90) is written directly in ISR context on all three architectures (heartbeat.c:163) and read directly by mainline (heartbeat.c:200-202, including a busy-wait in kernel_main.c:880) without being volatile, unlike every other ISR-shared global checked (g_spurious_count, g_plic_claim_count, g_pending_counter/g_pending_valid/ g_adaptive_period_ns are all correctly volatile already). Reverted the console_fb_init() reorder itself (uncommitted, so a plain git restore) -- 4.4g stays open pending 4.6. Both the reorder attempts' logs (stalled, never reached ok>) and this session's routine three-arch artifacts (capsules/BLOCK_MAP.md, disk/ artemis.img, DOE CSV) are committed as audit trail per CLAUDE.md. Co-Authored-By: Claude Sonnet 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.