Opus Review — Search/Vector Hygiene + KB Architecture Direction
Opus Review — Search/Vector Hygiene Report + KB Architecture Direction
Date: 2026-05-05 | Reviewer: Opus Reviewed:
reports/inv-search-vector-hygiene-context-pack-report.mdrev1 User directive: Thiết kế cho 100% data, không phải sửa rồi 1% lại làm lại.
Verdict
Report PASS — 13/13 câu hỏi trả lời đầy đủ. Số liệu rõ ràng, chứng minh context-pack gây nhiễu nghiêm trọng.
Phát hiện chính
| # | Phát hiện | Mức độ |
|---|---|---|
| 1 | 1.174 docs CP = 37.5% KB, ước >60% vector pool | NGHIÊM TRỌNG |
| 2 | Query Q5 100% pollution, 5 near-duplicate score ≈ 0.3997 | NGHIÊM TRỌNG |
| 3 | Đ43 không có TTL/retention/deindex policy | GAP |
| 4 | DOT script accumulate, README nói overwrite → mâu thuẫn | BUG |
| 5 | 9 build gần nhất chỉ 1 file (pipeline degradation) | BUG riêng |
| 6 | Metadata đủ nhất quán để filter (source=dieu43_context_pack_publish) |
TỐT |
| 7 | FS retention chưa xác nhận, PG manifest chưa inspect | CẦN KIỂM THÊM |
Đồng ý với Agent: D + H staged
- Stage 1 (D): Search default exclude context-pack. Ngay, 0-rủi-ro.
- Stage 2 (H): DOT script xóa bản cũ khỏi KB sau upload bản mới. FS giữ 7 ngày.
- Stage 3: Dọn 1.174 bản historical đã tồn tại.
Nhưng chưa đủ — User yêu cầu thiết kế cho 100%
Anh Huyên nói rõ: "Giờ mới 0.01% data. Thiết kế cho 100%, không phải đến 1% rồi làm lại."
Context-pack chỉ là triệu chứng đầu tiên. Gốc rễ: KB/vector không có governance — ai upload gì cũng vào cùng 1 index, không phân loại, không TTL, không tier, không quota. Khi data tăng lên 100x, vấn đề sẽ lặp lại với:
- Registries (222 docs hiện tại, sẽ là hàng ngàn)
- Reports/reviews (đang tăng nhanh mỗi phiên)
- TAC content (mỗi luật = nhiều unit_version)
- Future data sources (Lark, workflows, KG)
Đề xuất: KB Governance Framework (tầm nhìn dài hạn)
Nguyên tắc (từ Hiến pháp áp dụng sang KB):
- §0-AU: Không hardcode → KB phải metadata-driven, filter bằng config
- NT2: 100% tự động → TTL/cleanup tự động, không dọn tay
- NT4: Thay đổi = config, không sửa code → thêm collection type = thêm config row
- NT11: Khai tối thiểu → upload doc chỉ cần path + content, hệ thống tự phân loại
4 tier đề xuất:
| Tier | Mô tả | TTL | Vector | Ví dụ |
|---|---|---|---|---|
| T0 Canonical | Luật, architecture, process | Vĩnh viễn | Hot, ưu tiên cao | Đ43, QT-002, HP |
| T1 Working | Design, reports, reviews, prompts | Vĩnh viễn hoặc archive sau enacted | Hot | Pack 2B design, P2B-P1 report |
| T2 Ephemeral | Snapshots, context-pack, staging | Giữ latest, xóa cũ | Hot-lite (chỉ latest) hoặc exclude default | context-pack builds |
| T3 Registry | Auto-generated catalog entries | Vĩnh viễn | Hot nhưng structured search | meta_catalog, registries |
Cơ chế thực thi:
- Upload API nhận
tierparam (hoặc suy từ path prefix) - Search API default filter: T0 + T1 + T3. T2 chỉ khi opt-in.
- TTL cron job: T2 chỉ giữ N bản latest, xóa cũ
- Quota alert: nếu 1 prefix vượt X% total → cảnh báo
Đây không phải thiết kế mới từ đầu — nó áp dụng cùng triết lý Đ43 (section_definitions, health_checks PG-driven) vào KB layer.
Câu hỏi cho GPT/User
- Stage 1 (D: search filter) — approve triển khai ngay?
- Stage 2 (H: DOT script delete old) — approve thiết kế?
- KB Governance Framework — có nên mở track thiết kế riêng (Đ45 hoặc phụ lục Đ43)?
- Pipeline degradation (9 build gần nhất chỉ 1 file) — mở TD riêng?
- Context-pack nên ngừng upload lên KB hoàn toàn (chỉ filesystem) hay giữ latest trên KB?
Ghi nhận bổ sung
Phiên này cũng có birth pipeline inventory report chưa review:
reports/p2b-inv-birth-pipeline-inventory-report.md
Phát hiện lớn: 162 birth triggers runtime (không phải 31) — 131 triggers cũ birth_trigger_* + 31 mới trg_birth_*. Cần review riêng.
Opus review vector hygiene + KB architecture | 2026-05-05 | Report PASS. D+H staged. KB Governance Framework đề xuất.