[CLAUDE] Docs: adopt Harness-11 engine tự-bảo-trì (3-workflow audit→implement→review)

- engine-doc canonical docs/governance/harness-11-engine.md (PHẦN A/B/C/D + 3-tier D5/D6/D7 + one-direction-lock D8 + CAVEAT honest)
- scripts/governance-detectors.ps1 (C1 broken-pointer + C2/B3 staleness + C3 vocab-fork + C4 self-exclusion + C5 resolve, NO-API DÒ+FLAG-only, runtime-proven, FP-refined 59→27)
- scripts/memory-archive-gate.ps1 (PHẦN A: hysteresis 0.85 + keep-floor 5 + 2-strike + A7 NO-API L1-eval) + budget.json archive_gate
- B1 ×11 count→canonical-pointer (root CLAUDE.md, ef-core/dep-audit SKILL, skills/README, docs/CLAUDE.md) — drift mig53→55/test306→339/gotcha68→69 RESOLVED + ef-core +Mig 54/55 rows
- cadence-wire D1 session-start §2.1.3 + D2 session-end §L.b(c) + agents/README Upgrade S75
- run-trace TRACKED: audit wf_7fdc3bd5-930 / implement wf_c5e5844e-7c1 / review wf_d7ca1ff8-942 (REVIEW PASS, completeness-gate ĐẠT)
- check-email AI_INFRA harness-11 (verify whole-file 318ff9f6 + body b2a2fc1c) + adap-report + outbox report (body 7fa1b53a)
- 0 production code; state THẬT giữ nguyên (Mig 55 · 88 bảng · 339 test · gotcha 69 · menu 54 · bundle BYF5vIMJ/CB-tiRxd)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-06-18 20:44:26 +07:00
parent 462bfbc854
commit e70c0462d7
25 changed files with 1452 additions and 19 deletions

View File

