§H.12 step 17: zuse_eligibility_list.h -- eligibility-list record format

Growable owner_pubkey[32]-list devblock type for the metadata fence,
one slot over from zuse_genesis_marker_t (§H.5 Phase 6). Type only,
no read/add/check logic yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QgooKd5hJNtTYqB6CyK5f9
This commit is contained in:
Robert Allan James
2026-09-03 11:12:37 -04:00
co-authored by Claude Sonnet 5
parent 46d89dd5be
commit 21ad5f7373
7 changed files with 27666 additions and 3 deletions
+13 -2
View File
@@ -4098,8 +4098,19 @@ work, not new invention.
FORTH wrappers, and a real policy word all landed and verified.
**Phase 6 — Zuse eligibility list (H.5)**
- [ ] **17.** Extend the metadata-fence record format with a new growable
`owner_pubkey[32]`-list record type.
- [x] **17. DONE 2026-09-03.** `include/starkernel/zuse_eligibility_list.h`:
`zuse_eligibility_devblock_t` (magic/version/count/`next_devblock_from_top`/127×
`owner_pubkey[32]` entries/CRC-64, padded to exactly one 4 KiB devblock, `_Static_assert`
verified) — same raw-devblock convention as `zuse_genesis_marker_t`. Lives in the same
top-of-device metadata fence one slot over: head devblock at
`ZUSE_ELIGIBILITY_LIST_HEAD_DEVBLOCK`=1 (genesis marker owns 0). Growable via a singly-
linked chain of devblocks (`next_devblock_from_top`, `ZUSE_ELIGIBILITY_LIST_NO_NEXT` =
sentinel) drawn from the already-reserved 128-devblock `BLK_META_FENCE_INIT` budget — no
fence-growth logic needed yet, only 2 of 128 devblocks are spoken for. Type only, no
read/add/check logic yet (that's item 18) and no callers, so this acceptance run only
confirms the header is syntactically clean (verified via a standalone `gcc -fsyntax-only`
compile, and via the struct-size static assert) and doesn't break the build. Verified
3-arch boot to `ok>` (amd64/aarch64/riscv64).
- [ ] **18.** Implement read/add/membership-check functions in C.
- [ ] **19.** Add a Zuse-only FORTH word to add an entry, gated by `zuse_session`.