KB-7965

PD Runtime Observation — 01 Live State & SSOT Confirmation

4 min read Revision 1

01 — Live State & SSOT Confirmation

SSOT read (live evidence wins over reports)

  • Checkpoint checkpoint-process-discovery-runtime-correlation-2026-06-04.md — read in full. Confirms substrate apply-ready, 8 v2 views live, 7 inactive process.* events, only job:cut verified, baseline births 1,158,162.
  • Doc 06 (execution readiness) — read in full. Confirms no DOT runner exists.

Live execution-environment check (before any mutation)

  • ssh contabo: OK (host vmi3080463). Docker postgres (postgres:16, Up 6 weeks healthy): OK. RW psql user = directus.
  • directus role: rolsuper=false, rolcreatedb=false, rolcreaterole=false — but owns/has CREATE on public (created all prior v2 objects). Sufficient for additive DDL.
  • query_pg MCP: read-only role; current_setting() denied for non-safe params; 5s statement timeout, 500-row cap.

Observation substrate — pre-state

  • to_regclass('process_run_observation') = NULL, process_component_observation = NULL → not yet applied. Ready.
  • Staged DDL contabo:/tmp/02_observation_substrate.sql (3656 B) inspected: additive, no birth trigger, DROP-reversible. Gap: no evidence_type column (only source_system + jsonb evidence_ref.dry_run). Macro §4 requires a typed evidence_type → amended (see doc 02).
  • Rollbacks staged: 02_observation_rollback.sql, 03_event_draft_rollback.sql.

DDL safety — event triggers

Two event triggers exist: evt_trigger_guard_ddl (ddl_command_end) + evt_trigger_guard_drop (sql_drop). Source read: both act only when object_type='trigger' (insert into trigger_guard_alerts + RAISE WARNING). Plain CREATE TABLE/CREATE INDEX/DROP TABLE → no branch fires, no side effect. Proven empirically: trigger_guard_alerts stayed 129 across CREATE rehearsal + commit.

Discovery v2 — pre-state (before observation)

14 v_process_discovery_* views live + v_axis_process_inventory_v2. birth_readiness_v2 = 17 candidates. verified_candidates = 1 (job:cut only).

Per-candidate v2 baseline (readiness_class / confidence / gate):

candidate members v2 class conf gate
job:cut 8 verified_candidate 100 BIRTH_READY_PENDING_OWNER
dot:kg 36 runtime_missing 50 BLOCKED_NEEDS_RUNTIME_AND_CORRELATION
dot:doc / dot:kb / dot:nrm 3/3/11 runtime_missing 50 BLOCKED_NEEDS_RUNTIME_AND_CORRELATION
dot:gov 2 structural_weak 30 BLOCKED_NEEDS_EVIDENCE
(rest) 1–34 not_a_process 0–10

Correlation hook (already in v2)

v_process_discovery_correlation_gaps already names process_run_observation.process_run_id (NOT YET PROVISIONED) as the intended correlation source for non-job (dot) candidates — confirming the v3 wiring is the planned path, not a graft.

Event model

7 process.* types in event_type_registry, active=false. event_missing flag stays true for all candidates (honest). Events NOT activated this macro (out of safe scope).

Execution mode classification: EXECUTION_MODE

Safe additive DDL + RO views + clearly-labelled simulated rows are within authority. No owner/approval/birth/canon/activation performed.

Back to Knowledge Hub knowledge/dev/reports/architecture/process-discovery-runtime-observation-apply-safe-dryrun-2026-06-04/01-live-state-and-ssot-confirmation.md