Files
LithosAnanake/scripts
rajamesandClaude Opus 5.5 cab0ffb487 feat(v4): the screen and the keyboards
The stick, increment 1, task 2 (plan 2026-10-26-stick-1-screen-and-keyboard;
docs/v4.0.0/STICK.md 2, 5.3, 5.4). On the v4 path:
- the framebuffer is brought up after POST, cleared and dark: console text
  goes to serial only ("splash only, log on serial") until Zuse logs in;
  then the screen is the console (TTF, a blinking cursor, as v3's), and
  when she logs out it is cleared and dark again (console_fb_mirror(),
  console_fb_clear(); the mirror is on by default, so v3 is unchanged);
- the line editor and the node's KEY read every keyboard -- PS/2, USB, the
  virtio keyboard -- through the shared bridge (sk_input_getc()); the
  headless wait drops keyboard input as well as serial bytes;
- an EMERGENCY_CONSOLE_ENABLED build has the screen from the start.
The framebuffer setup is one helper both paths call (kernel_main.c).

Red (before): screen_dark_until_login 153051 (10835 lit), console/keys
153309, logout 153609, kbd_typeahead 153918, virtio_kbd aarch64 154245
and riscv64 154718; no_framebuffer 155546 passed before and after.
Green: 155926 (0 lit), 160156, 160409 (0 lit after logout), 160630,
virtio_kbd 161414 and 161820, no_framebuffer 161206; usb_kbd with the USB
keyboard the only one (-machine i8042=off) 164548, v3 control 164757;
the identity gate's sessions 162245-163802 all pass; v3 typed by keyboard
164009, 164115. (usb_kbd 160857 and 164313 failed in the harness:
input-send-event's device names a display, not a keyboard.)
Accepted: suite EXIT 0; three clean qemu boots, POST 538/538, dict_hash
0xfec8c47cfc6f437f unchanged (174704, 174911, 175315); test-32, 39
modules, 0 failures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:02:27 -04:00
..

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