Make Hermes and Artemis session-less fleet foundation, add STARTUP-BANNER
Per FABRIC-3.md D.7 (birth-by-message-only): the Tripod legs must be alive session-less before any thumbdrive-attach flow has a running Hermes/Artemis to message. kernel_main.c's item 4.2/4.6 self-tests previously birthed both, exercised diagnostics, then explicitly KILLed them before ok> every boot -- production boot never actually kept either alive. Stripped both blocks down to birth-only, diagnostics and KILL removed. Found and fixed a real regression this surfaced, not left broken: Hermes's CD-INIT (message/channel arena init, and the thing that loads lib.4th into her own dictionary) was only ever invoked by the self-test just removed -- nothing in hermes/init.4th itself called it. Added an unconditional CD-INIT call at the end of her own init.4th so a real birth actually initializes her arena, matching how Artemis's own ART-BOOT-ENTRY already runs unconditionally at her own capsule load. Added STARTUP-BANNER (lib.4th): a shared word reading a common IDENTITY-BANNER buffer, printing "(no identity)" until CERTVERIFY/MINT exist to populate it from a thumbdrive's PKI fields -- scaffolding only, per direct instruction. Wired into each Tripod leg's own init.4th (Hera/Hermes/Artemis); Artemis didn't load lib.4th before, added that too. Verified live on all three architectures: BIRTH for both, no KILL anywhere in any log, and an interactive USE round-trip confirmed Hermes is genuinely reachable post-boot, not just logged as born. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019ZGkimpfyh63EZyRkNbkPD
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ad79caeeeb
commit
52eb1bbb20
@@ -10,3 +10,8 @@ Block 4050
|
||||
: CSV-COL ( n -- ) N. COMMA ;
|
||||
: CSV-LAST ( n -- ) N. CRLF ;
|
||||
: Q.SHOW ( q -- ) Q.PRINT CR ;
|
||||
CREATE IDENTITY-BANNER 128 ALLOT
|
||||
VARIABLE IDENTITY-BANNER-LEN 0 IDENTITY-BANNER-LEN !
|
||||
: STARTUP-BANNER ( -- ) IDENTITY-BANNER-LEN @ 0= IF
|
||||
." (no identity)" CR EXIT THEN
|
||||
IDENTITY-BANNER IDENTITY-BANNER-LEN @ TYPE CR ;
|
||||
|
||||
Reference in New Issue
Block a user