KB-3848
§2.1-2.3 K0 Timeline + K1 Official Channels
6 min read Revision 1
s176pg-reconfigk0k1investigate
§2.1-2.3 K0 TIMELINE/RETENTION + K1 OFFICIAL CHANNELS
Part of: PG Reform Tools — S176 mission Prev: 01-kien-truc.md ← | → Next: 03-k2-bypass-writers.md Khối điều tra: K0 (timeline + retention) + K1 (official channels)
§2.1 Mốc thời gian (K0)
| Mốc | Ngày | Sprint | Ghi chú |
|---|---|---|---|
| Migration MySQL → PG hoàn tất | 2026-03-13 | S115 | PR #496/#497/#498. Chỉ swap infra, KHÔNG có audit app-layer writers |
2 bảng log system_issues + registry_changelog ra đời |
2026-03-10 | S108 | PR #471 WATCHDOG + #473 SELFHEAL. KS.2 verify: CREATE mới hoàn toàn, KHÔNG phải reset |
| DOT 100% ban hành | 2026-03-30 | S148 | HP v4.4.0 BAN HÀNH, NT-03 trong 11 nguyên tắc |
| Luật DOT v5.0 (Điều 35) | S155 | 2026-04 | 67 domain rules, 271 DOT tools |
| Hiến pháp v4.5.0 + Điều 33 v2.0 | 2026-04-13 | S176 | +Kiến trúc 4 DB + 5 ngoại lệ + 1 password GSM |
Cửa sổ điều tra khả thi:
- H3 (sau DOT 100%): 2026-03-30 → 2026-04-13 = 14 ngày (vi phạm hiện tại, fix ngay)
- H2 (thời MySQL): 2025-12-07 → 2026-03-13 = 96 ngày (qua
directus_activity102k rows) - H1 (trước cả MySQL→PG): không có log runtime, chỉ git history
- (KS.2) "Cửa sổ 4 tháng tối": 2025-12-07 → 2026-03-10 = 93 ngày — trước khi self-healing layer ra đời, không có
system_issues/registry_changelog→ mọi vi phạm thời kỳ này KHÔNG được log
§2.2 Retention log thực tế (K0)
| Nguồn | Min | Max | Retention | Ghi chú |
|---|---|---|---|---|
directus_activity |
2025-12-07 | 2026-04-13 | ~128 ngày | 102,496 rows. Xuyên H2↔H3 |
directus_revisions |
2025-12-07 | — | ~128 ngày | 97,219 rows |
system_issues |
2026-03-10 | 2026-04-12 | ~34 ngày | 1,069 rows. KS.2: ngày sinh hợp lệ S108-SELFHEAL, không phải reset |
registry_changelog |
2026-03-10 | 2026-04-13 | ~34 ngày | 20,614 rows. KS.2: ngày sinh hợp lệ S108-WATCHDOG |
entity_audit_queue |
2026-03-20 | 2026-03-20 | 1 row | Không có producer? Bảng dormant |
dot_tools.last_executed |
— | — | per-DOT timestamp | 157/272 = cùng timestamp 2026-03-31 08:08:57.064Z (bulk backfill, KHÔNG tin được) |
dot_run_log |
— | — | KHÔNG TỒN TẠI | NT12 "DOT cặp" không có backing log runtime |
| PG WAL archive | — | — | OFF | wal_keep_size=0, archive_mode=off, dir 81M |
kb_documents_history |
— | — | 90 ngày | Auto-cleanup fn_kb_history_cleanup() |
kb_audit_log |
— | — | 180 ngày | Auto-cleanup fn_kb_audit_cleanup() |
Phát hiện quan trọng:
- Không có
dot_run_log→ NT12 verify bằng grep + filesystem, không có runtime log - PG WAL archive OFF → không thể replay DDL quá khứ, cửa sổ duy nhất nhìn lại =
directus_activity(128 ngày) - PG database size = 270 MB total → mọi query aggregate dưới 1 giây, scan toàn bộ rất nhanh
last_executedbulk-backfill: 157/272 DOT có timestamp giống nhau đến mili-giây → bằng chứng registry rỗng ruột, không dùng để verify "DOT có chạy không"
§2.3 Con đường ghi PG chính thức (K1)
272 DOT trong dot_tools:
- Tier A (kiểm tra): 49
- Tier B (ghi/hành động): 223
- 42 cặp DOT trùng tên (
DOT-NNNvsDOT_SEMANTIC) → unique thực ≈ 230 coverage_status='complete': chỉ 13/272 (4.8%)- 75% DOT KHÔNG khai
trigger_type - Chỉ 4/272 dual-trigger
- 75/223 writer có
paired_dot= 33.6% → 148 writer KHÔNG có verifier (NT12 vi phạm 66%) - 100% pair khai thì khai đúng
- 38/38 DOT
infrastructure.schemapaired=None (toàn bộ lớp bootstrap không có verifier) - 60/272 (22%) record có
file_path=NULL— KS.3 giải thích 14 trong số này, còn 46 chưa biết (dự đoán thuộc cụm MATRIX + KG + MISC)
3 con đường ghi PG hiện tại:
- Directus REST API (~56 script trong
dot/bin/) — chuẩn L1 theo NT13 PG FIRST - Direct psql/
docker exec postgres(12 script) — schema bootstrap, gọi function. Một số đăng ký, một số bypass - PG function gateway
fn_*(79 functions) —fn_transition_lifecycle,fn_bulk_transition,fn_gov_retire_cascade,fn_law_retire_cascade— đã có sẵn "phôi" gateway, chỉ DOT-111/112 dùng
3 vùng buộc đi thẳng PG (không thể qua Directus):
- Schema bootstrap DDL —
dot-pg-*-ensure,dot-schema-*-apply(Directus REST không expose CREATE TABLE) - PG function call — refresh, transition lifecycle (Directus REST không expose function call)
- Normative law tables —
dot-nrm-*(PG-only, không có collection Directus)
→ Đây là 3 vùng buộc ngoại lệ, hợp pháp hoá trong Điều 33 §13 (E1, E2, E3).
Pattern an toàn:
- 47 occurrences
ON CONFLICT/ 29 file — idempotent tốt - 12 file vẫn còn pattern SELECT-then-INSERT (race risk):
dot-orphan-scanner,dot-gov-seed,dot-nrm-enact,dot-collection-health,dot-matrix-declare,dot-collection-create,dot-pivot-declare,dot-schema-dot-origin-ensure,dot-birth-trigger-setup...
15 script trong dot/bin/ KHÔNG match dot_tools qua file_path (§0-AY):
- 2 không có metadata:
dot-cron-matrix-setup,dot-script-lint(KS.3 làm rõ:dot-script-lintCÓ metadataDOT_SCRIPT_LINTnhưng file_path rỗng) - 13 L1 yếu:
dot-nrm-*× 10,dot-doc-*× 3 — metadata CÓ codeDOT_NRM_*/DOT_DOC_*nhưngfile_path=NULL
File 02 — §2.1-2.3 K0+K1 | Index | S176 | Living doc