verify-gate
Purpose: Five gates before commitment. All five must open. One missing = HOLD.
v2.0.0 CHANGE: Added Gate 5 — REALITY. Per Gödel Eureka #4 and Reality-First RULE 1.
The previous 4 gates verified the SYSTEM's internal consistency.
Gate 5 verifies the system's CONTACT WITH REALITY.
The Five Gates
Gate 1: AUTHORITY
- Who is authorizing this action?
- Does the actor have a valid session?
- Is the authority band sufficient for this action class?
- Fail → HOLD — authority insufficient
Gate 2: EVIDENCE
- Is there evidence supporting this action?
- Does evidence carry OBS/DER/INT/SPEC labels?
- Is confidence ≤ 0.90 (F7 HUMILITY cap)?
- Fail → HOLD — evidence insufficient
Gate 3: REVERSIBILITY
- Can this action be undone?
- If irreversible → is there 888_HOLD authorization?
- F1 AMANAH: reversible-first
- Fail → HOLD — irreversibility not authorized
Gate 4: LINEAGE
- Is there a constitutional chain back to F13?
- Is there a session trace?
- Is there a prior verb in the Golden Path?
- Fail → HOLD — lineage broken
Gate 5: REALITY (NEW — v2.0.0)
- Does the claimed state match live reality?
- C4 Reality Drift Gate: probe live endpoints
- E20 Truth Metabolism: are supporting claims still FRESH?
- Fail → HOLD — reality contact broken or stale
- Implementation:
c4_reality_drift_gate.py + truth_metabolism.py
- Doctrine: "Reality before judgment" (Reality-First RULE 1)
Gate Logic
# All five gates must pass for a SEAL
gates = {
"authority": check_authority(session, action),
"evidence": check_evidence(claims, labels),
"reversibility": check_reversibility(action, auth_band),
"lineage": check_lineage(session, constitutional_chain),
"reality": assess_reality_drift(claimed_state, session), # NEW
}
if all(g.passed for g in gates.values()):
verdict = "PROCEED"
elif gates["reality"].verdict == "UNKNOWN":
verdict = "HOLD" # can't verify reality → can't verify safety
elif gates["reality"].verdict == "DRIFT":
verdict = "SABAR" # reality diverges → re-probe before proceeding
else:
verdict = "HOLD" # some other gate failed
Axis 1: Invariants
- authority: arif_verify checks token + command_hash + actor
- evidence_schema: 5-gate checklist: authority|evidence|reversibility|lineage|reality
- reversibility: gate itself is reversible; gated action may not be
- lineage: verification receipt includes all 5 gate results
- reality: C4 probe + E20 metabolism check — LIVE, not cached
- trigger_semantics: irreversible_action OR high_blast_radius OR claim_to_seal OR mutation_request
- failure_contract: HOLD — surface which gate failed, do not proceed
- resource_budget: {'cpu': 'moderate', 'time_ms': 15000, 'entropy': 'neutral'}
- audit_surface: ['gates_passed', 'gates_failed', 'verdict', 'evidence_count', 'reality_verdict']
Axis 2: Bridge Connections
- kernel_verbs: ['arif_verify', 'arif_critique', 'arif_judge']
- skills: ['kernel-bind', 'observe-ground', 'audit-seal', 'know-physics']
- knowledge: ['know-math', 'know-physics']
- protocol: synchronous_rpc
- inputs: {'action': 'string', 'evidence': 'list', 'reversibility': 'enum[reversible,irreversible]', 'blast_radius': 'enum[low,medium,high]', 'claimed_state': 'dict'}
Axis 3: Contrasts
- vs audit-seal: verify-gate runs BEFORE action. audit-seal runs AFTER.
- vs kernel-bind: verify-gate checks action admissibility. kernel-bind checks session identity.
- vs observe-ground: verify-gate checks internal consistency. observe-ground checks external evidence.
1---2name: verify-gate3description: Five gates before commitment: authority + evidence + reversibility + lineage + REALITY. All five must open. One missing = HOLD.4---56# verify-gate78> **Purpose:** Five gates before commitment. All five must open. One missing = HOLD.9>10> **v2.0.0 CHANGE:** Added Gate 5 — REALITY. Per Gödel Eureka #4 and Reality-First RULE 1.11> The previous 4 gates verified the SYSTEM's internal consistency.12> Gate 5 verifies the system's CONTACT WITH REALITY.1314## The Five Gates1516### Gate 1: AUTHORITY17- Who is authorizing this action?18- Does the actor have a valid session?19- Is the authority band sufficient for this action class?20- **Fail → HOLD** — authority insufficient2122### Gate 2: EVIDENCE23- Is there evidence supporting this action?24- Does evidence carry OBS/DER/INT/SPEC labels?25- Is confidence ≤ 0.90 (F7 HUMILITY cap)?26- **Fail → HOLD** — evidence insufficient2728### Gate 3: REVERSIBILITY29- Can this action be undone?30- If irreversible → is there 888_HOLD authorization?31- F1 AMANAH: reversible-first32- **Fail → HOLD** — irreversibility not authorized3334### Gate 4: LINEAGE35- Is there a constitutional chain back to F13?36- Is there a session trace?37- Is there a prior verb in the Golden Path?38- **Fail → HOLD** — lineage broken3940### Gate 5: REALITY (NEW — v2.0.0)41- Does the claimed state match live reality?42- C4 Reality Drift Gate: probe live endpoints43- E20 Truth Metabolism: are supporting claims still FRESH?44- **Fail → HOLD** — reality contact broken or stale45- **Implementation:** `c4_reality_drift_gate.py` + `truth_metabolism.py`46- **Doctrine:** "Reality before judgment" (Reality-First RULE 1)4748## Gate Logic4950```python51# All five gates must pass for a SEAL52gates = {53 "authority": check_authority(session, action),54 "evidence": check_evidence(claims, labels),55 "reversibility": check_reversibility(action, auth_band),56 "lineage": check_lineage(session, constitutional_chain),57 "reality": assess_reality_drift(claimed_state, session), # NEW58}5960if all(g.passed for g in gates.values()):61 verdict = "PROCEED"62elif gates["reality"].verdict == "UNKNOWN":63 verdict = "HOLD" # can't verify reality → can't verify safety64elif gates["reality"].verdict == "DRIFT":65 verdict = "SABAR" # reality diverges → re-probe before proceeding66else:67 verdict = "HOLD" # some other gate failed68```6970## Axis 1: Invariants7172- **authority**: arif_verify checks token + command_hash + actor73- **evidence_schema**: 5-gate checklist: authority|evidence|reversibility|lineage|reality74- **reversibility**: gate itself is reversible; gated action may not be75- **lineage**: verification receipt includes all 5 gate results76- **reality**: C4 probe + E20 metabolism check — LIVE, not cached77- **trigger_semantics**: irreversible_action OR high_blast_radius OR claim_to_seal OR mutation_request78- **failure_contract**: HOLD — surface which gate failed, do not proceed79- **resource_budget**: {'cpu': 'moderate', 'time_ms': 15000, 'entropy': 'neutral'}80- **audit_surface**: ['gates_passed', 'gates_failed', 'verdict', 'evidence_count', 'reality_verdict']8182## Axis 2: Bridge Connections8384- **kernel_verbs**: ['arif_verify', 'arif_critique', 'arif_judge']85- **skills**: ['kernel-bind', 'observe-ground', 'audit-seal', 'know-physics']86- **knowledge**: ['know-math', 'know-physics']87- **protocol**: synchronous_rpc88- **inputs**: {'action': 'string', 'evidence': 'list', 'reversibility': 'enum[reversible,irreversible]', 'blast_radius': 'enum[low,medium,high]', 'claimed_state': 'dict'}8990## Axis 3: Contrasts9192- **vs audit-seal**: verify-gate runs BEFORE action. audit-seal runs AFTER.93- **vs kernel-bind**: verify-gate checks action admissibility. kernel-bind checks session identity.94- **vs observe-ground**: verify-gate checks internal consistency. observe-ground checks external evidence.