@ -0,0 +1,50 @@
---
id: 2026-06-18-se-to-ai_infra-harness-11-adopt-report
from: se
to: ai_infra
date: 2026-06-18
re: 2026-06-18-Governance-harness-11 + 2026-06-18-Governance-checklist-harness-11
content_sha256: 7fa1b53a61ae902c93c08fa77dfd82af665805fa2e2e529088fd466d56748e19
---
# [se → ai_infra] Adopt report — Harness-11 (engine bộ-nhớ-và-governance tự-bảo-trì)
Chào anh và team AI_INFRA,
SE đã adap Harness-11 theo đúng giao thức bắt buộc: ba workflow tách biệt (một AUDIT để ground-truth, một IMPLEMENT để áp engine, một REVIEW độc lập để soi lại), rồi gửi báo cáo này kèm mã định danh từng lần chạy làm bằng chứng. Tinh thần chủ đạo: engine luôn tự biết khi có drift (detector tự động), nhưng mọi thao tác ghi nội dung hay luật đều đi qua em-main single-writer — chốt một-người-ghi là bar không hạ.
## Run-id (bằng chứng — Harness-9 PART-2)
- **AUDIT:** `wf_7fdc3bd5-930` (4× investigator-codebase, ground-truth PRESENT/PARTIAL/GAP từng item A/B/C/D vs SE-present)
- **IMPLEMENT:** `wf_c5e5844e-7c1` (2× general-purpose viết script file-disjoint song song + em-main single-writer cluster cho governance MD)
- **REVIEW:** `wf_d7ca1ff8-942` (3× reviewer adversarial: completeness-gate / detector-correctness / honesty-containment)
- Run-trace git-tracked: `.claude/workflows/runs/2026-06-18-h11-{audit,implement,review}/` (FLAT, mỗi run có `*-synthesis.md`).
## Nấc thật theo từng PHẦN (trung thực, completeness-gate ĐẠT)
AUDIT xác nhận Harness-11 đúng như anh mô tả — phần lớn là chuẩn-hoá lại cái SE đã thể hiện một phần qua Harness-9 (L2 archive) và Harness-10 (run-trace, single-writer). Khoảng trống thật nằm ở ba chỗ, và SE đã lấp đủ:
- **PHẦN A** (hot-mem auto-archive, tailorable): A1A3 đã có sẵn từ Harness-9. SE thêm mới A4 hysteresis (0.85), A5 keep-floor (5), A6 2-strike, A7 cổng NO-API L1-eval — gom vào `scripts/memory-archive-gate.ps1` (DRY-RUN planner) + params trong `memory-budget.json`. Runtime đã chạy: A7 resolve 186/186 con-trỏ, A4/A5 quan sát được trong DRY-RUN. A6 honest là executed-file (cần hai lần -Apply mới đủ runtime).
- **PHẦN B** (derived trỏ canonical, function-floor): đã chuyển 11 chỗ chép số dễ đổi (migration/test/gotcha/table count) trong các tài liệu dẫn xuất sang con-trỏ "→ docs/STATUS.md". Sau khi chuyển, chạy lại detector xác nhận ba flag drift thật của root CLAUDE.md (mig 53→55, test 306→339, gotcha 68→69) đã biến mất — bằng chứng B1 hoạt động.
- **PHẦN C** (ba detector grep, function-floor mandate): xây mới hoàn toàn `scripts/governance-detectors.ps1` (C1 con-trỏ-gãy + C2/B3 derived-staleness + C3 vocab-fork + C4 loại-trừ-dòng-tự-thân + C5 điều-kiện-gỡ-cờ). NO-API, chỉ DÒ và NÊU-CỜ, không tự sửa. Runtime: exit 0, C4 đạt 0 self-match, C5 mọi flag đều có resolve-condition.
- **PHẦN D** (engine điều phối): D1/D2 nay đã wire vào session-start (§2.1.3 chạy detector) và session-end (§L.b chạy archive-gate). D3/D4/D9/D10/D11 vốn đã mạnh sẵn (checkpoint THROW, store_memory strip, byte-0-loss). Ba tầng D5/D6/D7 và khoá-chiều một-chiều D8 nay được nhãn-hoá explicit trong một engine-doc canonical mới: `docs/governance/harness-11-engine.md` (các doc khác trỏ về đây, không chép luật — chính là B1 áp cho bản thân governance).
## Giá trị dogfood của REVIEW tách biệt (đúng như anh nhấn mạnh)
REVIEW workflow độc lập đã chạy thật cả hai script và phân loại từng flag tại nguồn, qua đó bắt được hai điểm mà IMPLEMENT tự chấm sẽ bỏ sót: (1) detector C2 có tỷ lệ báo nhầm cao tới ~89% raw do đếm count-token phẳng (nuốt phải "EF Core 10", "N bảng module", "154 test lịch sử"); (2) một con số "71 flag" bị viết cứng trong agents/README — đúng là cái anti-pattern hardcoded-volatile-count mà engine sinh ra để chống. SE đã fix cả hai ngay trước commit: thêm context-skip cho C2 (bỏ qua dòng bảng + tiền tố version + mốc lịch sử) và normalize hyphen↔underscore cho C1 → tổng flag giảm 59 xuống 27, sắc hơn hẳn; và đổi "71 flag" thành con-trỏ động. Đây là minh chứng mandate "review là workflow riêng" hoạt động đúng thiết kế.
## Reverse-findings (đề xuất ngược)
1. **Cảnh báo encoding cho detector non-ASCII (đề nghị bổ sung checklist PHẦN C):** detector PowerShell chạy `powershell.exe -File` decode file .ps1 UTF-8-không-BOM bằng codepage ANSI → mọi literal tiếng Việt bị mojibake → detector MÙ với token bản địa (vòng một thiếu 18/71 flag, gồm cả drift thật "68 bẫy"). Cách bền là dựng token tiếng Việt từ Unicode code-point ngay trong script, không inline literal. Đây có thể là bài học floor-class cho mọi sister làm việc với ngôn ngữ ngoài ASCII.
2. **Count-token grep là lưới mềm, tỷ lệ báo nhầm cao bản chất:** cần kèm context-skip (dòng bảng + tiền tố version/ordinal + mốc lịch sử) thì mới dùng được, nếu không sẽ gây mệt-mỏi-vì-báo-động-giả ngay. Đề nghị checklist PHẦN C ghi chú pattern giảm FP này.
3. **B1 và C2 là cặp bổ trợ:** sau khi B1 chuyển chép-số thành con-trỏ, C2 trên chính tài liệu đó thành no-op (không còn gì để so) — đây đúng là ý đồ: B1 gỡ nguồn drift, C2 chỉ còn gác các tài liệu chép-số MỚI. SE xác nhận thiết kế này khớp intent của anh.
## Honest caveats (không nói quá)
- Engine không có móc-nối hệ-điều-hành: detector và gate chạy trong thân session-start/end do em-main kích hoạt — việc DÒ thì tự động và toàn diện, việc SỬA và GÁC-CỔNG dựa trên người. SE không mô tả là tự-động-hoàn-toàn.
- Tự-động-ghi luật/copy: SE giữ đúng quyết định bảo thủ của anh — CỐ Ý chưa làm, mọi thứ chạm luật chỉ DÒ và NÊU-CỜ, người-chủ-trì soạn bản sửa.
- C2 còn ~11 flag báo nhầm dư (module-local "4 bảng Budget" lịch sử, "1 migration" trong câu lệnh revert) — chấp nhận như lưới mềm, đều là LOW/MED advisory, exit 0, không bao giờ chặn.
- C1 còn 13 wikilink gãy = drift THẬT có sẵn của memory-index (link thiếu file + link xuyên-scope) — engine nêu cờ đúng; việc sửa từng cái là chore riêng, không chặn adap.
## Net
**0 dòng production code** — toàn bộ là governance/script/doc. State thật giữ nguyên: Mig 55 · 88 bảng · 339 test · gotcha 69 · menu 54 · bundle admin `BYF5vIMJ` / user `CB-tiRxd`. adap-report đầy đủ: `docs/governance/adap-reports/2026-06-18-Governance-harness-11.md`.
❓ Một câu hỏi gửi anh: nếu AI_INFRA muốn chuẩn hoá tham số PHẦN A (hysteresis 0.85 / keep-floor 5 / 2-strike) thành con số thống nhất giữa các sister thay vì để mỗi dự án tự tailor, xin anh báo — SE đang để mức hợp với khối lượng memory hiện tại của mình.
Trân trọng,
— se (SOLUTION_ERP)