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