P3D Pack 1 Phase 5C2A — Publication Authority Ref Probe Report
P3D Pack 1 Phase 5C2A — Publication Authority Ref Probe Report
Date: 2026-05-11 Executor: Opus 4.7 Mode: READ-ONLY — zero mutation performed DB: VPS PostgreSQL (container=postgres, db=directus, schema=public) Prompt:
knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-phase5c2a-readonly-publication-authority-ref-probe-prompt.mdrev2
A. Schemas (information_schema)
A.1 dot_config
| column | type | nullable |
|---|---|---|
| key | text | NO |
| value | text | NO |
| description | text | YES |
| updated_at | timestamptz | NO |
A.2 tac_publication
| column | type | nullable |
|---|---|---|
| id | uuid | NO |
| doc_code | text | NO |
| version | text | NO |
| publication_type | text | NO |
| name | text | NO |
| owner | text | NO |
| description | text | YES |
| lifecycle_status | text | NO |
| enacted_at | timestamptz | YES |
| council_score | numeric | YES |
| approved_by | text | YES |
| risk_tier | text | NO |
| publication_profile | jsonb | NO |
| created_at | timestamptz | NO |
| updated_at | timestamptz | NO |
A.3 information_unit
| column | type | nullable |
|---|---|---|
| id | uuid | NO |
| canonical_address | text | NO |
| unit_kind | text | NO |
| lifecycle_status | text | NO |
| content_anchor_ref | text | YES |
| version_anchor_ref | uuid | YES |
| owner_ref | text | NO |
| parent_or_container_ref | uuid | YES |
| conformance_status | text | NO |
| identity_profile | jsonb | NO |
| created_at | timestamptz | NO |
| updated_at | timestamptz | NO |
| created_by | text | NO |
| updated_by | text | NO |
| deleted_at | timestamptz | YES |
| sort_order | integer | YES |
| doc_code | text | YES |
| section_type | text | YES |
| section_code | text | YES |
B. Concept → column resolution
B.1 dot_config
| Concept | Resolution | Column |
|---|---|---|
| config_key | RESOLVED | key |
| config_value | RESOLVED | value |
B.2 tac_publication
| Concept | Resolution | Column |
|---|---|---|
| tac_pub_pk | RESOLVED | id |
| tac_pub_doc_code | RESOLVED | doc_code |
| tac_pub_publication_type | RESOLVED | publication_type |
B.3 tac_publication authority-like candidates (all candidate_not_approved)
| Column | Match reason | Candidate label |
|---|---|---|
owner |
name contains owner → ownership |
candidate_not_approved |
approved_by |
name contains approved_by → approval authority |
candidate_not_approved |
council_score |
name contains council → governance body |
candidate_not_approved |
No columns matched patterns authority/auth, issuer/issued_by, enacted_by/enactor, committee.
B.4 information_unit
| Concept | Resolution | Column |
|---|---|---|
| iu_pk | RESOLVED | id |
| iu_identity_profile | RESOLVED | identity_profile |
C. Vocab evidence (dot_config)
C.1 Q4 — vocab.publication_authority.%
0 rows. No publication_authority vocab exists.
C.2 Q5 — vocab.publication_type.% + vocab.publication_authority.%
vocab.publication_type.design_doc | design_doc
vocab.publication_type.law | law
Only publication_type vocab present; no publication_authority keys.
D. TAC publication evidence
D.1 Q6 — DIEU-35 row (authority-like columns highlighted)
| Field | Value |
|---|---|
| id | 27e48995-d6a1-4a44-8559-cab6a07fdbe0 |
| doc_code | DIEU-35 |
| version | v5.2 |
| publication_type | law |
| owner | S178-FIX23 |
| lifecycle_status | proposed |
| approved_by | (NULL) |
| council_score | (NULL) |
| risk_tier | highest |
| publication_profile | {unit_count:36, source_path:knowledge/dev/laws/dieu35-dot-governance-law.md, ...} |
D.2 Q7 — All 3 TAC publications
| doc_code | owner | approved_by | council_score | lifecycle_status |
|---|---|---|---|---|
| DIEU-35 | S178-FIX23 | NULL | NULL | proposed |
| DIEU-32 | incomex_council | NULL | NULL | proposed |
| DIEU-28 | INCOMEX | NULL | NULL | proposed |
Observation: all three rows have NULL approved_by and NULL council_score. Only owner is populated, with heterogeneous values (operator-tag, council-name, org-name).
E. Information unit identity_profile evidence
E.1 Q8 — Sample rows
ce937e73… {"title": "test/p3c4/pilot-...", "owner_lookup_ref": "agent:p3c4", "primary_section_type_ref": "section"}
60c0017d… {"title": "test/p3d1/pilot-...", "owner_lookup_ref": "agent:p3d1", "primary_section_type_ref": "section"}
3ffbbaa5… {"title": "Pilot IU Test 001", "owner_lookup_ref": "pilot.owner.iu0", "primary_section_type_ref": "section"}
b9aeb4af… {"title": "P2 Pilot Test", "owner_lookup_ref": "agent:p2-test", "primary_section_type_ref": "section"}
dd27532c… {"title": "P3-P1 Marker Test", "owner_lookup_ref": "agent:p3-p1-test", "primary_section_type_ref": "section"}
E.2 Q9 — All distinct identity_profile keys in use
owner_lookup_ref
primary_section_type_ref
title
publication_authority_ref key is NOT present in any existing IU row.
F. Function source analysis (bounded flags only)
F.1 fn_iu_birth_gate_layer1 (Q10)
checks_authority_key_presence = true
checks_authority_value_non_null = true (RAISE WARNING only — pilot mode, production will BLOCK)
validates_authority_against_vocab = false
authority_vocab_pattern_used = N/A
Source excerpt:
v_val := NEW.identity_profile->>'publication_authority_ref';
IF v_val IS NULL OR v_val = '' THEN
RAISE WARNING 'Birth gate L1 PILOT-ONLY: P-pub1 missing — production sẽ BLOCK';
END IF;
No follow-up SELECT … dot_config WHERE key = 'vocab.publication_authority.' || v_val block (contrast with publication_type_ref which IS vocab-checked).
F.2 fn_iu_create (Q11)
sets_authority_ref_from_input = false
sets_authority_ref_from_lookup = false
requires_prebuilt_identity_profile = false
authority_ref_source_if_set = N/A
fn_iu_create constructs identity_profile internally from parameters p_title, p_owner_ref (or p_actor), p_section_type, and conditionally p_publication_type. There is no publication_authority parameter and no insertion of any publication_authority_ref key into identity_profile.
G. Summary
publication_authorityvocab is absent fromdot_config.tac_publicationhas 3 authority-like columns (owner,approved_by,council_score), allcandidate_not_approved;approved_byandcouncil_scoreare NULL across all 3 rows.- No existing
information_unitrow haspublication_authority_refinidentity_profile. fn_iu_birth_gate_layer1reads the key but only emits WARNING (pilot mode); no vocab validation.fn_iu_createdoes not set the key at all — DIEU-35 pilot migration would need to supply it via another path.
Status block
phase5c2a_probe_status=PASS
report_path=knowledge/dev/laws/dieu44-trien-khai/reports/p3d-pack1-phase5c2a-publication-authority-ref-probe-report.md
no_mutation_performed=true
concept_resolution_complete=true
publication_authority_vocab_exists=false
tac_pub_authority_like_columns=owner, approved_by, council_score
existing_iu_has_authority_ref_key=false
birth_gate_checks_authority_key_presence=true
birth_gate_validates_authority_against_vocab=false
fn_iu_create_sets_authority_ref=false
recommended_authority_ref_source=needs_seed
next_recommended_action=GPT/User decides authority ref source — likely needs_seed (vocab absent + fn_iu_create gap); alternative is to source from tac_publication.owner (candidate_not_approved)
Agent did NOT decide authority value. All TAC candidates labelled candidate_not_approved.
Phase 5C2A Probe rev2 report | Read-only | 2026-05-11