KB-6398
Process Discovery — 07 Discovery Views v2 (LIVE)
4 min read Revision 1
process-discoveryviews-v2liveruntime-gapscorrelation-gaps2026-06-04
07 — Discovery Views v2 (Workstream F) — LIVE
8 additive read-only views committed (incl. the inventory fix from doc 03). v1 views untouched. Birth-free (1,158,148 before==after), rehearsed BEGIN/ROLLBACK net-zero, DROP-reversible (01_views_v2_rollback.sql).
7.1 The views
| view | rows (live) | purpose |
|---|---|---|
v_axis_process_inventory_v2 |
46 | inventory fix — on-demand producers visible, pair-grouped, no inflation (doc 03) |
v_process_discovery_evidence_graph_v2 |
113 | hardened runtime: runtime_real from real run rows, NOT last_executed; adds last_executed_backfill, in_process_inventory_v1/v2 |
v_process_discovery_candidates_v2 |
17 | regroup on hardened runtime; members_with_runtime_real, members_backfill_only, members_orphaned_v2 |
v_process_discovery_runtime_gaps |
17 | per candidate: RUNTIME_PRESENT / RUNTIME_MISSING_BACKFILL_ONLY / RUNTIME_MISSING_NO_LOGS |
v_process_discovery_correlation_gaps |
17 | has_cross_component_correlation + correlation_source; counts system-wide event correlation rows |
v_process_discovery_dot_family_pairs |
43 | producer/verifier pairing coverage per pair_group (pair_complete) |
v_process_discovery_verified_candidates |
1 | candidates meeting the verified bar (real runtime + correlation + start + end) |
v_process_discovery_birth_readiness_v2 |
17 | v2 class + birth_gate_status_v2 + event_missing/owner_missing overlays |
7.2 The two correctness fixes over v1
- Runtime hardening. v1 evidence graph:
has_runtime_evidence = (last_executed IS NOT NULL). Proven wrong —last_executedis a backfill (1 distinct ts,usage_count=0). v2:runtime_real = EXISTS(real run row)viadot_iu_command_run(bycommand_name)/job_queue.finished_at;last_executedsurfaced aslast_executed_backfilland excluded from scoring. Live effect:runtime_realis true for exactly 6 rows (the realjob:cutsteps) and 0 DOTs;last_executed_backfillis true for 0 DOTs in the discovery universe (the 157 backfilled tools are non-underscore, out of universe). No candidate is mis-scored today, and the signal is now correct for tomorrow. - Correlation generalised. v1 granted correlation only to
candidate_kind='job'. v2 keeps that real path (job_queue.run_id) and documents the generic future path (process_run_observation.process_run_id), so DOT candidates have an honest gap (correlation_source = process_run_observation (NOT YET PROVISIONED)) instead of a structural impossibility.
7.3 v1 ↔ v2 comparison (live)
| candidate | v1 band | v1 conf | v2 class | v2 conf |
|---|---|---|---|---|
job:cut |
verified_candidate | 90 | verified_candidate | 100 |
dot:kg |
strong_candidate_structural | 50 | runtime_missing | 50 |
dot:nrm |
strong_candidate_structural | 50 | runtime_missing | 50 |
dot:kb |
strong_candidate_structural | 50 | runtime_missing | 50 |
dot:doc |
strong_candidate_structural | 50 | runtime_missing | 50 |
dot:gov |
weak_candidate | 30 | structural_weak | 30 |
| (others) | weak/not_a_process | ≤10 | not_a_process | ≤10 |
v2 renames the band to name the missing evidence (runtime_missing vs the vaguer strong_candidate_structural) and separates structural candidates from runtime-verified ones — which is the whole point: the engine can now say why a process is not verified.
7.4 Safety / not-done
- Additive only; no
pivot_definitionsinsert (no unretirable births / no unratified equations); RP surfacing stays report-only (doc 09). - One performance note:
birth_readiness_v2uses nestedEXISTSoverevidence_graph_v2(which itself probesinventory_v2via aLIKEonmember_components) and can exceed the 5s RO statement timeout on anORDER BYfull scan; it returns fine via the RW psql channel. A v2.1 could materialisein_process_inventory_v2as a join to remove theLIKE. Noted, not silently shipped.