The stick, increment 1, task 1 (plan 2026-10-26-stick-1-screen-and-keyboard). repl.c's keyboard bridge -- the key tables, Shift/Alt/Caps Lock/Num Lock and their lights, the keypad, Alt+TAB, and the per-tick USB keyboard servicing -- moves unchanged to kernel/src/hal/kbd_input.c as sk_input_getc() (and sk_input_drop()), so that the v4 boot's console reads the same keyboards (docs/v4.0.0/STICK.md 5.4). v3's behaviour is unchanged. scripts/qemu_session.py: the typed-QEMU-session harness, kept in the repo from here on (the identity gate's sessions, and v3_keys: system=v3 typed on QEMU's keyboard with send-key). Yardstick, system=v3 typed by keyboard: before, amd64 PS/2 134805 PASS, aarch64 virtio keyboard 135549 PASS; after, 135746 and 135835 PASS. (riscv64 134850: v3 never reached its prompt -- Artemis virtio_blk writes time out; v3's block path, before this change; being investigated.) Accepted: suite EXIT 0; three clean qemu boots to [zuse@Hera] ok>, POST 538/538, dict_hash 0xfec8c47cfc6f437f (145722, 145859, 150231); test-32, 39 modules, 0 failures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/
Utility scripts for building, profiling, DoE experiments, and documentation.
DoE / experiment scripts
| Script | Purpose |
|---|---|
run_doe.sh |
Run a standard DoE experiment |
run_factorial_doe.sh |
2^7 factorial DoE |
run_factorial_doe_with_heartbeat.sh |
Factorial DoE with heartbeat metrics |
run_nested_doe.sh |
Nested DoE design |
run_ablation_study.sh |
Physics loop ablation |
run_optimization_doe.sh |
Optimization-focused DoE |
run_quick_doe_test.sh |
Quick smoke-check DoE (1 rep) |
extract_doe.sh |
Extract CSV rows from QEMU serial logs |
Build / profile scripts
| Script | Purpose |
|---|---|
perf-profile.sh |
Linux perf profiling harness |
perf-profile_control.sh |
Control run for perf comparison |
rundisk.sh |
Boot a disk image in QEMU |
qemu_screenshot.sh |
Capture QEMU serial output |
Phase 8 / identity testing scripts
| Script | Purpose |
|---|---|
bleach_zuse_img.sh |
Reset disk/zuse.img back to pristine/unminted (blank) state, for repeatable first-boot mint-flow testing |
FORTH capsule scripts
| Script | Purpose |
|---|---|
4th-apply-init.sh |
Apply init.4th patches to capsule set |
4th-update-init.sh |
Update init.4th across capsule variants |
Documentation scripts
| Script | Purpose |
|---|---|
asciidoc-to-latex.sh |
Convert AsciiDoc to LaTeX |
convert-markdown-to-asciidoc.sh |
Markdown → AsciiDoc |
doxygen-xml-to-asciidoc.py |
Doxygen XML → AsciiDoc |
generate-doxygen-appendix.sh |
Build Doxygen API appendix |
build_patent_structure.sh |
Scaffold patent document structure |
setup-ide-integration.sh |
Configure IDE integration |
analyze_heartbeat_stability.R |
R analysis of heartbeat stability data |
analyze_opp2_regression.py |
Python regression analysis |
gen_pe_reloc.py |
PE relocation table generator (see also tools/) |
remove_loop_conditionals.sh |
Remove loop conditional guards |
See also
experiments/bare_metal/README.md— DoE protocols- Project root