Kho-tam SSOT rewrite — 02 Opus critique checklist
02 — CHECKLIST CRITIQUE OPUS (14 điểm) — verdict + bằng chứng
Mỗi điểm: Verdict (CONFIRMED = critique đúng, draft sai / REFUTED = critique sai / PARTIAL) + bằng chứng SSOT/live + xử lý trong v2.
Nhóm 2.1 — Mâu thuẫn với SSOT
1. Enum tầng sai? — CONFIRMED.
Draft: atom/molecule/cell/organ/building/system. SSOT Điều 0-B: atom/molecule/compound/material/product/building (+meta cho Loài). Live PG: meta_catalog có đủ {atom,molecule,compound,material,product,building,meta}; KHÔNG có cell/organ/system. → v2 §2.1 sửa enum + mọi --layer.
2. --scope C1/C2 đủ không, hay key theo cell_id 4 chiều? — CONFIRMED (đổi sang 4 chiều) + HOLD.
SSOT: ô định danh bởi cell_id (tầng, loài, kho, miền). C1 là tên miếng LEGO, không phải một chiều. Nhưng cell_id chưa materialize (CONS-003; Đ36 amendment chặn; live không có cột cell_id). → v2 §2/§9 dùng toạ độ 4 chiều làm nhãn khái niệm, --piece cho tên LEGO; HOLD H2.
3. Bỏ qua "No lane before checker"? — CONFIRMED.
quick-rules rule 32: "chưa có checker fail-closed chạy block-mode thì lane chưa mở. A paper lane is no lane." Draft đề xuất promote-plan mà không checker. → v2 §8/§14 thêm checker bắt buộc, hoãn promote-plan.
4. Logic xóa có fail-safe lifecycle? — CONFIRMED (draft yếu). Draft xóa theo manifest/tên. SSOT S14 + addendum §7c: chỉ xóa draft/expired/quarantined; cấm xóa checking/promote_ok/approved; nghi ngờ thì không xóa. → v2 §12.1 allowlist/denylist state + §12.2 xóa bằng cấu trúc.
5. Bỏ qua substrate staging hiện có? — CONFIRMED (lỗi lớn nhất).
Live: iu_core.iu_staging_record(15)+iu_staging_payload(32) đang dùng thật; schema sandbox_tac↔cutter_governance; governance_candidate_state/object (0 dòng). Draft tự chế lego_sandbox_*, không nhắc gì. → v2 §7 nối vào substrate thật + HOLD H3.
Nhóm 2.2 — Rủi ro kỹ thuật
6. DB riêng / schema riêng / txn rollback / phân tầng theo loại? — PARTIAL (tất cả, có tầng). Không phải chọn một. Map Điều 41 S0–S5: R0 record / R1 txn-rollback / R2 schema / R3 DB. → v2 §4 menu cô lập, chọn mức nhẹ nhất.
7. lego_sandbox_base tạo hidden second SoT? — CONFIRMED (rủi ro thật).
quick-rules rule 9: kho chính chỉ nhận qua promote; M-6: output kho tạm không bao giờ là thay đổi đã áp. Base persistent có thể trôi thành SoT ẩn. → v2 §6.2 base KHÔNG là SoT (projection phái sinh).
8. stale-after / base_hash gate khi kho chính đổi? — CONFIRMED (draft thiếu gate). Draft chỉ ghi base version. → v2 §6.3 base_hash + stale_after gate + §11 buộc sync khi STALE.
9. IO contract có phải trung tâm? — CONFIRMED (nên trung tâm). README: mỗi ô = Công thức+DOT+Governance+IO Contract; IO_STAMP là precondition promote. Draft để IO contract như phụ. → v2 §3.1 đưa IO Contract lên đầu, trung tâm.
10. Evidence dry-run ghi ở đâu để không bẩn KB chính? — PARTIAL (draft mơ hồ). → v2 §13: evidence staging-local (iu_staging_record.metadata / reports/ của lane), KHÔNG ghi canonical birth/registry/luật.
11. Quota/trần tài nguyên/concurrency? — CONFIRMED (draft KHÔNG có). SSOT chưa có con số. → v2 ghi nguyên tắc + HOLD H7 (cần owner cho trần).
12. Deterministic seed/clock/random? — CONFIRMED (draft KHÔNG có). → v2 §3.4 yêu cầu determinism (fixed seed/clock) để tái lập.
13. Cấm PII/secret thật trong seed? — CONFIRMED (draft yếu). WF-06 §5 cấm hardcode secret/fake approval row. Draft chỉ "không copy dữ liệu nhạy cảm". → v2 §3.4 CẤM TUYỆT ĐỐI PII/secret/authority thật.
14. DROP sandbox an toàn bằng cấu trúc hay chỉ tin manifest? — CONFIRMED. Đ41 §2A.6: DROP SCHEMA/DB theo tên; DELETE chỉ khi tag đầy đủ + precheck count + không trộn production. Draft tin manifest. → v2 §12.2 xóa bằng cấu trúc.
Tổng kết
14/14 điểm critique: 11 CONFIRMED, 3 PARTIAL. 0 điểm REFUTED — critique Opus đứng vững toàn bộ. Tất cả đã xử lý trong v2 hoặc chuyển HOLD (H2/H3/H7).