KB-5743
S124-FIX-DATA Report
2 min read Revision 1
S124-FIX-DATA Report
Mission: S124-FIX-DATA | Date: 2026-03-15 | PR: #512
TD-167: Triage 738 system_issues
Phân loại chi tiết
31 pre-S116 (2026-03-10, source: dot-layer-integrity-audit):
- Không có mã ISS-NNNN (trước khi có lifecycle)
- 18 thiếu_quan_hệ, 9 thiếu_mã_định_danh, 2 sai_lệch_dữ_liệu, 2 lỗi_lớp_2
- Nhiều bản trùng (cùng entity xuất hiện 2 lần)
- Số liệu đếm đã outdated (count đã fix bởi S116 TRIGGER)
- → ARCHIVED (31 records, resolution: "Pre-lifecycle legacy — batch archived S124")
707 post-S116 (2026-03-14, source: dot-pg-audit-ensure):
- Tất cả có mã ISS-NNNN
- 588 thiếu_quan_hệ (cảnh_báo) — entities chưa có entity_dependencies records
- 119 link_hỏng (nghiêm_trọng) — dependency records trỏ entity không tồn tại
- → KEPT OPEN (707 records, phân loại ghi nhận)
Kết quả: 707 open, 31 archived
TD-174: fn_auto_label_assignment data-driven code_column
Trước (hardcoded):
v_entity_code := COALESCE(v_row->>'code', v_row->>'process_code', v_row->>'table_id');
Sau (data-driven):
SELECT vrc.code_column INTO v_code_column
FROM v_registry_counts vrc JOIN meta_catalog mc ON mc.code = vrc.cat_code
WHERE mc.registry_collection = v_collection LIMIT 1;
v_entity_code := v_row->>COALESCE(v_code_column, 'code');
Lợi ích:
- Thêm collection mới với field tên khác → chỉ cần thêm v_registry_counts entry
- Không cần ALTER FUNCTION
- dot-label-trigger-setup v2.0.0 bao gồm cả fn definition + trigger per table
v_registry_counts sequence fix
- setval() guard: sequence always >= max(id)
- Test INSERT + DELETE: no PK conflict
Verification
| # | Target | Status | Evidence |
|---|---|---|---|
| 1 | open < 738 | PASS | 707 open |
| 2 | archived > 0 | PASS | 31 archived |
| 3 | fn works on INSERT | PASS | WF-001 labels intact after update |
| 4 | sequence OK | PASS | last_value=20 > max_id=19 |
| 5 | verify_counts() = 0 | PASS | 0 mismatches |
| 6 | CI GREEN | PASS | PR #512 |