Not yet accepted. bam_flush_to_disk() and bam_sync_from_disk() read and wrote every page of the BAM; with the stick's BAM sized for 256 GiB (6144 devblocks, 24 MiB) every flush of a dirty block moved 24 MiB each way. They now touch only the pages that hold the slot's bits -- its reserved bits and one per user block (bam_pages_used()) -- the pages past them are never set, so the bytes on disk are the same. Test (qemu_session.py bam_flush, --target qemu-stick --stick-gib 16): three SAVE-BUFFERS of an Artemis block, each timed, then the BAM hashed. Before: 5.1 / 5.6 / 6.1 s (the 2 s limit fails; it was set after seeing this baseline). After: 1.1 / 1.1 / 1.1 s. The BAM's bytes the same either way: sha256 79197a40...b9e44b50, 5 non-zero bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
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.