T2 RP Audit — 05 Process×Trigger Reliability
05 — Process×Trigger Count Reliability
Counts (live)
| surface | value |
|---|---|
v_process_trigger_actionability_ledger |
12 |
v_trigger_process_relation_candidates |
69 |
v_trigger_process_relation_action_queue |
12 |
v_ax_process_trigger_crosscheck |
7 |
v_rp_process_trigger_action_items |
6 |
v_rp_process_trigger_production_readiness |
11 |
AX-PXT in the universal contract = 12 nodes (substrate 12/12 available).
Actionability ledger — complete and fully attributed
All 12 rows carry severity (2–5) + recommended_owner + recommended_action + blocker_type + safe_now + note. Every gap has an owner, an action, and a severity. PASS — the audit question "does owner/action/severity exist for every gap?" → YES, 12/12.
Process-side gaps: job:cut READY_FOR_PRESIDENT (sev2), 6 candidate births BLOCKED_OWNER (sev3), 0 official RP BLOCKED_NO_PRESIDENT_VOTE (sev5), 11 docker-runtime owner-gated (sev4), 8 dot/bin residual (sev3). Trigger-side gaps: db_dml 408 (sev2, infra review-only), dot_cron 42 / event_type 52 / job_queue 8 / dot_dual 6 / dot_event 5 / dot_on-deploy 4 (sev4, BLOCKED_OWNER → map to wf_process_candidate → canon).
Trigger object_counts in the ledger sum to 525 (the full trigger census) — i.e. 100% of triggers currently map to zero governed process. Consistent with AX-TRIGGER (all TRIGGER_NEEDS_PROCESS_OWNER).
Reliability concerns
- All 12 gaps
safe_now=false— nothing actionable without owner/president authority. This is OWNER_BLOCKED_NOT_BUG: the relation layer is honest that no relation can be established yet. - 0 verified/official process×trigger relations. The 69 relation candidates are unverified proposals (owner-gated). As a count of established relations the answer is 0 (correct); as a candidate funnel it is 69 (unverified). Labeled.
- Host triggers excluded from the relation analysis too (the 525 is DB-only) → same blind spot as doc 04. A process×trigger UI cannot see host-cron-driven processes.
- One-trigger-many-process / many-trigger-one-process cases surface via
crosscheck(7) andrelation_action_queue(12); these are candidate cardinalities, not verified.
Classification
- Ledger completeness → OK (best-instrumented surface in the system).
- 0 official relations / safe_now=false → OWNER_BLOCKED_NOT_BUG.
- Host exclusion → ADAPTER_BLIND_SPOT.
Score: 80/100
The ledger is the gold standard of the audit — every gap fully attributed, counts reconcile to 525. Docked only because all relations are unverified/owner-blocked (correct) and the host layer is invisible.