KB-61DC
RP Classification Cleanup — 03 Cleanup Plan (per-row)
8 min read Revision 1
registries-pivotcleanup-planclassificationper-row2026-06-03
03 — Classification Cleanup Plan (every row classified)
Cleanup-action taxonomy:
- A safe-fix-via-DOT — governed truth is unambiguous; correct the value through
dot-pivot-declare(NOT manual UPDATE). - B needs-naming-decision — no exact governed value exists yet; a human/council picks the target (FAC-02 label or a new label).
- C must-remain-RP-local — the value is correct as RP-local pivot-shape/drill metadata; the view's derived columns are the fix (no data change).
- D retire — inactive fixture/placeholder; retire via DOT.
- E blocked-by-L2 — none (L1 classification needs no L2).
Full 37-row map
| pivot_code | source_object | act | raw_registry_group | rg_kind | FAC-02 | raw_species | sp_status | raw_comp | comp_status | lane | cleanup |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PIV-001 | meta_catalog | ✓ | cấu_trúc | domain | LBL-101 | catalog | clean | molecule | mismatch | gov_home | A comp→atom |
| PIV-002 | table_registry | ✓ | cấu_trúc | domain | LBL-101 | table_ui | clean | molecule | match | gov_home | none |
| PIV-003 | modules | ✓ | công_cụ | domain | LBL-104 | module | clean | compound | match | gov_home | none |
| PIV-004 | workflows | ✓ | quy_trình | domain | prov | workflow | clean | compound | match | gov_home | B assign FAC-02 |
| PIV-005 | workflow_steps | ✓ | quy_trình | domain | prov | workflow_step | clean | molecule | match | gov_home | B |
| PIV-006 | workflow_change_requests | ✓ | quy_trình | domain | prov | wcr | clean | compound | match | gov_home | B |
| PIV-007 | dot_tools | ✓ | công_cụ | domain | LBL-104 | dot_tool | clean | atom | match | gov_home | none |
| PIV-008 | ui_pages | ✓ | công_cụ | domain | LBL-104 | page | clean | molecule | match | gov_home | none |
| PIV-009 | collection_registry | ✓ | cấu_trúc | domain | LBL-101 | collection | clean | molecule | match | gov_home | none |
| PIV-010 | tasks | ✓ | dữ_liệu | domain | prov | task | clean | compound | match | gov_home | B |
| PIV-011 | agents | ✓ | công_cụ | domain | LBL-104 | agent | clean | atom | match | gov_home | none |
| PIV-012 | checkpoint_types | ✓ | quy_trình | domain | prov | checkpoint_type | clean | atom | match | gov_home | B |
| PIV-013 | checkpoint_sets | ✓ | quy_trình | domain | prov | checkpoint_set | clean | molecule | match | gov_home | B |
| PIV-014 | entity_dependencies | ✓ | giám_sát | domain | LBL-105 | dependency | clean | atom | match | gov_home | none |
| PIV-207 | approval_requests | ✓ | giám_sát | domain | LBL-105 | approval_request | clean | compound | match | gov_home | none |
| PIV-015 | trigger_registry | ✓ | default | pivot_shape | – | governance_infra | clean | atom | match | rp_local | B assign domain |
| PIV-016 | entity_species | ✓ | default | pivot_shape | – | species | ambiguous_meta | atom | mismatch | rp_local | A comp→meta + B domain |
| PIV-017 | species_collection_map | ✓ | default | pivot_shape | – | governance_infra | clean | atom | match | rp_local | B assign domain |
| PIV-018 | entity_audit_queue | ✓ | default | pivot_shape | – | governance_infra | clean | atom | match | rp_local | B assign domain |
| PIV-019 | birth_registry | ✓ | default | pivot_shape | – | governance_infra | clean | atom | match | rp_local | B assign domain |
| PIV-020 | _uncategorized | ✗ | default | pivot_shape | – | NULL | missing | atom | no_ref | inactive | D retire |
| PIV-021 | task_comments | ✓ | default | pivot_shape | – | checkpoint_support | clean | atom | mismatch | rp_local | A comp→molecule + B domain |
| PIV-101 | meta_catalog | ✓ | cross-table | pivot_shape | – | catalog | clean | molecule | drill_overload | rp_local | C keep (drill) |
| PIV-102 | meta_catalog | ✓ | cross-table | pivot_shape | – | catalog | clean | molecule | drill_overload | rp_local | C keep |
| PIV-103 | entity_species | ✓ | cross-table | pivot_shape | – | species | ambiguous_meta | atom | drill_overload | rp_local | C keep (meta-species, drill) |
| PIV-104 | dot_tools | ✓ | cross-table | pivot_shape | – | dot_tool | clean | atom | match | rp_local | C keep |
| PIV-105 | collection_registry | ✓ | cross-table | pivot_shape | – | collection | clean | molecule | match | rp_local | C keep |
| PIV-106 | meta_catalog | ✓ | cross-table | pivot_shape | – | catalog | clean | molecule | drill_overload | rp_local | C keep |
| PIV-201 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | atom | match | rp_local | C keep |
| PIV-202 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | molecule | drill_overload | rp_local | C keep |
| PIV-203 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | compound | drill_overload | rp_local | C keep |
| PIV-204 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | material | drill_overload | rp_local | C keep (law-valid drill) |
| PIV-205 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | product | drill_overload | rp_local | C keep |
| PIV-206 | meta_catalog | ✓ | l2-drill | pivot_shape | – | catalog | clean | building | drill_overload | rp_local | C keep |
| MTX-L1-OVERVIEW | birth_registry | ✓ | matrix_l1 | pivot_shape | – | NULL | missing | matrix | no_ref | rp_local | C keep (matrix; null OK) |
| MTX-L2-ATOM | birth_registry | ✓ | matrix_l2 | pivot_shape | – | NULL | missing | matrix | no_ref | rp_local | C keep (matrix) |
| MTX-TEST | birth_registry | ✗ | test | pivot_shape | – | NULL | missing | matrix | no_ref | inactive | D retire (DOT-314) |
Coverage of the mission's named cases
- dirty (non-canonical composition values):
material/product/buildingon PIV-204/205/206 — C keep. These are law-valid composition values (Đ26 td-matrix ladder: atom/molecule/.../building) used as a drill axis, not garbage. Flaggeddrill_overload. - mismatch-vs-governed (real bugs): PIV-001, PIV-016, PIV-021 — A safe-fix-via-DOT (3 rows).
- ambiguous (
species='species'): PIV-016, PIV-103 — resolve to governedSPE-SPE(composition=meta). PIV-016 also gets comp→meta (A); PIV-103 keep as drill (C). Not orphans, not bugs. - missing (
speciesnull): MTX-L1/MTX-L2 (matrix → null is correct, C); MTX-TEST + PIV-020 (inactive → D retire). - matrix/null: the 3 MTX rows — C (matrix shape) / D (MTX-TEST inactive).
- orphan: 0 — every non-null species is a governed
species_code.
Summary of required actions
| Action | Rows | Detail |
|---|---|---|
| A safe-fix-via-DOT (composition) | 3 | PIV-001→atom, PIV-016→meta, PIV-021→molecule |
| B needs-naming-decision (domain assignment) | 12 | 6 provisional (quy_trình×5, dữ_liệu×1) + 6 default-bucketed gov-home (PIV-015/016/017/018/019/021) |
| C must-remain-RP-local (no data change) | 14 | cross-table/l2-drill/matrix drill + meta-species drill |
| D retire | 2 | PIV-020, MTX-TEST |
| E blocked-by-L2 | 0 | classification needs no L2 |
Note PIV-016 appears in both A (composition) and B (domain) — one row, two corrective fields; both applied in a single dot-pivot-declare.