AGENTICRAIL ENFORCEMENT SPECIFICATION v1.0 DATE: 2026-05-17 ENTITY: TUARA KURI LIMITED DECISIONS: ALLOW, DENY, HALT ENFORCEMENT RULES: 1. Unknown function -> DENY 2. action_type not permitted for function -> DENY 3. step !== function name -> DENY 4. Sequence already sealed -> DENY:SEALED_SEQUENCE 5. Nonce already used -> DENY:REPLAY_NONCE 6. Step out of order -> DENY:SEQUENCE_VIOLATION 7. Timestamp stale (|ts_ms - now| > 300s) -> DENY:STALE_TIMESTAMP 8. All pass -> ALLOW MSMD SPINE: intake,disruption,instability,state_read,internal_driver,execution,boundary,settle HOKIANGA SPINE: dialect_request,hapuu_identity,corpus_query,provenance_token,compression_check,kaitiaki_gate,output_authorised,settle ALLOW RECEIPT FIELDS: action,action_type,attestation,decision,function,key_id,nonce,pack_id,payload_hash,prev_receipt_id,schema_version,sequence_id,signature,step,ts_ms DENY RECEIPT FIELDS: decision,denial_code,expected_step,function,nonce,pack_id,sequence_id,signature,step,ts_ms DENIAL CODES: POLICY_VIOLATION,REPLAY_NONCE,SEALED_SEQUENCE,SEQUENCE_VIOLATION,STALE_TIMESTAMP PACK_ID: SHA-256 of canonical JSON (alphabetically sorted keys) PREV_RECEIPT_ID: SHA-256 of previous receipt (chain linkage) PAYLOAD_HASH: SHA-256 of raw request body SIGNATURE: HMAC-SHA256 KEY_ID: k1_2026-02-22_01 VERIFICATION: report.agenticrail.nz (no login, no operator required)