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}); alsodot_iu_sql_link_validate. public.fn_iu_sql_link_resolve_all() RETURNS jsonb— STABLE; resolves each link via viewv_iu_sql_link_resolvedand cross-checks the view result against the direct per-linkfn_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'sview_eq_direct = true— the value returned by the resolution view (v_iu_sql_link_resolved) is byte-identical to the value returned by callingfn_iu_sql_link_validate(id)directly (includingchecked_at). Two independent code paths agree. enabled=falsepolicy: all 3 links areenabled=false, yet all 3 validate and resolve. This confirms the documented policy:enabled=falsesuppresses delivery/capture only, never validation/resolution. The 3 production links remainenabled=falsethroughout (unchanged).
F.5 iu_sql_link schema (columns)
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.