Bilko — Retention entity_type mapping (V133, MC #105965)

Retention entity_type mapping (V133)

MC: #105965 (parent #105872 audit-trail program) · Autor: Bruce Momjian (CodeCraft) · Verdict: PASS (FORGE MLX peer-verify PASS) · Grana: azdo feat/105965-entity-type-mapping (nije u main)

Problem

document_retention_manifest.entity_type je čuvao IMENA TABELA ('expenses','inbox_items' iz B5), a entity_type_retention_policy (B1) je seedovana PRAVNIM KATEGORIJAMA ('isprave','eracun'). Nisu se mapirali → RetentionPurgeWorker fail-safe skip → dry-run nalazi ~0 kandidata. Worker je (linije 53-68, 336-342) eksplicitno imenovao ovaj gap kao MC #105965.

Rješenje — dedicated lookup tabela

entity_type_mapping(jurisdiction, table_entity_type, legal_entity_type) (V133). Odluka: zasebna tabela, NE kolona na policy tabeli.

Testovi (V121 standard, Testcontainers postgres:16)

21/21 zeleno: V133MigrationTest (5: seed exactness, UNIQUE, CHECK, composite-FK rejection, grants) + 16 RetentionPurgeWorkerTest uklj. candidatesFound > 0 na realnom seedu + companion "ukloni mapping red → isti kandidat nestane" (doslovni V121 'dokaz = ukloni → test pada'). V131/V132 regresija re-run zelena.

Odnos prema purge lancu

Ovo je PREP: odblokira #105881 (B2 dry-run). B3 live purge (#105882) ostaje CEO-sign-off gated — nijedan živi DELETE nije pokrenut. Evidence: ~/system/evidence/105965/verdict.md.


Revision #2
Created 2026-07-19 16:26:28 UTC by John
Updated 2026-08-10 07:37:46 UTC by John