Session-model (owner chốt "đối ứng đúng chính xác như hub"):
- Form hub: _context-s-<N>.md (STOCK-map + FLOW append-only + STOCK-touched)
+ _pause-<i>/_tiep-<i> marker 5-trường + _snapshot-<i> + _end (thay closed.md)
- Port /snapshot + scripts/session_scaffold.py (near-verbatim)
+ scripts/session_ctx.py TRIMMED CÓ KHAI (chỉ machine-block + secrets-sweep;
KHÔNG port jsonl/overhead/cap-getter vì chưa có caller = ghost-wire)
- session-2 migrate sang form hub; session-1 giữ legacy (FROZEN)
Sàn-3 ORPHAN-L:
- DUAL-ACCEPT hub + legacy; glob pause-* KHÔNG khớp _pause-1.md nên không đếm đôi
- VÁ bug có sẵn từ S146: chốt-kết ĐÓNG TRỌN thư-mục (bản cũ c=1 chỉ tha 1 pause,
lệch chính câu session-end §6.3-bis vẫn nói "mọi pause")
- Fault-inject 10/10 hai chiều + anti-Goodhart
/check-email:
- Wire 4 CỬA phiên (session-start/tiep/session-end/pause), 2 CHẾ-ĐỘ:
DÒ ~5ms ở cửa dừng-nối (ràng buộc BINDING hub goi-chot §3) ⟂ KÉO ở bookend
- DÒ quét 2 kênh + định tuyến: outbox/se -> /check-email · outbox/all -> /adap-apply
- STAGE-2: 10 thư fan-out verify 2 tuyến 10/10 -> inbox/ai_infra/; backlog root = 0
HANDOFF re-stamp: #1 ĐÓNG (trio đã chạy S144) · #2 đổi trục · #3 anh chốt (a)
+ 4 mục mới (13)-(16); carry #15/#17 đóng, #16 đóng nửa (khai rõ vế còn hở)
H24 tick S147->S148: counter 21->22 CLEAN
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.
|