KB-1C6C

F — SQL Link Validate / Resolve Evidence (2026-05-29)

4 min read Revision 1
iuevidencesql-linkdot

F — SQL Link Validate / Resolve Evidence

Capability: validate/resolve IU SQL links to live PG objects; compare wrapper result vs direct result; show enabled=false policy does not block validation. Verdict: PASS. Channel: read-only via shipped DOT wrapper. Mutation: none.

F.1 Command & function

  • DOT command: dot_iu_sql_link_resolve (target_functions {fn_iu_sql_link_resolve_all, fn_iu_sql_link_validate}); also dot_iu_sql_link_validate.
  • public.fn_iu_sql_link_resolve_all() RETURNS jsonb — STABLE; resolves each link via view v_iu_sql_link_resolved and cross-checks the view result against the direct per-link fn_iu_sql_link_validate(id).
  • public.fn_iu_sql_link_validate(p_link_id uuid) RETURNS jsonb — STABLE (per-link).

F.2 Input

SELECT fn_iu_sql_link_resolve_all();

F.3 Output (raw jsonb, abridged to fields)

{
  "mode": "resolve_all",
  "total_links": 3,
  "resolved_true": 3,
  "all_view_eq_direct": true,
  "links": [
    { "id": "e73fef17-5736-441b-99b0-8a2767060d7b", "object": "public.v_iu_section_type_vocab_sync",
      "object_kind": "view", "enabled": false, "resolved": true, "view_eq_direct": true,
      "view_validation": { "detail": "pg_class_match", "resolved": true, "object_kind": "view" },
      "canonical_address": "knowledge/dev/laws/dieu39-knowledge-graph-law.md#7-36-dot-kg" },
    { "id": "c9ed8792-fa2e-4b89-bbda-b5d9b8abe232", "object": "public.fn_iu_three_axis_envelope_refresh",
      "object_kind": "function", "enabled": false, "resolved": true, "view_eq_direct": true,
      "view_validation": { "detail": "pg_proc_match", "resolved": true, "object_kind": "function" },
      "canonical_address": "knowledge/dev/laws/dieu39-knowledge-graph-law.md#8-kien-truc" },
    { "id": "48bd6ac6-7e48-4e6b-87de-aad08c0d8ce1", "object": "public.tac_publication",
      "object_kind": "table", "enabled": false, "resolved": true, "view_eq_direct": true,
      "view_validation": { "detail": "pg_class_match", "resolved": true, "object_kind": "table" },
      "canonical_address": "knowledge/dev/laws/dieu39-knowledge-graph-law.md#title" }
  ]
}

F.4 Interpretation / what a human can look at

  • 3 links, all resolved to live PG objects: a view (v_iu_section_type_vocab_sync, pg_class_match), a function (fn_iu_three_axis_envelope_refresh, pg_proc_match), and a table (tac_publication, pg_class_match).
  • Wrapper == direct: all_view_eq_direct = true, and each link's view_eq_direct = true — the value returned by the resolution view (v_iu_sql_link_resolved) is byte-identical to the value returned by calling fn_iu_sql_link_validate(id) directly (including checked_at). Two independent code paths agree.
  • enabled=false policy: all 3 links are enabled=false, yet all 3 validate and resolve. This confirms the documented policy: enabled=false suppresses delivery/capture only, never validation/resolution. The 3 production links remain enabled=false throughout (unchanged).

id, canonical_address, link_role, object_kind, object_schema, object_name, collection_name, row_pk, function_identity, trigger_name, direction, lifecycle_status, enabled, object_fingerprint, idempotency_key.

F.6 Safety

Read-only STABLE function. No mutation, no gate touched; the 3 links stay enabled=false.

Back to Knowledge Hub knowledge/dev/reports/architecture/iu-a-to-f-automated-evidence-and-demo-pack-2026-05-29/06-F-sql-link-evidence.md