§H.12 step 16: block-acl.4th policy capsule -- Phase 5 (BMAPFMT) complete

capsules/block-acl.4th (blocks 4019-4020, next free range per
BLOCK_MAP.md): BLK-ACL-CHECK (block# -- allow?), a real fast-deny check
mirroring vm.c:611-624's pattern for blocks instead of words. First
touch lazily claims the block (allow=1, TTL=256, same base as ACL.4th's
own), matching the word card's default-permissive baseline. Not a stub --
genuinely does something on every call.

Loaded via a new EXEC line in init.4th right after ACL.4th's own;
confirmed ACL.4th's own activation is unaffected. Passed mkcapsule
--lint. Live-tested via QMP keystrokes: 1 BLK-ACL-CHECK executed cleanly.

Phase 5 (BMAPFMT) is now fully complete -- field layout, flags bits, C
accessors, FORTH wrappers, and a real policy word.

Verified 3-arch boot to ok> (amd64/aarch64/riscv64).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-03 07:44:28 -04:00
co-authored by Claude Opus 5
parent 405c713c4a
commit 46d89dd5be
11 changed files with 27623 additions and 8 deletions
+18 -2
View File
@@ -4078,8 +4078,24 @@ work, not new invention.
keystrokes on the running riscv64 instance**: `1 BLK-ACL-ALLOW@` executed cleanly (`ok`, no
`UNKNOWN WORD` error) against a real block. Verified 3-arch boot to `ok>`
(amd64/aarch64/riscv64).
- [ ] **16.** Add a new policy capsule (mirroring `ACL.4th`) with a real fast-deny check on
top — no stub, per this project's standing "no stubs or TODOs, ever" rule (§C).
- [x] **16. DONE 2026-09-03, live-tested — Phase 5 complete.** `capsules/block-acl.4th`
(blocks 40194020, next free range after `zuse.4th`'s 40164018, verified against
`BLOCK_MAP.md` — CLAUDE.md's block-namespace rule) defines `BLK-ACL-CHECK ( block# --
allow? )`: a real, working fast-deny check mirroring `vm.c:611-624`'s pattern applied to a
block instead of a word. First touch lazily claims the block (`allow=1`,
`TTL=BLK-ACL-BASE-TTL`=256, same base value as `ACL.4th`'s own), matching the word card's
default-permissive baseline — not a stub, genuinely does something on every call. No
automatic TTL-decrement hot path exists for blocks yet (words decrement per-dispatch in
`vm.c`; blocks have no equivalent loop) — out of this step's scope, the fast-deny gate
itself is real and complete regardless. Passed `mkcapsule --lint` cleanly. Loaded via a new
`S" block-acl.4th" EXEC` line in `init.4th`'s Block 2049, right after `ACL.4th`'s own —
confirmed `ACL.4th`'s own activation messages identical before/after this addition (nothing
broken). **Live-tested via QMP keystrokes**: `1 BLK-ACL-CHECK` executed cleanly (`ok`, no
`UNKNOWN WORD`) on the running amd64 instance. Verified 3-arch boot to `ok>`
(amd64/aarch64/riscv64).
**Phase 5 (`BMAPFMT`) is now fully complete** — field layout, `flags` bits, C accessors,
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