Assert Hestia's headless invariant -- FABRIC-3.6.md task 1.9, Phase 1 closed
Audited first: neither capsules/hestia/init.4th nor her birth block in
kernel_main.c references g_wirebind_attached_username, CONSOLE-ATTACH,
MINT, or any proxy-minting mechanism -- the invariant already held
structurally, by absence. Stated it explicitly anyway, per the task:
added a comment at Hestia's birth site quoting FABRIC-3.5.md SXVIII.6's
invariant verbatim, warning future edits not to add console/wirebind/
proxy code there without re-reading it first.
Verified live with the actual no-thumbdrive boot
(ARCH=<arch> qemu ZUSEDISK=), not the default. All four VMs born
successfully on all three architectures, zero UNKNOWN WORD, and zero
ok> occurrences anywhere in any of the three full logs -- genuinely
silent, matching sk_repl_headless_wait()'s own documented "no banner,
no prompt, no input surface at all." Watched each log's line count
post-birth for 8-10s to confirm it stayed flat rather than eventually
printing something late.
Confirmed no regression on the standard (with-thumbdrive) path on
amd64: dict_hash identical to task 1.8's baseline. Did not repeat that
check on aarch64/riscv64 -- the change is a comment only, cannot
diverge by compiler, and the headless invariant itself was already
proven identically on all three.
Phase 1 is now fully closed (tasks 1.1-1.9). Tripod is Hera/Artemis/
Hestia plus Hermes (retained through Phase 1-3 per SXXXIV.4); Hestia
owns the drawing fabric exclusively; headless-until-login intact with
Hestia in the fleet. Phase 2 is next.
Authorized by Captain Bob ("yes").
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6c6293cd52
commit
1e75bb8039
@@ -878,7 +878,17 @@ static void kernel_main_deep(BootInfo *boot_info) {
|
||||
* FABRIC-3.6.md task 1.4. Hermes stays live too (SXXXIV.4): the
|
||||
* fleet is Hera/Hermes/Artemis/Hestia through Phase 1-3, four VMs,
|
||||
* not three, until Phase 4's Category B strip retires Hermes. Same
|
||||
* birth-by-name-then-registry-check shape as Hermes/Artemis above. */
|
||||
* birth-by-name-then-registry-check shape as Hermes/Artemis above.
|
||||
*
|
||||
* HEADLESS INVARIANT (FABRIC-3.5.md SXVIII.6, FABRIC-3.6.md task 1.9):
|
||||
* this birth must not set g_wirebind_attached_username, must not
|
||||
* cause sk_console_identity_present() (repl.c) to report an
|
||||
* identity, and must not mint a proxy. Hestia owns the fabric from
|
||||
* boot; she presents nothing until something binds. This is the same
|
||||
* invariant SXXXII.2 imposed on unattended identity birth, applied to
|
||||
* a second path -- do not add console/wirebind/proxy code to this
|
||||
* birth or to capsules/hestia/init.4th without re-reading SXVIII.6
|
||||
* first. */
|
||||
console_println("Startup: birthing Hestia (fleet foundation)...");
|
||||
vm_interpret(mama, "S\" Hestia\" BIRTH");
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user