feat(kernel): Hera in the kernel's fabric and registry; centre.4th and hera.4th on her
#189, ENGINE step 4 Phase 1, Task 5a. Captain Bob, 2026-11-13: "Full births now"; "Hera as now, in a fabric". - sk_v4.c: the kernel's fabric (v4/fabric.h), Hera's node at its one place, entered in its registry (v4/manage.h) as node 10. The registry's answers are real: a birth is "no room" -- the fabric has one place until 5b; CAPSULE-OPEN/-LINE read the kernel's capsule directory, checked as the boot checks (no capsule of F18 code is there until 5b); a born node's parity line. She is not told her number: the boot's console addresses node 0 (told 10, the boot stopped after POST -- kept, labelled, logs/20261113-132712). - boot.h/boot.c: v4_boot's `request` hook (the registry's requests) and `capsules` (the kernel's own, loaded before the seal, so POST runs on them). hosted.c sets neither: the hosted product's boot is as it was. - kernel/Makefile: manage.c in the kernel's v4 engine. - qemu_session.py: a v4 acceptance boot asks NODE-ME . and wants 0. - v4-dictionary.tsv: the 55 words of centre.4th and hera.4th, written from their source and manage.h; mkdictionary.py loads the kernel's capsules into the hosted system before WORDS, so the live list is the kernel's -- 375 words. - .claude/memory/rules.md, rule 6: every boot command under timeout 570. Seen to fail first (logs/20261113-132410): NODE-ME was an unknown word. After: amd64 NODE-ME . gives 0 ok; POST 539/539; word_count 375. v4 suite: test, test-32 99 programs 0 failures; v4-checks 79 under the sanitizers 0 failures, the hosted builds alike. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
This commit is contained in:
@@ -62,6 +62,22 @@ typedef struct {
|
||||
unsigned word_count;
|
||||
void (*serve)(v4_node *n, unsigned request);
|
||||
|
||||
/* THE KERNEL'S REGISTRY (MESH.md 9a; #189, ENGINE step 4 Phase 1). A
|
||||
* request that is not a block's and not one of the kernel's words goes
|
||||
* to `request`, if there is one: it returns 1 when it served the request
|
||||
* -- or refused it, raising error 12 on the node itself (v4/manage.h) --
|
||||
* and 0 when it is not one of its; then the request is error 12, as
|
||||
* before. 0: none (the hosted product). */
|
||||
int (*request)(void *self, v4_node *n, v4_cell request);
|
||||
void *request_self;
|
||||
|
||||
/* The kernel's own capsules, by name, loaded after the boot's
|
||||
* (forth79.4th) and before the system is sealed, so POST runs on them
|
||||
* and COLD comes back to them: on bare metal, centre.4th and hera.4th
|
||||
* (#189). 0 of them: the hosted product. */
|
||||
const char *const *capsules;
|
||||
unsigned capsule_count;
|
||||
|
||||
} v4_boot;
|
||||
|
||||
/* What `key` returns when it has no character. */
|
||||
|
||||
Reference in New Issue
Block a user