menu "Kernel-only options" if STARFORTH_VARIANT_KERNEL config STARFORTH_ENABLE_VM bool "Enable StarForth VM integration, M7 milestone (STARFORTH_ENABLE_VM)" default y help Compiles the full StarForth VM source tree into the kernel image and enables capsule birth/execution. Disabling this builds a kernel that only reaches the M0-M6 hardware milestones (console, PMM, VMM, interrupts, timers, kmalloc) with no FORTH interpreter, no capsules, no "ok" REPL. Gates a large source-file selection block in Makefile.starkernel, not just a handful of -D flags. config PARITY_MODE bool "Deterministic parity harness mode (PARITY_MODE)" default n help Enables the parity/determinism verification harness used to compare dict_hash and capsule state across independent runs. Off by default (normal boot); on for parity-campaign builds. config SK_PARITY_DEBUG bool "Verbose parity/vocabulary debug logging (SK_PARITY_DEBUG)" default n help Extra diagnostic logging in vocabulary_words.c and vm_bootstrap.c's parity paths (src/starkernel/vm/vm_internal.h guards these with #if defined(__STARKERNEL__) && SK_PARITY_DEBUG). Previously opt-in-only via VM_FEATURE_FLAG_VARS with no Kconfig presence at all; promoted here for discoverability, same treatment as every other previously-unwired constant in this migration. config HEARTBEAT_DOE_LOG bool "Per-tick heartbeat DoE logging (HEARTBEAT_DOE_LOG)" default y help Emits per-heartbeat-tick DoE observation records used by the bare-metal Design-of-Experiments campaigns (experiments/bare_metal/). On by default; the DoE tooling expects this log to be present. config STADIUM_MAX_VM_COUNT int "Outer Stadium VM population bound (STADIUM_MAX_VM_COUNT)" default 4 help Hard bound on live VMs in the outer Stadium (FABRIC.md item 1.5). Birth is refused once this many VMs are LIVE simultaneously; a dead or stillborn VM's registry slot does not count against the bound. Default of 4 matches Tripod's currently-known topology (Hera + two Hermes instances + Artemis) -- an explicit placeholder pending a DoE campaign to find an idealized default (item 5.1), not a padded estimate. endif # STARFORTH_VARIANT_KERNEL endmenu