§H.12 steps 21-22: ELEVATE-REQUEST + ELEVATE-GRANT + SEND-ELEVATE-REQUEST
Phase 7 complete, closing out §H.12's punch list. MSG-DELIVER turned out to VM-EXEC payload text directly rather than dispatching by type, so the "handler" is ELEVATE-GRANT, a word the delivered text calls. New Hera-only C primitives (ZUSE-ELIGIBLE?, NAME>XT, ELEVATE-PUBKEY-UNPACK) stay plain and unconditional; capsules/zuse-eligibility.4th composes the actual eligibility check + ACL-ALLOW!/ACL-TTL! grant in FORTH. SEND-ELEVATE-REQUEST (common:messaging.4th) builds the payload text and sends it via the item-20-gated CH-REQUEST. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QgooKd5hJNtTYqB6CyK5f9
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
cb6e079a73
commit
2b9fa02354
@@ -0,0 +1,26 @@
|
||||
Block 4021
|
||||
( zuse-eligibility.4th - H.5/H.8 elevation grant )
|
||||
( C prims: ZUSE-ELIGIBILITY-ADD ZUSE-ELIGIBLE? )
|
||||
( NAME>XT ELEVATE-PUBKEY-UNPACK )
|
||||
( Policy word this file: ELEVATE-GRANT. Runs in )
|
||||
( Hera's own dict -- delivered here by messaging.4th's )
|
||||
( MSG-DELIVER via VM-EXEC when a session calls the )
|
||||
( common:messaging.4th SEND-ELEVATE-REQUEST entrypoint. )
|
||||
( FABRIC-3.md H.12 step 21, 2026-09-03. )
|
||||
CREATE ELEVATE-PK-BUF 32 ALLOT
|
||||
|
||||
Block 4022
|
||||
( ELEVATE-GRANT ( waddr wu pk0 pk1 pk2 pk3 -- ) )
|
||||
( Reconstructs the caller's pubkey, checks Zuse's )
|
||||
( eligibility list, and on match grants the named )
|
||||
( word ACL-ALLOW!/ACL-TTL! via the same reused )
|
||||
( ACL-TTL mechanism H.5 decided on. No grant, no )
|
||||
( error, on any mismatch -- silent refusal. )
|
||||
: ELEVATE-GRANT ( waddr wu pk0 pk1 pk2 pk3 -- )
|
||||
ELEVATE-PK-BUF ELEVATE-PUBKEY-UNPACK
|
||||
ELEVATE-PK-BUF ZUSE-ELIGIBLE? IF
|
||||
NAME>XT DUP IF
|
||||
1 OVER ACL-ALLOW!
|
||||
ACL-BASE-TTL SWAP ACL-TTL!
|
||||
ELSE DROP THEN
|
||||
ELSE 2DROP THEN ;
|
||||
Reference in New Issue
Block a user