KB-3E38

Light Follow-ups · 02 fn_iu_create Fingerprint Note

5 min read Revision 1
dot-iu-cutterv0.5light-followups-after-ddl-main-fffn-iu-create-fingerprint-noteg1-passb-fn-iu-create-fingerprint-note-closeddieu442026-05-20

Light Follow-ups · 02 fn_iu_create Fingerprint Note (B-FN-IU-CREATE-FINGERPRINT-NOTE)

doc 2 of 6 · 2026-05-20 · G1 gate

phase                : G1 — enrich fn_iu_create fingerprint note in repo
outcome              : G1 PASS — backlog item closed
production_mutation  : NONE (yaml-only edit; no DB read/write)

1. Why the note needed enrichment

sql/lifecycle/fingerprints.yaml (committed at 1cd286e during DDL ratification) pinned the current md5(prosrc) for fn_iu_create so future drift could be detected — but the entry was a one-liner with no audit trail tying the pin to its KB provenance, nor any record of the previous baseline or the origin of the observed drift.

The post-enactment closeout memory recorded the drift explicitly:

fn_iu_create=3017892a5ac605a6daeaa5348e2a6cdf (DRIFT from survey pin dcade99a… via A-4 patch wave; off critical path; flagged R-7)

That context was only in memory, not in the repo. This macro promotes it into the repo so that anyone reading fingerprints.yaml cold can distinguish "live md5 differs from pin → STOP" (the drift policy) from the historical, sovereign-approved A-4 drift.

2. Edit (exact)

File: sql/lifecycle/fingerprints.yaml (lines 52–57 → 52–63).

Before:

  # NOT in scope (pre-existing; pinned for cross-check only)
  fn_iu_create:
    md5_prosrc: "3017892a5ac605a6daeaa5348e2a6cdf"
    in_scope_of_m3a: false
    note: "pre-existing canonical creator; not modified by M3a-retry"

After:

  # NOT in scope (pre-existing; pinned for cross-check only)
  fn_iu_create:
    md5_prosrc: "3017892a5ac605a6daeaa5348e2a6cdf"
    in_scope_of_m3a: false
    captured_utc: "2026-05-20"
    source_of_pin: "live PG pg_proc.prosrc; cross-checked KB v0.5-post-enactment-closeout-release-readiness/doc 01 (live fingerprint census)"
    prior_md5_prosrc: "dcade99a (truncated) — pre-A-4 patch baseline, recorded in KB v0.5-fn-iu-create-canonical-path-survey-and-redesign/doc 02 (S2 contract survey)"
    drift_origin: "A-4 publication_type=law patch wave (2026-05-20); not part of M3a lifecycle scope. See KB v0.5-first-controlled-cut-canonical-production-execution/doc 01 §A-4."
    drift_disposition: "ACCEPTED — patch wave occurred under sovereign approval; fn_iu_create not modified by M3a-retry; pin recorded here for future drift detection (DRIFT POLICY above)."
    note: "pre-existing canonical creator (SECDEF, set search_path); writes IU + UV(version_seq=1) + anchor in one txn; not modified by M3a-retry"

3. What stayed the same

  • md5_prosrc value unchanged (3017892a5ac605a6daeaa5348e2a6cdf).
  • in_scope_of_m3a: false unchanged.
  • File-wide DRIFT POLICY header unchanged — operator still STOPs on mismatch; the new fields only clarify which mismatches have a documented sovereign-approved origin.
  • No other function entry edited.
  • No DDL emitted, no live PG read, no privileged role used.

4. Why this is "note" and not "DDL drift"

The new fields are pure-comment metadata under the fn_iu_create: key. The function body is not redefined here. Bundles A..E remain the ratified DDL surface; fn_iu_create is referenced only for cross-check (bundle_e_fn_iu_apply_edit_draft_patch depends on it existing, but does not modify it).

5. Provenance cross-references

Field Source
current md5 KB v0.5-post-enactment-closeout-release-readiness/01-live-state-… (live PG census 2026-05-20)
prior md5 KB v0.5-fn-iu-create-canonical-path-survey-and-redesign/02-fn-iu-create-contract-survey-… (S2 survey)
A-4 patch origin KB v0.5-first-controlled-cut-canonical-production-execution/01-canonical-path-preflight-… (A-4 publication_type=law patch wave)
drift policy sql/lifecycle/fingerprints.yaml file header (unchanged, already canonical)

6. G1 result

g1_outcome              : PASS
file_touched            : sql/lifecycle/fingerprints.yaml (1 yaml block)
lines_changed           : +7 / -1
md5_pin_changed         : NO
ddl_changed             : NO
production_touched      : NO
backlog_closed          : B-FN-IU-CREATE-FINGERPRINT-NOTE
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-light-followups-after-ddl-main-ff/02-fn-iu-create-fingerprint-note-2026-05-20.md