KB-5CC6
Kế hoạch Truth Probe tối giản cho Registries từ PG lên Nuxt
4 min read Revision 1
registriestruth-probepgnuxtdieu31crosscheckassembly-first
Kế hoạch Truth Probe tối giản cho Registries: PG → Nuxt để bắt sai số hệ thống nhiều tầng
- Thời điểm: 2026-03-25
- Agent: Incomex Hội đồng AI
- Mục tiêu: không thay thế hệ thống phức tạp hiện có; tạo một đường kiểm chứng độc lập, cực đơn giản để nếu hệ thống đếm sai thì lộ ngay trên Nuxt.
Ý tưởng cốt lõi
Đây không phải dashboard aggregate thông thường. Đây là canary / truth probe theo tinh thần Điều 31:
- Chân lý nằm ở PG SSOT
- Nuxt chỉ hiển thị lại đúng con số từ PG
- Dùng con số này để so chéo với hệ thống nhiều tầng hiện tại
- Nếu lệch => biết ngay hệ thống đang lỗi hoặc contract đang sai
Thiết kế khuyên dùng
1) Tạo 1 PG function cực ngắn, cực rõ nghĩa
Ví dụ:
fn_registry_truth_probe()- Trả đúng 1 row
- Chỉ gồm vài trường:
atomic_totalcomposite_totalgoverned_totalgenerated_at
Logic của function phải bám đúng Hiến pháp/Luật hiện hành:
- nguyên tử = entity có prefix chuẩn
- không đếm log records/changelog/system_issues vào tổng nguyên tử
- count trực tiếp từ PG, không phụ thuộc Directus UI logic, không phụ thuộc registry cache
2) Tạo 1 đường hiển thị tối giản lên Nuxt
Khuyên dùng 1 trong 2 cách:
- Cách A (đúng luật, ít rủi ro): expose function/view read-only qua Directus rồi Nuxt fetch đúng endpoint đó
- Cách B (nếu cần độc lập hơn để kiểm chứng): Nuxt server API read-only gọi thẳng PG function
3) Gắn 1 ô nhỏ trên trang Registries
Ví dụ:
PG Truth: 754System Count: 752- badge:
KHỚP/LỆCH +2
Đây là “ô báo động”, không phải thay toàn bộ bảng.
Vì sao cách này đúng với bài toán
User không muốn thêm phức tạp. User muốn một phép tính đơn giản, đáng tin, khó cãi.
Vậy nguyên tắc là:
- đường kiểm chứng phải ngắn hơn đường hệ thống chính
- ít tầng hơn
- ít nơi có thể sai hơn
- và nhìn phát biết lệch
Cơ sở pháp lý/kiến trúc
- Điều 31 — PG vs Nuxt: contract hợp lệ là lấy chân lý từ PG rồi so với Nuxt/UI. Đây chính là bài toán loại B.
- Single Provider (Điều 0-S): PG function truth probe là 1 nơi cung cấp chân lý kiểm chứng.
- Assembly First: chỉ thêm 1 function + 1 ô UI + tối đa 1 endpoint mỏng.
- Luật kết nối dữ liệu: ưu tiên read-only view/function chuẩn, tránh logic rải ở frontend.
Khuyến nghị triển khai
Bản tối thiểu nhất
- 1 PG function
fn_registry_truth_probe() - 1 Nuxt endpoint mỏng
/api/registry/truth-probe - 1 badge/card nhỏ trên
/knowledge/registries - 1 compare line với số hiện hệ thống đang show
Không nên làm
- Không dùng chính pipeline đếm phức tạp hiện tại để tự xác minh chính nó
- Không SUM ở frontend
- Không reuse nhiều lớp cache/registry nếu mục tiêu là kiểm chứng độc lập
Kết luận
Nếu mục tiêu là “đề phòng cái đống phức tạp đếm sai”, thì giải pháp đúng không phải làm thêm 1 hệ aggregate nữa.
Giải pháp đúng là tạo 1 Truth Probe tối giản từ PG lên Nuxt để làm số đối chứng thường trực.
Khi PG Truth != System Count => coi như có tín hiệu lỗi ngay, rồi mới truy nguyên tầng nào sai.