All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m25s
Ap spec-apply-hub-s145-v2 (5 axis, governance-only: 0 prod-code, 0 migration). Workflow S145 chet giua chung -> /tiep §4 relaunch-cat-gon wf_3d803740-41d 3/3 DONE. Owner-decision @S146: - session_ctx_kb = 64 TUONG-MINH (giu nguyen caveat ghost-wire: 0 reader) - session-model: scaffold IDEMPOTENT (tach cap-SO vs tao-THU-MUC) · closed.md WIRE (session-end §6.3-bis) · V2 AUTO (go cong NGUOI, GIU cong NHIP 6/15/3) Landed: C7 §N.8 predicate 4-ve · hook wal-flush.ps1 4 path (+.claude/sessions/) · San-3 tin-hieu ⑤ + ORPHAN-L · D2 KIEM end-only · §L.c completeness-gate co RANG. LIVE-VERIFY hook 4-path PASS repo THAT (da7ee8a). Session-model chay TRON VONG dau tien: pause-S146 -> resume-S146 -> ORPHAN-L can so. H24 force-fire (P=8 pause >= 1, luat auto moi): 2 vai + h24-audit -> 7 FLAG, va het: - sweep-consent sot 6 site (h24-audit.md:4 = frontmatter description) - closed.md wired-but-declared-unwired (ghost-wire CHIEU NGUOC) - owner-decision [7] BI GHI DE do tai-dung slot-index -> mat uy-quyen push 3/3 vai lane-H24 garble #53: ghi-dia-SOM cuu tron, ghi-MUON mat trang. So: orphan run-folder 3->0 · carry 14->20 (co tag [carry:*]) · +E-013 +E-014 error-ledger · +memory feedback_absence_looks_like_clean · .gitignore +lock file. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
60 lines
7.1 KiB
Markdown
60 lines
7.1 KiB
Markdown
---
|
|
id: 2026-07-19-Governance-harness-dong-du-vong-audit-va-eval-use-side
|
|
from: ai_infra
|
|
to: all-fit
|
|
targets: all-fit
|
|
category: Governance
|
|
type: update
|
|
date: 2026-07-19
|
|
supersedes: null
|
|
re: "Đóng 2 lỗ cuối của khung tự-bảo-trì 5-vòng (owner-lệnh 19-07): ① mỗi vòng-ĐO nay có vai-KIỂM độc-lập (trước chỉ vòng-3 có) — mỗi vòng-đo còn thiếu nhận một vai-audit riêng, dogfood lần đầu tất cả PASS; ② eval thêm phía SỬ-DỤNG: đo cross-session 'nạp rồi có DÙNG thật không' theo evidence, nhãn floor trung thực (DORMANT ≠ MISS). Khung sàn 4 khoản dưới; hình-thức mỗi dự-án tự quyết."
|
|
status: "PUBLISHED s105 (2026-07-19) — anh-lệnh gỡ-defer 19-07 · gate PASS-W-FIXES folded · stamp exit-0 · sister pull /adap-apply."
|
|
content_sha256: "c034a916eb92b0c1709f8e8eeb4433b360df8b7a9db87d4f3dc4c0da92af928b"
|
|
reviewer_gate: "PASS-W-FIXES (gate-sub s105 2026-07-19 — 2-MINOR {52-exact · floor-phrasing} + C-3-generalize + C-4-clarify ĐÃ fold · falsify 5/5 HELD, khoản-③ verified nhất-quán bản checklist trước)"
|
|
---
|
|
|
|
# Khung tự-bảo-trì: đóng đủ vòng — vòng nào đo cũng có vòng kiểm, eval đo cả phía dùng
|
|
|
|
> 🎯 **Một dòng tóm:** trước đây trong khung 5-vòng chỉ vòng-3 (memory) có con thứ-ba soi lại 2 con đo; owner chốt bổ sung — nay **mọi vòng-đo đều có vai-kiểm độc-lập**, và eval có thêm phía **sử-dụng** (nạp vào rồi có dùng thật không), không chỉ phía **nạp** (presence).
|
|
|
|
Chào các dự án. Bản này là `type:update` chồng lên khung 5-vòng tự-bảo-trì + checklist-5-vòng đã phát trước đây — khung cũ giữ nguyên, đây là phần ĐÓNG NỐT 2 lỗ mà chính owner đã nhận diện từ trước và nay gỡ defer.
|
|
|
|
## 1. Lỗ thứ nhất — vòng đo mà không ai kiểm
|
|
|
|
Bài học gốc (đã phát trong khung trước): vòng-3 có con thứ-ba kiểm lại 2 con đo, và ngay lượt chạy đầu nó bắt được verdict sai trước khi vào sổ vĩnh viễn. Các vòng còn lại (tooling/harvest · soi-lead · nén-ngủ) khi đó vẫn là "2 con đo, 0 con soi" — lỗi của con đo sẽ vào sổ mà không ai biết. Owner đã defer; nay chốt đóng. (Vòng thứ-năm — sàn-sự-thật — không cần vai-audit riêng: nó là floor chính-sách áp tại chỗ lúc viết artifact, không phải vòng-đo có con-đo để kiểm.)
|
|
|
|
**Cách hub đóng:** thêm cho MỖI vòng-đo còn thiếu một vai-audit riêng, cùng khuôn với vai kiểm của vòng-3:
|
|
- **Audit vòng tooling/harvest** — soi báo-cáo 2 con đo vòng đó: spot-check từng con số bằng tay mình (đếm lại plugin, grep lại record-map, wc lại byte), chủ động tìm cách bác ≥2 claim.
|
|
- **Audit vòng soi-lead** — kiểm từng FLAG có evidence thật không, VÀ **thách vùng CLEAN** (chọn ≥1 lens đang báo sạch, tự re-check mẫu — chống "sạch giả", lens xoay vòng giữa các phiên).
|
|
- **Audit vòng nén-ngủ** — kiểm máy-archive 2 tầng (gates bảo-toàn byte khi có move; no-op thì verify no-op-đúng-vì-dưới-ngưỡng chứ không phải máy chết im) + chất-lượng bản nén theo content-diff (không tin mtime).
|
|
|
|
**Dogfood thật (lần chạy đầu, cùng ngày phát bản này):** các audit mới đều trả PASS-kèm-cờ-nhỏ với đòn falsify có răng — một con re-đo 11/11 claim khớp chính xác từng byte; một con xác nhận 2 FLAG của con đo là true-positive và fix của lead đúng+đủ; một con tự định-lượng lại nợ-nén và xác nhận bounded. Không con nào rubber-stamp: mỗi verdict kèm mục "đã-thử-phá-gì, đòn nào giữ".
|
|
|
|
## 2. Lỗ thứ hai — eval chỉ đo "nạp", chưa đo "dùng"
|
|
|
|
Đo presence (nạp có mặt trong ngữ cảnh) không trả lời câu "cái đã nạp có được DÙNG thật khi ra quyết định không". Hub bổ phép đo **cross-session theo evidence**: lấy mẫu các guard/mark đang active, quét sổ các phiên gần nhất xem từng cái có được trích/fire thật không.
|
|
|
|
- Kết quả trả 3 nhãn trung thực: `APPLIED` (có evidence trích/fire trong cửa sổ) · `DORMANT` (0 evidence — **KHÔNG đồng nghĩa MISS**: có thể đơn giản là chưa gặp tình huống) · phần DORMANT được đánh dấu chờ judge-layer phân xử MISS-vs-DORMANT khi cần.
|
|
- Con số % đi kèm caveat NẰM TRONG payload: *"% = FLOOR theo evidence, không phải ceiling"* — chống đọc nhầm số thấp thành hệ hỏng.
|
|
- Test đi kèm bắt buộc có **negative-control** (bơm id giả → máy PHẢI trả 0-hit; trả APPLIED = matcher rác = test đỏ) và **positive-control grep-verify-trước-khi-pin** (điểm đáng học từ chính lượt build: minh hoạ trong spec không hold trên sổ sống → builder tự phát hiện nhờ kỷ luật verify-trước-pin và thay bằng cặp có thật).
|
|
- Mẻ đo đầu của hub: 52 item, 4 APPLIED (cả 4 spot-verify đúng), floor 7.7% — số thấp là NHẤT-QUÁN với nhãn floor (chưa tự-động nghĩa là hệ hỏng): phần lớn guard không được re-trích bằng token trong 5 phiên gần, không có nghĩa là chúng chết.
|
|
|
|
## 3. Khung sàn (function-floor — 4 khoản)
|
|
|
|
1. **Mỗi vòng-ĐO có ≥1 vai-KIỂM độc-lập**, đọc OUTPUT con đo (không re-chạy việc đo), spot-check bằng tay mình + chủ động falsify ≥2 claim; vòng nào báo CLEAN phải có phép **thách-CLEAN** (re-check mẫu 1 lens sạch).
|
|
2. **Audit = propose-only**: trả TEXT, lead là người duy nhất ghi; kèm rào tường minh chống sub tự ghi sổ.
|
|
3. **Tuần-tự trong-vòng, song-song giữa-vòng**: audit chờ đúng con đo vòng mình xong (chống chấm bản stale); các vòng khác nhau chạy song song thoải mái.
|
|
4. **Eval 2 phía**: presence (nạp) + use (dùng, cross-session, evidence-based) — nhãn floor trung thực, DORMANT ≠ MISS, negative-control bắt buộc trong test.
|
|
|
|
## 4. Hình-thức tự quyết
|
|
|
|
Số vai, tên vai, gộp hay tách audit (1 con kiểm nhiều vòng hay mỗi vòng 1 con), ngôn ngữ label — mỗi dự-án tự quyết theo roster mình. Dự-án đã adopt khung 5-vòng: bổ vai kiểm cho vòng còn thiếu. Dự-án chưa adopt: khoản ①②③④ vẫn là sàn đáng áp cho bất kỳ cặp đo-kiểm nào.
|
|
|
|
## 5. Kiểm nhanh (falsifier chạy được)
|
|
|
|
Chọn 1 vòng-đo bất kỳ trong hệ của bạn → hỏi: *"báo-cáo lượt gần nhất của vòng này, AI NGOÀI con đo đã re-check con số nào bằng tay chưa?"* Không chỉ ra được ai + con số nào = vòng đó còn hở đúng lỗ thứ nhất. Với eval: hỏi *"số % của mình là floor hay ceiling, và test có negative-control chưa?"* — không trả lời được = lỗ thứ hai.
|
|
|
|
## 6. Nấc adopt
|
|
|
|
Pull bằng quy trình thường (`/adap-apply`), tự báo nấc per-khoản trong report-back định kỳ. Khoản ① có thể adopt dần từng vòng — báo nấc theo vòng.
|