02 — AI/Agent Review State
02 — AI/Agent Review State (Workstream A)
Design
AI review cannot be stored in approval_requests.status (locked by CHECK + lifecycle trigger) and must not be stored in apr_approvals (birth trigger + would pollute the quorum vote count). It therefore lives in a dedicated, birth-free table:
process_axis_ai_review (
subject_kind, subject_code, apr_id,
review_state ∈ {AI_REVIEW_PENDING, AI_REVIEWED_PASS, AI_REVIEWED_FAIL,
NEEDS_MORE_EVIDENCE, AI_REVIEW_STALE},
evidence jsonb, gate_status jsonb, risk_level, irreversible_warning,
recommended_action, delegation_allowed, delegated_action_ceiling,
reviewer, rationale, evidence_hash, ...)
Review is written before any owner or delegated approval. evidence_hash supports AI_REVIEW_STALE detection (re-review when underlying evidence changes).
Verdicts (live in v_process_axis_ai_review_status)
| subject | review_state | recommended action | president? | delegatable? |
|---|---|---|---|---|
| PROC-OWN-01 assign_axis_owner / AX-PROCESS | AI_REVIEWED_PASS | APPROVE_OWNER_ASSIGNMENT | yes | no |
| PROC-OWN-02 register_axis canon + PIV | AI_REVIEWED_PASS | APPROVE_BIRTH_ADMISSION | yes | no |
| PROC-OWN-03 job:cut register+owner+birth | AI_REVIEWED_PASS | APPROVE_BIRTH_ADMISSION | yes | no |
| PROC-OWN-04 dot:kg owner + 10-split | NEEDS_MORE_EVIDENCE | APPROVE_OWNER_ASSIGNMENT (owner ok; birth deferred) | yes | no |
| PROC-OWN-05 activate 7 process.* events | AI_REVIEWED_PASS (activate after first birth) | EXECUTE_GUARDED_ACTION | yes | no |
| candidate job:cut | AI_REVIEWED_PASS | CONFIRM_AS_PROCESS | no | yes |
| candidate dot:kg | NEEDS_MORE_EVIDENCE | REQUEST_MORE_EVIDENCE | no | yes |
| axis AX-PROCESS | AI_REVIEWED_PASS | SEND_TO_GOVERNANCE | no | no |
| pivot PIV-340..353 | AI_REVIEWED_PASS | SEND_TO_GOVERNANCE | no | no |
| event process.* | AI_REVIEWED_PASS | EXECUTE_GUARDED_ACTION | yes | no |
Result: ai_pass = 8, needs_evidence = 2, fail = 0. No owner action lacks an AI review.
Why dot:kg is NEEDS_MORE_EVIDENCE (not PASS)
dot:kg has only a correlated dry-run; REAL_RUN = 0; it is not in verified_candidates_v3. Owner assignment and split authorization are ready, but birthing the 10 split processes must wait for a REAL_RUN ladder. We did not fake verified.
Each verdict carries
evidence list · per-gate gate_status · risk level · irreversible birth/canon warning · recommended action · whether delegation is allowed and to what ceiling.