999 Seal · VAULT999
arif_sealKERNEL 999 · Append an entry to VAULT999, the immutable ledger — accepted entries can never be edited or removed; there is no unseal. Use for permanent records of verified outcomes, lessons, and session closure once a verdict exists. ack_irreversible=true is the explicit acknowledgment of permanence, and judge_state_hash binds the entry to the verdict that authorized it. Reversible changes belong in arif_forge under a SEAL. Modes: seal, verify, ledger, changelog, audit, session_close.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 'seal' (default) — append a permanent entry; 'verify' — check one entry; 'ledger' — read the ledger head; 'changelog' — recent appends; 'audit' — integrity check; 'session_close' — close out a session into the ledger. | seal |
| nonce | No | One-time random string (e.g. a UUID) making this request unique; protects against replay of the same call. | |
| payload | No | The content to store forever, as a string (usually JSON-serialized) — the outcome, lesson, or record itself. | |
| actor_id | No | Your agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you. | |
| _envelope | No | Reserved for the transport layer — never fill this in. | |
| session_id | No | Session id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session. | |
| drift_events | No | JSON list of deviations observed, e.g. [{"what": "schema drift", "where": "tools/list"}] — stored with the record. | |
| seal_purpose | No | One sentence saying why this verdict/record must exist, e.g. 'closing deployment D-17'. Stored permanently alongside the record. | |
| witness_type | No | Who witnessed the sealed fact: 'ai', 'human', or 'external' system. | ai |
| session_token | No | Session Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated. | |
| constitutional | No | JSON block of governance metadata (floors consulted, chain references) — normally built by the kernel, not by callers. | |
| actor_signature | No | Cryptographic signature over the request, if your agent holds a key — proves the call genuinely came from actor_id. Omit if you have no key. | |
| ack_irreversible | No | Set true to confirm you understand sealed entries are PERMANENT — they can never be edited or removed. | |
| judge_state_hash | No | Hash string from the arif_judge SEAL response — ties this entry to the verdict that authorized it. | |
| constitutional_chain_id | No | Id of the evidence chain this call belongs to (observe→think→judge→seal). Copy it from the earlier step's response to link the steps together. |