[CLAUDE] Docs: S149-S150 closeout — bookend lượt đầu end-to-end (hình B) + 2 arc đóng + tally #53 chốt 45
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m48s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m48s
- Arc-1 hội-tụ-bookend (rename 5 vai + 4 máy PS1 + C9-C12) + arc-2 adap-backlog 23/23 + probe Opus-5 khép (S149)
- Bookend @close S150: wave 6 vai (4 đo + 2 KIỂM) → 20 FLAG disposition từng-dòng; ring1 31/34-ĐẠT, ring2 10/10 + M-1 view-stale-role-desc
- Khoá _frozen_until_owner CẮM trước h24-signal-write (frozen-held in thật); 9 class FIRE; JUMP dải {5,4,4,3}+asym{1,4} chờ anh #21
- STATUS bump CURRENT S149-S150 + 2 khối Recently Done; HANDOFF segment mới + re-stamp đủ-slug + (17)(18)(19) lật + (14) viết lại + 6 slot #21-#26
- K2 posture-A @engine PHẦN K + K5 luật TÁCH vòng-đo-mới @session-end (O-2/O-3 OWNER-DELEGATED execute)
- sleep-doc derive-monitor-set (bỏ hardcode 4-tên); spawn-model-audit desc/comment fix; h24-signal-write param-default fix (first-live bug)
- M9 on-behalf ×3 (tooling + inv-cb F3 + reviewer F4); ring1/ring4 nhà seed; ring2 3 cite-dead vá
- Sổ garble #53 derive-from-body chốt 45 + sub-class ngược-#53/skeleton-ruột-rỗng (ghi-đĩa CẦN-KHÔNG-ĐỦ)
- Session-log S149-S150 (Sàn-5 đăng-ký 6 run=) + closeout-synthesis dạng-1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -0,0 +1,47 @@
|
||||
# adap-report — Checklist Harness-11 (pointer-dedup → report H11)
|
||||
|
||||
> 🔴 **POINTER-DEDUP — KHÔNG phải đợt-áp thứ hai.** Nội-dung áp của id này đã nằm TRỌN trong `docs/governance/adap-reports/2026-06-18-Governance-harness-11.md` (S75). File này sinh @S149 (2026-07-25) chỉ để `/adap-audit` parse được **per-id** (format-LOCK `.claude/commands/adap-report.md:14` — 1 file/broadcast), KHÔNG kèm việc mới, KHÔNG đổi nấc của report gốc.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-18-Governance-checklist-harness-11`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-18-Governance-checklist-harness-11.md` — `reviewer_gate: PASS` (:11) · `content_sha256: 362f98ba7365c55dcc5cfa58bdaf53e7b6d848d94a583cdd3826305ce1c7725b` (:12)
|
||||
- **loại:** **checklist verify-aid** phát KÈM broadcast nền `2026-06-18-Governance-harness-11` — chính thư khai (`:10` precondition): *công cụ ĐI KÈM để sister tự-kiểm đã áp tới đâu và đúng-nấc chưa, KHÔNG thay cho broadcast nền*.
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-18-Governance-harness-11.md` — 52 dòng, commit `ae957c4` (2026-06-18).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**`executed`** — checklist đã được TIÊU-THỤ đúng chức-năng (chạy như một cổng verify chính-thức), không phải chỉ "đọc rồi để đó".
|
||||
|
||||
**Đối chiếu THẬT report gốc (mở đọc 2026-07-25, không trỏ mù):**
|
||||
|
||||
| Dòng gốc | Nội dung xác nhận |
|
||||
|---|---|
|
||||
| `…harness-11.md:4` | source-block ghi rõ *"(+ checklist `2026-06-18-Governance-checklist-harness-11.md`)"* — id này là input của đợt adopt S75 |
|
||||
| `…harness-11.md:8` | stage **CHECKLIST-VERIFY `wf_39cd4cbe-f07`** (3× investigator-codebase) — *"formal scorecard A1-7/B1-4/C1-5/D1-11"* = đúng cấu-trúc mục của checklist |
|
||||
| `…harness-11.md:45` | kết quả chạy: *"completeness-gate H11 FORMAL ĐẠT — B 4/4 + C 5/5 + D 11/11 đủ-trọn (function-floor MET), A 🟡 tailored"* |
|
||||
| `…harness-11.md:11` | VERDICT tổng: ✅ ADOPTED, REVIEW PASS 0-blocker |
|
||||
|
||||
**Vì sao cùng nội-dung:** checklist không mang function-floor RIÊNG — floor của nó là *hành-vi tự-kiểm* trên đúng cái broadcast nền H11 yêu cầu. SE thực-thi hành-vi đó bằng một workflow riêng (`wf_39cd4cbe-f07`) và ghi kết quả vào report H11. Viết lại thành report độc-lập sẽ là chép nguyên bảng nấc A/B/C/D lần hai ⇒ đúng thứ mà pointer-dedup này tránh.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: `docs/governance/adap-reports/2026-06-18-Governance-harness-11.md` — **52 dòng**, commit `ae957c4` *"[CLAUDE] Docs: Harness-11 double-check ×2 + finalize report (anh giao)"* (2026-06-18). Đo hôm nay bằng `git log -1 --` + `wc -l`.
|
||||
- Run-id tiêu-thụ checklist: `wf_39cd4cbe-f07` (CHECKLIST-VERIFY, 3× investigator-codebase) — 1 trong 5 run của đợt H11 (`:7-9`).
|
||||
- Reconciliation ĐÃ văn-bản-hoá từ S82, KHÔNG phải phát-hiện mới hôm nay: `docs/governance/adap-reports/2026-06-21-Governance-harness-15-v2-hot-feed-update.md:45` (heading *"Fan-out diff reconciliation (S82)"*) → `:47` (*"7 còn lại = đã-phủ (verify-not-redo)"*) → `:48` (*"`checklist-harness-11` = verify-aid H11 (adopt S75)"*).
|
||||
- Sha broadcast `362f98ba…` = **declared trong frontmatter hub, đọc 2026-07-25** — KHÔNG recompute (xem caveat).
|
||||
- File này: 0 dòng code sản-phẩm, 0 file canonical đụng tới.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** kết quả checklist KHÔNG ở file riêng theo tên checklist mà nhập vào report của broadcast nền (`harness-11.md` bảng nấc `:17-22` + double-check `:43-46`). Lý do project-fit: SE giữ **1 report/1 đợt-adopt**, checklist là công-cụ bên trong đợt đó — tách file lúc S75 sẽ đẻ 2 nguồn nấc cho cùng một trạng-thái (đúng lớp B1 derived-vs-canonical mà chính H11 cấm).
|
||||
- **Function-floor GIỮ:** tự-kiểm đúng-nấc từng mục + tách {đã-ghi-file ⟂ đã-chạy-thử} + cổng completeness → giữ nguyên, có bằng-chứng chạy thật (`wf_39cd4cbe-f07`).
|
||||
- **Skip:** không có phần nào của checklist bị bỏ. Riêng **PHẦN A** ở nấc 🟡 tailored (DRY-RUN planner thay auto-move) — đó là tailoring của H11 gốc (`:19`, `:26`), không phải skip checklist.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** file này + `2026-06-18-Governance-harness-11.md` mô-tả **CÙNG MỘT** đợt adopt (S75, 5 run-id). Đếm 2 lần = phóng-đại khối-lượng SE. Cách đếm đúng: 1 đợt-adopt, 2 id-broadcast (nền + checklist).
|
||||
- **Sha `362f98ba…` chưa recompute** — mới đọc giá-trị declared ở frontmatter hub (đọc-only, ngày 2026-07-25). Report gốc `:4` không cite sha của checklist (chỉ cite hash inbox của thư heads-up `318ff9f6`/`b2a2fc1c`), nên đây là số BỔ SUNG hôm nay, chưa qua đối-chứng 2-biến-thể.
|
||||
- **Đừng đọc file này thành "H11 đã 100% runtime".** Caveat gốc còn nguyên hiệu-lực: no-OS-hook (`:31`), auto-WRITE luật CỐ Ý chưa làm (`:32`), A6 2-strike mới ở nấc executed-file cần 2 lần `-Apply` (`:36`), C2 còn ~11 FP soft-net (`:33`).
|
||||
- **Nấc `verified` KHÔNG tự phong** (§C5 `adap-report.md:31`) — chờ `/adap-audit` phía AI_INFRA chấm cross-repo.
|
||||
- Ghi ở lượt L1 của wave S149; nếu hub sửa file broadcast sau 2026-07-24 thì sha declared trên có thể lệch (kế-thừa `sub-invest-backlog.md:73` KHÔNG-CHẮC #1).
|
||||
@ -0,0 +1,48 @@
|
||||
# adap-report — Checklist Harness-9+10 v2 (pointer-dedup → report h10-flat-refine)
|
||||
|
||||
> 🔴 **POINTER-DEDUP — KHÔNG phải đợt-áp thứ hai.** Nội-dung áp của id này đã nằm TRỌN trong `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` (S72) — báo-cáo đó **tự-khai** hai broadcast nguồn ngay ở `:5`. File này sinh @S149 (2026-07-25) chỉ để `/adap-audit` parse được **per-id** (format-LOCK `.claude/commands/adap-report.md:14`), KHÔNG kèm việc mới.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-18-Governance-checklist-harness-9-10-v2`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-18-Governance-checklist-harness-9-10-v2.md` — `type: update` · `version: v2` · `supersedes: "v1 (2026-06-18-Governance-checklist-harness-9-10)"` (:3-4) · `reviewer_gate: PASS` (:14) · `content_sha256: cba8f63f5db2c99d281b62f3d1908f0ab9bb91370623e8d2a403d506971e7e62` (:15)
|
||||
- **loại:** **checklist verify-aid** cho 2 broadcast nền (H9 + H10), bản v2 = phiên-bản sau khi lưu-vết-lần-chạy chuyển sang **phẳng**.
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` — 51 dòng, commit `18fced6` (2026-06-18).
|
||||
- **quan-hệ v1:** report của v1 tồn tại riêng = `docs/governance/adap-reports/2026-06-18-Governance-checklist-harness-9-10.md` (S71, 55 dòng). v2 **supersedes** v1 ⇒ trạng-thái sống đọc ở report S72, KHÔNG đọc ở file v1.
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**`executed`** — checklist v2 đã chạy như re-audit thật và ĐẺ RA thay-đổi file (không phải tick suông).
|
||||
|
||||
**Đối chiếu THẬT report gốc (mở đọc 2026-07-25, không trỏ mù):**
|
||||
|
||||
| Dòng gốc | Nội dung xác nhận |
|
||||
|---|---|
|
||||
| `…checklist-v2.md:5` | *"**broadcasts adopted:** `2026-06-18-Governance-checklist-harness-9-10-v2` + `2026-06-18-Governance-h10-flat-detector-refine`"* — id này nêu ĐÍCH DANH |
|
||||
| `…checklist-v2.md:7` | 3 run-id: audit `wf_13868efb-ea7` · implement `wf_ac43b5ff-7d1` · review `wf_d482e10d-5dd` |
|
||||
| `…checklist-v2.md:8` | `reviewer_gate: ✅ PASS sau-fix` (1 major + 4 minor tất cả fixed) |
|
||||
| `…checklist-v2.md:13-19` | nấc THẬT per PART A/B/C — đúng cấu-trúc mục của checklist v2 |
|
||||
| `…checklist-v2.md:26` | bảng gap-fix, dòng *"2 broadcast 06-18 unadopted | adopted (checklist-v2 + h10-refine) | runtime"* |
|
||||
|
||||
**Vì sao cùng nội-dung:** v2 là công-cụ tự-kiểm cho H9+H10; SE chạy nó ra 3 gap thật (A8 sleep-command thiếu · run-trace còn subfolder · hmw.js meta stale) rồi vá trong CÙNG đợt S72. Trạng-thái sau-vá đã ghi per-PART ở report gốc `:15-19`; viết lại = chép bảng lần hai.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: 51 dòng, commit `18fced6` *"[CLAUDE] Workflow: adopt Harness-10 flat-refine + checklist-v2 + sleep-recovery-cmd (re-audit 3-workflow)"* (2026-06-18) — tên commit chứa thẳng "checklist-v2". Đo hôm nay `git log -1 --` + `wc -l`.
|
||||
- 3 run-id (`:7`) = bằng-chứng B3 mandate Harness-9 PART-2 (2-workflow tách + report-with-run-id), SE chạy 3 stage.
|
||||
- Kết-quả đẻ file thật: `/sleep-recovery-memory-l2` ported (`:25`, 137 dòng, scope SE-only) · run-trace SUBFOLDER→FLAT (`:19`, `hmw.js:103` + 5 doc) · `hmw.js:52` schema-desc fixed (`:33`) · sleep auto-check WIRED thật (`:34`).
|
||||
- Reconciliation S82 văn-bản-hoá: `…harness-15-v2-hot-feed-update.md:48` — *"`checklist-harness-9-10-v2` + `h10-flat-detector-refine` = S72 `harness-10-flat-refine-checklist-v2`"*.
|
||||
- Sha `cba8f63f…` = declared frontmatter hub, đọc 2026-07-25, KHÔNG recompute.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** báo-cáo đặt tên theo **nội-dung việc** (`harness-10-flat-refine-checklist-v2`) thay vì theo id broadcast ⇒ chính là lý do id này trượt khỏi mọi lần quét exact-id, và là lý do file pointer này tồn tại.
|
||||
- **Function-floor GIỮ:** self-verify đúng-nấc từng mục PART A/B/C + tách {executed-file ⟂ runtime ⟂ convention} + reverse-findings gửi ngược (`:38-42`, 4 khoản).
|
||||
- **Skip:** không skip mục nào của v2. **PART A8** (sleep-compress command) trước đó SE thiếu → checklist chính là cái bắt ra, đã port (`:15`, `:25`) ⇒ đây là "bắt-rồi-vá", không phải skip.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** file này + `2026-06-18-Governance-h10-flat-detector-refine.md` (pointer) + `2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` (report gốc) = **3 file, 1 đợt-adopt duy-nhất S72**. Đếm đúng: 1 đợt, 2 id-broadcast, 3 file report.
|
||||
- **Cẩn-thận nhầm với v1:** `2026-06-18-Governance-checklist-harness-9-10.md` (v1, S71) là **file khác, id khác** — v1 có report đầy-đủ riêng. v2 supersedes v1; đừng gộp/đè.
|
||||
- **Caveat gốc còn hiệu-lực:** 1/4 auditor Part A failed-no-StructuredOutput → em-main self-gate từ đĩa, đã disclose (`:45`); hmw.js flat mới `node --check` PARSE-OK, RUN-TRACE runtime cần restart CLI (`:48`); B3 self-correction path/count của report S71 (`:47`).
|
||||
- **Sha chưa recompute** (declared-read only). Nấc `verified` KHÔNG tự phong (§C5) — chờ `/adap-audit`.
|
||||
@ -0,0 +1,47 @@
|
||||
# adap-report — H10 flat + bộ-dò chống-lách-engine (pointer-dedup → report h10-flat-refine) ⚠️ residue SỐNG
|
||||
|
||||
> 🔴 **POINTER-DEDUP cho khoản (a)** — đã nằm trọn trong `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` (S72).
|
||||
> ⚠️ **NHƯNG file này KHÔNG thuần con-trỏ:** khoản (b) từng TAILORED-OUT ở S72 nay **hết hiệu-lực** (hub trả lời 2026-07-03) ⇒ nghĩa-vụ sàn còn SỐNG. Đọc mục 2 per-khoản, đừng đọc tổng.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-18-Governance-h10-flat-detector-refine`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-18-Governance-h10-flat-detector-refine.md` — `type: update` · `supersedes-part-of: "2026-06-18-Governance-checklist-harness-9-10 (PHẦN C, mục C1/C2/C8)"` (:9) · `reviewer_gate: PASS` (:12) · `content_sha256: 4fda958f055fbd70710c5ddd40084efc6c016b5c2e2433fac06a65eb551b80b2` (:13)
|
||||
- **loại:** **delta 2 khoản** (thư tự khai `:19`): **(a)** lưu-vết lần-chạy đổi từ hai-thư-mục-con sang **file phẳng cùng cấp** (`:23`) · **(b)** **bộ-dò chống lách engine** làm chặt **theo ba CHỨC NĂNG** (`:37`, *"bạn tự hiện-thực"*).
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` — 51 dòng, commit `18fced6` (2026-06-18).
|
||||
|
||||
## 2. nấc G-011 — **per-khoản** (CẤM đọc số tổng)
|
||||
|
||||
| Khoản | Nấc HÔM NAY | Căn-cứ (mở đọc 2026-07-25) |
|
||||
|---|---|---|
|
||||
| **(a)** cấu-trúc PHẲNG | **`executed`** (runtime-proven) | report gốc `:19` *"C1/C8/refine-a: run-trace SUBFOLDER→FLAT done (`hmw.js:103` + `workflows/README` + `runs/README` + `session-start/end` + `agents/README`; 5 run cũ S71 GIỮ subfolder, close-gate **dual-accept**)"* · bảng gap `:24` nấc *"runtime (node --check OK + 2 new runs flat)"* · dogfood sống: `.claude/workflows/runs/_ledger.md:8` ghi quy-ước FLAT + dual-accept |
|
||||
| **(b)** bộ-dò chống-lách-engine | 🔴 **`agreed`** (đã nhận sàn, CHƯA chạm file) | S72 chốt **TAILORED-OUT** (`:19` *"refine-b detector: TAILORED-OUT (documented, anh chốt)"* + caveat `:46`) → **tailoring đó hết hiệu-lực từ 2026-07-03**: hub trả lời `AI_INFRA/broadcasts/outbox/se/2026-07-03-ai_infra-to-se-batch13-ack-stamp-and-answers.md:27-29` — *"**Có, ở mức sàn-chức-năng; còn hình thức thì SE tự quyết**"*, hình thức tự chọn (grep transcript / quét ledger-vs-run-folder / untracked-run detector nhẹ) *"miễn chạy đều mỗi cuối phiên"* |
|
||||
|
||||
**Vì sao (a) không viết lại:** khoản (a) là cùng một lần di-trú thư-mục mà report S72 đã đo và vá; chép lại = nguồn nấc thứ hai.
|
||||
**Vì sao (b) không được đóng ở file này:** L1 chỉ được Write report — việc dựng bộ-dò là **C-b của lane L6** trong CÙNG wave S149 (spec `spec-adap-backlog-25-07-2026.md:13`). Tại thời-điểm ghi dòng này, C-b **chưa land**; nâng nấc hộ = nấc ảo.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: 51 dòng, commit `18fced6` (2026-06-18) — `git log -1 --` + `wc -l` đo hôm nay.
|
||||
- Khoản (a) sống trên đĩa: `.claude/workflows/runs/_ledger.md:8` (*"run MỚI = file phẳng cùng cấp… 5 run cũ GIỮ `sub-md/`+`harvest/`… close-gate dual-accept"*).
|
||||
- **Khoản (b) — đo THẬT hôm nay (L1 tự chạy, không chép lại số của lane khác):**
|
||||
- `grep -c "bypass\|whitelist" scripts/governance-detectors.ps1` = **0** ⇒ script không có bộ-dò chống-lách.
|
||||
- ⚠️ **Cảnh-báo đo-lường:** cùng lệnh thêm `-i` cho **1 hit** = `scripts/governance-detectors.ps1:35` `powershell.exe -ExecutionPolicy Bypass -File scripts/governance-detectors.ps1` — đó là **cờ chạy script**, KHÔNG phải detector. Kết-luận "chưa có bộ-dò" ĐỨNG VỮNG, nhưng ai re-measure bằng `-i` sẽ thấy 1 và tưởng claim sai ⇒ phải neo lệnh kèm case-sensitivity.
|
||||
- Lỗ **mode-A**: `.claude/workflows/runs/_ledger.md:9` (note S98, 2026-07-02) — HMW run **return-delta-only** *"KHÔNG tạo run-folder/ledger-row = by-design"*, ledger CHỈ cover MODE B ⇒ hình-thức "quét ledger-vs-run-folder" **không tự phân biệt** mode-A hợp-lệ với chạy-ngoài-engine. Đây là ràng buộc thiết-kế L6 phải xử hoặc khai.
|
||||
- Reconciliation S82: `…harness-15-v2-hot-feed-update.md:48` — *"`checklist-harness-9-10-v2` + `h10-flat-detector-refine` = S72 `harness-10-flat-refine-checklist-v2`"* (đúng cho khoản (a); văn-bản S82 viết TRƯỚC hub-answer 07-03 nên không phản-ánh residue (b)).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (a):** 5 run cũ S71 GIỮ subfolder, không rewrite history; close-gate **dual-accept** cả hai dạng — form riêng của SE, function-floor (lưu-vết phẳng cho run MỚI) giữ nguyên.
|
||||
- **Tailored-OUT (b) — nay KHÔNG còn hợp-lệ:** lý-lẽ S72 (`:46`) là *SE chạy qua Anthropic Workflow tool, KHÔNG có CLI-launcher bypass-surface như node-CLI của AI_INFRA*; containment = git-diff + run-folder tracked + ledger orphan-scan (G-015). Lý-lẽ đó **bị hub bác ở mức sàn-chức-năng** (07-03 `:27-29`): sàn = *phải CÓ một cách phát hiện được đường chạy workflow không đi qua engine chuẩn*, hình-thức mới là phần tự quyết.
|
||||
- **Skip:** không khoản nào skip vì project-fit. (b) = **nợ**, KHÔNG phải n-a — ghi thẳng để không rơi vào lớp *"vắng-mặt trông giống ổn"*.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** khoản (a) của file này = CÙNG đợt S72 với `2026-06-18-Governance-checklist-harness-9-10-v2.md` và report gốc. 3 file report ⟺ **1 đợt-adopt**. Chỉ khoản (b) là khối-lượng còn nợ, chưa được tính là đã-làm.
|
||||
- 🔴 **Nấc file này KHÔNG đồng-nhất.** Nếu reader/parser cần 1 nấc duy-nhất: lấy **`agreed`** (nấc thấp nhất trong 2 khoản) — an-toàn hơn là `executed` che mất nợ (b).
|
||||
- **Idempotent-enrich pending:** lane L6 wave S149 giữ C-b + được giao *"enrich report h10-S72"* (spec `:13`). Nếu C-b land, **cả file này lẫn report gốc phải enrich** (b) → `executed`/`verified-pending`. L1 KHÔNG tự nâng.
|
||||
- **Lỗ mode-A có thể không đóng được bằng hình-thức nhẹ** — nếu vậy, L6 phải KHAI trong honest-caveat và để nấc `executed-partial`, đúng chỉ-dẫn `sub-invest-backlog.md:44`.
|
||||
- Sha `4fda958f…` = declared frontmatter hub (đọc 2026-07-25), KHÔNG recompute. Nấc `verified` không tự phong (§C5 `adap-report.md:31`).
|
||||
|
||||
> **ADDENDUM lead @S149 (2026-07-25, cùng ngày):** khoản (b) **`agreed` → `executed`** — C12 `raw-engine-bypass` đã LAND trong cùng wave (`scripts/governance-detectors.ps1`, INFORM-only, fault-inject 2 chiều, chạy trong nghi thức detector 2 đầu phiên = thoả "chạy đều mỗi cuối phiên" hub-answer 07-03:27-29). L1 cố ý không tự nâng (đúng ranh); lead nâng sau khi verify C12 tồn tại (grep = 13 hit).
|
||||
@ -49,3 +49,5 @@ Workflow REVIEW độc-lập bắt **2 lỗi mà workflow IMPLEMENT tự-chấm
|
||||
|
||||
## Net
|
||||
SE **parity Harness-10 flat**. **0 production code** — state THẬT GIỮ NGUYÊN: Mig 53 · 88 bảng · 306 test · 68 gotcha · menu 54 · bundle admin `BgNCjwsG`/user `CBvh0vtf`. 3 run-trace folder (audit/implement/review) git-tracked = bằng chứng.
|
||||
|
||||
- **also-covers-id (enrich @S149, ghi CUỐI file có chủ đích — chèn vào header sẽ dịch số dòng và làm hỏng các cite `:33`/`:46` mà lane khác trong wave đang dùng):** file này còn là report của id `2026-06-18-Governance-h10-flat-detector-refine` (id đã có sẵn ở dòng `:5` nhưng dạng văn xuôi; dòng này là dạng để `/adap-audit` parse per-id). 🔴 **Errata:** khoản (b) detector chống-lách-engine khai **TAILORED-OUT** ở `:46` (mục *"Detector TAILORED-OUT (không build)"*) **hết hiệu lực từ 2026-07-03** — hub trả lời sàn-chức-năng là **BẮT BUỘC**, chỉ hình thức mới tự quyết (`broadcasts/inbox/ai_infra/2026-07-03-ai_infra-to-se-batch13-ack-stamp-and-answers.md:27-29`) — và **ĐÃ ĐÓNG @S149** bằng detector `C12 - raw-engine-bypass` trong `scripts/governance-detectors.ps1` (INFORM-only, fault-inject 2 chiều). Dòng `:46` **giữ nguyên làm vết lịch sử**; bản mới thắng.
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
# adap-report — Checklist Harness-all H-6→H-13 (pointer-dedup → report harness-all-update)
|
||||
|
||||
> 🔴 **POINTER-DEDUP — KHÔNG phải đợt-áp thứ hai.** Nội-dung áp của id này đã nằm TRỌN trong `docs/governance/adap-reports/2026-06-19-Governance-harness-all-update.md` (S79) — báo-cáo đó cite checklist ngay ở `:4` KÈM sha. File này sinh @S149 (2026-07-25) chỉ để `/adap-audit` parse được **per-id** (format-LOCK `.claude/commands/adap-report.md:14`), KHÔNG kèm việc mới.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-19-Governance-checklist-harness-all`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-19-Governance-checklist-harness-all.md` — `reviewer_gate: PASS` (:11) · `content_sha256: 7e6e0555ed908b4a420f58605159cbdce9009d7e03968ce6a6e638fff22901d1` (:12)
|
||||
- **loại:** **checklist verify-aid** đi-kèm broadcast nền `2026-06-19-Governance-harness-all-update`. Thư tự khai phạm-vi (`:10` precondition): phủ **tám harness H-6 → H-13**, tự-verify đúng-nấc {đã-ghi-file / đã-chạy-thử} + đúng loại {công-cụ-ép / kỷ-luật}, kèm **cổng completeness tám-harness**; ba harness H-9/H-10/H-11 TRỎ về hai checklist đã nhận trước (không lặp).
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-19-Governance-harness-all-update.md` — 47 dòng, commit `33d519e` (2026-06-20).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**`executed`** — checklist đã chạy thật dưới dạng **completeness-gate** và ra verdict ĐẠT.
|
||||
|
||||
**Đối chiếu THẬT report gốc (mở đọc 2026-07-25, không trỏ mù):**
|
||||
|
||||
| Dòng gốc | Nội dung xác nhận |
|
||||
|---|---|
|
||||
| `…harness-all-update.md:4` | source-block cite ĐÍCH DANH *"+ checklist `2026-06-19-Governance-checklist-harness-all.md` (`7e6e0555…`)"* |
|
||||
| `…harness-all-update.md:9` | run-id đợt adopt: investigate `wf_82337f7f-95c` → review `wf_a7cbe93e-912` → re-review `wf_9d3beebb-a95` |
|
||||
| `…harness-all-update.md:25` | mục **② Completeness-gate H-6→H-13 — VERDICT ĐẠT** (investigate `wf_82337f7f-95c`) = đúng cổng mà checklist yêu-cầu |
|
||||
| `…harness-all-update.md:26` | kết quả soi 2 mục hay-sót: *"H-8 all-inherit = 11/11 sub `model: inherit`, ZERO `[1m]` trong frontmatter"* + *"H-7 Category 6 reviewer.md real on-disk"* |
|
||||
| `…harness-all-update.md:12` | VERDICT tổng: ✅ ADOPTED — User-Mark §P FULL + completeness-gate H-6→H-13 ĐẠT |
|
||||
|
||||
**Vì sao cùng nội-dung:** checklist-all không mang function mới — nó là **cổng đo** cho 8 harness đã áp rải rác trước đó. SE chạy cổng đó trong stream investigate của đợt S79 và ghi verdict vào report nền. Tách file lúc S79 sẽ đẻ nguồn nấc thứ hai cho cùng 8 harness.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: 47 dòng, commit `33d519e` *"[CLAUDE] Docs: adopt User-Mark (H-12/13 canonical §P) + Harness-14 + RC-signature (S79)"* (2026-06-20). Đo hôm nay `git log -1 --` + `wc -l`.
|
||||
- **Sha đối chứng KHỚP:** cite trong report `:4` = `7e6e0555…` ⟺ declared frontmatter hub `:12` = `7e6e0555ed908b4a420f58605159cbdce9009d7e03968ce6a6e638fff22901d1`. Khớp tiền-tố 8 ký-tự (đọc 2026-07-25).
|
||||
- Run-id chạy cổng: `wf_82337f7f-95c` (3× investigator-codebase) — cùng run phục-vụ cả stream H-14 (xem `…harness-14.md:9`), tức 1 lần đo dùng cho 2 broadcast.
|
||||
- Reconciliation S82 văn-bản-hoá: `…harness-15-v2-hot-feed-update.md:48` — *"`checklist-harness-all` = verify-aid H6→H13 (rải S63-S79)"*.
|
||||
- 0 dòng code sản-phẩm, 0 file canonical đụng tới.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** kết quả cổng nhập vào mục ② của report nền thay vì file checklist riêng — cùng quy-ước 1 report/1 đợt-adopt như H11/H14.
|
||||
- **Function-floor GIỮ:** phủ đủ 8 harness + tách 2 trục nấc {đã-ghi-file ⟂ đã-chạy-thử} và {công-cụ-ép ⟂ kỷ-luật} + cổng completeness ra verdict tường-minh (ĐẠT).
|
||||
- **Không lặp (đúng ý thư):** H-9/H-10/H-11 KHÔNG đo lại trong đợt này — checklist tự nói ba cái đó trỏ về hai checklist trước (`:10`); nấc của chúng đọc ở `2026-06-18-Governance-harness-11.md` và `…harness-10-flat-refine-checklist-v2.md`.
|
||||
- **Skip:** không mục nào bị bỏ vì project-fit.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** file này + `2026-06-19-Governance-harness-all-update.md` = **CÙNG đợt adopt S79**. Nặng hơn: đợt S79 phát-sinh 2 report (harness-all-update + harness-14) dùng CHUNG run `wf_82337f7f-95c` (`:9`) — đếm theo run sẽ nhân đôi. Đếm đúng: 1 đợt-adopt S79, nhiều id-broadcast.
|
||||
- **"Completeness-gate ĐẠT" là verdict của SE tự đo**, chạy bởi sub-agent trong repo mình — KHÔNG phải AI_INFRA chấm. Nấc `verified` không tự phong (§C5 `adap-report.md:31`).
|
||||
- **Caveat gốc còn hiệu-lực:** 4 lệnh `/user-mark-*` + session-wiring = **verified-pending-restart** (`:36`, command `.md` no hot-reload); §E phần-lớn là **convention** chứ không phải công-cụ-ép (`:35`); 3 mark owner-confirmed trong phiên, chưa runtime-test qua nhiều phiên (`:37`).
|
||||
- Checklist phủ giai-đoạn **rải S63-S79**, không phải một phiên — đọc file này như "8 harness áp trong 1 lần" là sai.
|
||||
@ -0,0 +1,42 @@
|
||||
# adap-report — Harness-all-update v2.0 (PLAN-ANNOUNCE) → **n-a**
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới — nó tách per-id cái đã văn-bản-hoá sẵn trong report gốc, để `/adap-audit` parse được theo `<id>`. 🔴 **KHÔNG đếm double** với report gốc trỏ bên dưới.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-19-Governance-harness-all-update-v-2-0`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-19-Governance-harness-all-update-v-2-0.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `version: 2.0` · `supersedes: 2026-06-19-Governance-harness-all-update.md (v1)` · `supersedes_scope: current-map-role-only` · `status: 🔵 PLAN-ANNOUNCE — Harness-14 = kế-hoạch hoàn-chỉnh, CHƯA build, CHƯA stamp. Visibility-only, KHÔNG adopt-ngay.` · `content_sha256: (stamp khi chuyển sang adopt-broadcast — bản này là plan-announce, không phải lệnh adopt)` — **KHÔNG có sha, KHÔNG có `reviewer_gate`**.
|
||||
- **adopted by:** se (SOLUTION_ERP) · **date-quyết:** 2026-06-20 (S79, trong lúc adopt Harness-14) · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **n-a**
|
||||
|
||||
**n-a** (SKIP vì loại-thư, KHÔNG phải behind). Lý do 3 lớp, tất cả đọc từ chính frontmatter thư:
|
||||
|
||||
| Lớp | Bằng chứng |
|
||||
|---|---|
|
||||
| Thư = **PLAN-announce visibility-only**, tự khai "CHƯA build, CHƯA stamp, KHÔNG adopt-ngay" | `outbox/all/2026-06-19-…-v-2-0.md` frontmatter `status:` |
|
||||
| **KHÔNG có `content_sha256`** ⇒ không phải lệnh adopt, không có gì để verify-hash | cùng frontmatter, field `content_sha256` ghi ghi-chú thay vì hash |
|
||||
| **Superseded bởi adopt-broadcast** `2026-06-20-Governance-harness-14-adopt.md` (`status: 🟢 ADOPT` · `reviewer_gate: PASS` · `content_sha256: 8da7e8b1…`) — nội-dung H-14 đã áp qua đường đó | `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md:4` |
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Quyết-định n-a ĐÃ văn-bản-hoá từ S79, KHÔNG phải mới đặt hôm nay:** `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md:5` — verbatim: *"plan-announce tiền-thân `2026-06-19-Governance-harness-all-update-v-2-0.md` = **SKIP n-a** (visibility-only PLAN-status, content_sha256 chưa stamp, superseded bởi adopt-broadcast này — KHÔNG áp riêng)"*.
|
||||
- **Reconciliation lần 2 (S82)** khi fan-out `/adap-apply all` đối-chiếu 29 broadcast vs 22 report: `docs/governance/adap-reports/2026-06-21-Governance-harness-15-v2-hot-feed-update.md:48` — *"`harness-all-update-v-2-0` = PLAN-ANNOUNCE visibility-only (harness-14 report ghi SKIP n-a)"*.
|
||||
- **Commit landing report gốc:** `33d519e` *[CLAUDE] Docs: adopt User-Mark (H-12/13 canonical §P) + Harness-14 + RC-signature (S79)*.
|
||||
- **Nội-dung H-14 thực-áp (qua adopt-broadcast, KHÔNG qua thư này):** `2026-06-20-Governance-harness-14.md:16-26` bảng nấc 6/6 floor MET · run-id `wf_82337f7f-95c` (implement/audit) + `wf_4d4eba6f-8a0` (review) tại `:43`.
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng — chỉ 1 file report mới trong `docs/governance/adap-reports/`.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored:** không có. Thư không mang FUNCTION-floor nào để tailor — nó là **bản-đồ chuỗi Harness hiện-hành** (vai trò `supersedes_scope: current-map-role-only`), giá-trị = visibility.
|
||||
- **Skip toàn-bộ = n-a, lý do project-fit:** SE áp H-14 qua **adopt-broadcast có sha + reviewer_gate** (đúng luật no-fake §C5: chỉ áp thư đã stamp). Áp thêm bản plan-announce = (a) double-count cùng một nội-dung, (b) nhận adopt trên thư tự khai "CHƯA build". Cả hai đều là nấc-ảo.
|
||||
- **KHÔNG skip vì behind:** SE **đã ở phía trước** thư này — H-14 adopt xong S79 (`33d519e`), H-15 S81, H-15-v2 S82, H-16 S93.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Đây là report POINTER-DEDUP, KHÔNG phải adoption-event mới.** Nếu `/adap-audit` cộng file này + `2026-06-20-Governance-harness-14.md` thành 2 lần áp là **SAI** — cùng 1 quyết-định S79, tách file chỉ để parser tìm được theo `<id>`.
|
||||
2. **`n-a` ở đây = SKIP-by-type (plan-announce), KHÔNG phải SKIP-by-fit.** Nội-dung (Harness-14) SE **đã áp**, không bỏ.
|
||||
3. **Hash thư gốc KHÔNG re-verify được** — thư không có `content_sha256` (tự khai chưa stamp) ⇒ không có gì để đối chứng. Đây là thuộc-tính của thư, không phải thiếu-sót của SE.
|
||||
4. **Frontmatter thư đo hôm nay 2026-07-25**; nếu hub sửa file sau 2026-07-24 thì verdict cần đo lại (chưa sha-compare vs bản S79/S82 đã đọc).
|
||||
5. **KHÔNG tự khai `verified`** — `verified` là nấc do AI_INFRA `/adap-audit` chấm cross-repo (§C5). Ở đây nấc cao nhất SE tự khai được là `n-a` (kết-luận loại-thư).
|
||||
@ -0,0 +1,49 @@
|
||||
# adap-report — Checklist Harness-14 (pointer-dedup → report H-14)
|
||||
|
||||
> 🔴 **POINTER-DEDUP — KHÔNG phải đợt-áp thứ hai.** Nội-dung áp của id này đã nằm TRỌN trong `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md` (S79) — báo-cáo đó cite checklist ngay ở `:4` KÈM sha. File này sinh @S149 (2026-07-25) chỉ để `/adap-audit` parse được **per-id** (format-LOCK `.claude/commands/adap-report.md:14`), KHÔNG kèm việc mới.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-20-Governance-checklist-harness-14`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-20-Governance-checklist-harness-14.md` — `status: 🟢 ADOPT` (:9) · `content_sha256: e96930da499871eb433b56b05a9eb365ccb25ed4e3fab841c37a47e8cd9acd01` (:10) · `reviewer_gate: PASS (review-wf 0C/1M/4m → applied; investigator fidelity bulletproof)` (:11)
|
||||
- **loại:** **checklist tự-rà-soát** đi-kèm broadcast nền H-14 (Eval / Budget / Outcome). Trục kiểm theo tiêu-đề thư (`:7`): **đúng-nấc + cơ-chế-hoá-vs-quy-ước + completeness**.
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md` — 45 dòng, commit `33d519e` (2026-06-20).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**`executed`** — checklist đã chạy thật, ra **completeness-gate 6/6 floor MET**, và (đáng kể hơn) đã ép báo-cáo tách 3 mức maturity thay vì gộp thành "xong".
|
||||
|
||||
**Đối chiếu THẬT report gốc (mở đọc 2026-07-25, không trỏ mù):**
|
||||
|
||||
| Dòng gốc | Nội dung xác nhận |
|
||||
|---|---|
|
||||
| `…harness-14.md:4` | source-block cite ĐÍCH DANH *"+ checklist `2026-06-20-Governance-checklist-harness-14.md` (`e96930da…`)"* |
|
||||
| `…harness-14.md:9` | run-id: INVESTIGATE `wf_82337f7f-95c` → REVIEW `wf_4d4eba6f-8a0` (2× reviewer — §F floor **6/6 MET** + maturity **HONEST** + SE-state **ACCURATE**) |
|
||||
| `…harness-14.md:16-25` | bảng nấc per-phần theo ĐÚNG 2 trục checklist: nấc {executed-file / convention / mechanized} × maturity {Mức 1/2/3} |
|
||||
| `…harness-14.md:26` | **Completeness-gate: 6/6 🔴 floor (§A×4 + §D×2) MET** + phân-định meta *"data-gate §C KHÔNG đếm thành mục thứ-7"* |
|
||||
| `…harness-14.md:12` | VERDICT: ✅ ADOPTED — rule-floor codify + neo Active-High · method honest 3-mức |
|
||||
|
||||
**Vì sao cùng nội-dung:** checklist-14 là **cổng đo** cho chính broadcast H-14; SE chạy cổng trong đợt S79 và nhập kết quả vào report nền theo quy-ước 1 report/1 đợt-adopt. Viết lại = chép bảng `:16-26` lần hai.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: 45 dòng, commit `33d519e` *"[CLAUDE] Docs: adopt User-Mark (H-12/13 canonical §P) + Harness-14 + RC-signature (S79)"* (2026-06-20). Đo hôm nay `git log -1 --` + `wc -l`.
|
||||
- **Sha đối chứng KHỚP:** cite trong report `:4` = `e96930da…` ⟺ declared frontmatter hub `:10` = `e96930da499871eb433b56b05a9eb365ccb25ed4e3fab841c37a47e8cd9acd01` (đọc 2026-07-25).
|
||||
- Run-id chạy cổng: `wf_4d4eba6f-8a0` (2× reviewer) — verdict 3 trục: floor 6/6 · maturity HONEST · state ACCURATE.
|
||||
- Neo owner: `.claude/governance/ACTIVE-MARKS.md` mark `RC-pqhuy1987-20-06-2026-10-29-11` Active-High (report `:44`).
|
||||
- Reconciliation S82 văn-bản-hoá: `…harness-15-v2-hot-feed-update.md:48` — *"`checklist-harness-14` = harness-14 report ref `e96930da`"*.
|
||||
- 0 dòng code sản-phẩm.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** §F gom vào `docs/governance/harness-11-engine.md` (1 engine governance hợp-nhất) thay doc rời (`:29`) — B1 một-canonical-place. Kết quả checklist nhập report nền, không file riêng.
|
||||
- **Function-floor GIỮ:** đo đúng-nấc + **tách cơ-chế-hoá ⟂ quy-ước** (bảng `:19-24` ghi rõ cái nào `mechanized (config)` cái nào `convention`) + cổng completeness ra verdict.
|
||||
- **Skip:** không mục nào bỏ. Mức-3 (trần nhiễu ngữ-cảnh) = **ack-only** (`:24`) — thư không ép số, SE ghi-nhận chứ không claim.
|
||||
- **Đáng chú ý:** SE đã ALIGNED sẵn 2/3 cơ-chế TRƯỚC khi adopt (budget no-decay + drift canonical-anchor, `:14`/`:35`) — checklist xác-nhận, KHÔNG phải SE mới dựng.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** file này + `2026-06-20-Governance-harness-14-adopt.md` (pointer) + `2026-06-20-Governance-harness-14.md` (report gốc) = **3 file, 1 đợt-adopt S79**. Thêm nữa: run `wf_82337f7f-95c` dùng CHUNG với stream `harness-all-update` (`:9`) ⇒ đếm theo run cũng nhân đôi.
|
||||
- **Caveat gốc còn nguyên hiệu-lực — đừng đọc "6/6 MET" thành "H-14 xong":** eval-precision Mức-1 nhưng **manual-weekly, KHÔNG mechanized-CI** (`:21`/`:33`); budget-hit-rate + outcome-correlation = **Mức-2 có công-cụ chưa-ra-số** (`:23`, KHÔNG trình như xong); trần-nhiễu Mức-3 tạm gác.
|
||||
- **Con-số của AI_INFRA (cỡ golden-set, recall) = bằng-chứng của HỌ**, không phải mục-tiêu áp-cứng SE (`:36`) — SE tự đo số riêng.
|
||||
- Nấc `verified` không tự phong (§C5 `adap-report.md:31`); sha đọc declared 2026-07-25, chưa recompute 2-biến-thể.
|
||||
@ -0,0 +1,42 @@
|
||||
# adap-report — Checklist Harness-15 (verify-aid, memory-budget per-agent)
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới — nó tách per-id cái đã dùng + đã văn-bản-hoá trong 2 report gốc, để `/adap-audit` parse được theo `<id>`. 🔴 **KHÔNG đếm double** với `2026-06-20-Governance-harness-15-memory-budget.md`.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-20-Governance-checklist-harness-15`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-20-Governance-checklist-harness-15.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `type: new` · `title: Checklist tự-rà-soát Harness-15 (Memory-budget per-agent) — sàn-chức-năng + tùy-chỉnh + trung-thực` · `slug: checklist-harness-15` · `content_sha256: 94267ab5c2fbb0b972f7df65686554903d19b23ab4156b47c8e79eb70f872bd5` · `status: 🟢 ADOPT` · `reviewer_gate: PASS (wf_269fc353-560)`
|
||||
- **adopted by:** se (SOLUTION_ERP) · **session dùng lần 1:** S81 (2026-06-20) · **dùng lại lần 2:** S82 (2026-06-21, review v2) · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **executed** (đã tiêu-thụ, KHÔNG việc mới)
|
||||
|
||||
**executed** — checklist là **verify-aid** (công-cụ tự-rà-soát), không phải feature-broadcast. Nấc đúng của nó = *"đã dùng làm completeness-gate cho đợt adopt tương ứng"*, và điều đó **đã xảy ra 2 lần** (S81 + S82). Không có FUNCTION-floor riêng nào của checklist còn treo.
|
||||
|
||||
| Lần dùng | Vai trò | Kết quả |
|
||||
|---|---|---|
|
||||
| S81 (2026-06-20) — adopt H-15 gốc | completeness-gate cho `memory-budget.json` + engine §G + session-start §2.1.5 + rules §6.6 | **8/8 🔴 floor MET** (review meta-gate xác-nhận) |
|
||||
| S82 (2026-06-21) — review H-15-v2 delta | tái dùng làm gate cho 4 delta v2 (tầng-1 hot-feed · L2/L3 bỏ trần · %-print · ranh-giới vai-trò) | 3/3 lane review PASS |
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Checklist được nêu ĐÍCH DANH kèm sha trong source-block report H-15:** `docs/governance/adap-reports/2026-06-20-Governance-harness-15-memory-budget.md:4` — *"+ checklist `2026-06-20-Governance-checklist-harness-15.md` (`content_sha256: 94267ab5c2fbb0b972f7df65686554903d19b23ab4156b47c8e79eb70f872bd5`)"* — sha khớp **exact** frontmatter thư đo hôm nay.
|
||||
- **Reconciliation S82 (fan-out `/adap-apply all` 29 broadcast vs 22 report):** `docs/governance/adap-reports/2026-06-21-Governance-harness-15-v2-hot-feed-update.md:49` — *"`checklist-harness-15` = verify-aid của H15 (adopt S81, dùng làm completeness-gate) — dùng lại trong review v2 này."*
|
||||
- **Kết quả gate S81:** `…harness-15-memory-budget.md:28` — *"Completeness-gate: 8/8 🔴 (6 sàn-chức-năng: đo-SÀN+a+b+c+d+e · 2 config: ghi-3-tầng + tách-nhà) — review meta-gate xác-nhận đủ."* · bảng nấc per-floor `:17-27` · review run-id `wf_b7f3c8ac-b53` (`:9`).
|
||||
- **Commit landing report gốc H-15:** `0bc2112` *[CLAUDE] Docs: adopt Harness-15 memory-budget per-agent (token-governor + value-gate + work-state block, S81)* (creation commit, `--diff-filter=A`).
|
||||
- **Artifact H-15 vẫn SỐNG hôm nay** (đo 2026-07-25, không phải chép claim cũ): `.claude/agent-memory/memory-budget.json:123` `tier1_hotfeed_tokens` · `:137` `l2_ondemand` · `:138` `l3_rag` · `:139` `pct_print`.
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** checklist dùng **as-is làm thước rà**, KHÔNG copy vào repo SE thành file riêng. SE tailor ở phía **đối-tượng bị rà**: con-số ngân-sách là **số SE tự-đo** (cap 30K riêng SE, L1/L2/L3 theo scale 1-dự-án) chứ không mượn số AI_INFRA — checklist chỉ kiểm *"có đủ 6 sàn-chức-năng + 2 config không"*, không ép trị-số.
|
||||
- **Skip:** không skip mục nào của checklist — 8/8 floor MET (`…harness-15-memory-budget.md:28`).
|
||||
- **KHÔNG tạo file checklist trong repo SE vì sao:** checklist là tài-sản hub (có sha, hub bảo-trì); copy về = fork tĩnh sẽ drift. SE giữ **kết-quả rà** trong report, giữ **con-trỏ** tới sha — đúng luật B1 (derived trỏ canonical, không chép).
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Report POINTER-DEDUP, KHÔNG phải adoption-event mới.** Cộng file này + `2026-06-20-Governance-harness-15-memory-budget.md` thành 2 lần áp là **SAI**.
|
||||
2. **Nấc `executed` ở đây nói về VIỆC DÙNG checklist**, không phải về runtime của H-15. Runtime của H-15 (nạp-đầy tầng-1, %-print mỗi phiên) là **convention/kỷ-luật**, report gốc `:19-27` đã khai rõ mechanized ⟂ convention từng floor — SE **không** nâng convention thành mechanized ở đây.
|
||||
3. **KHÔNG tự khai `verified`** (§C5) — `verified` do AI_INFRA `/adap-audit` chấm cross-repo.
|
||||
4. **Không re-chạy checklist hôm nay.** File này tổng-hợp 2 lần chạy S81/S82; hôm nay chỉ **re-ground 4 key config còn sống** (budget.json:123/137/138/139) chứ không rà lại 8 floor. Nếu hub muốn số tươi → cần 1 pass rà mới, chưa làm.
|
||||
5. **Sha thư đo hôm nay (2026-07-25) khớp sha ghi trong report S81** ⇒ thư không bị sửa giữa chừng ở khoản này. Các thư khác trong wave chưa sha-compare toàn bộ.
|
||||
@ -0,0 +1,47 @@
|
||||
# adap-report — Harness-14 ADOPT (pointer-dedup → report H-14, lệch TÊN-FILE)
|
||||
|
||||
> 🔴 **POINTER-DEDUP — KHÔNG phải đợt-áp thứ hai.** Đây là **broadcast NỀN** của H-14; SE đã áp trọn ở `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md` (S79) — chỉ khác **tên file** (report bỏ hậu-tố `-adopt`). File này sinh @S149 (2026-07-25) để `/adap-audit` khớp exact-id (format-LOCK `.claude/commands/adap-report.md:14`), KHÔNG kèm việc mới.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-20-Governance-harness-14-adopt`
|
||||
- **source:** `ai_infra/broadcasts/outbox/all/2026-06-20-Governance-harness-14-adopt.md` — `status: 🟢 ADOPT` (:7) · `supersedes_scope: plan-status của 2026-06-19-Governance-harness-all-update-v-2-0.md (nay đã BUILD)` (:8) · `content_sha256: 8da7e8b1854493f6e0f84211d82c04fbd2fe915b2b5686c0ab8033107ddefc0a` (:9) · `reviewer_gate: PASS (review-wf 0C/1M/4m → applied; investigator fidelity bulletproof)` (:10)
|
||||
- **loại:** **broadcast nền BINDING** (không phải checklist) — H-14 Eval / Budget / Outcome theo nguyên-lý "khối-lượng × chất-lượng", mọi con-số suy từ nhu-cầu thật.
|
||||
- **report gốc (đích trỏ):** `docs/governance/adap-reports/2026-06-20-Governance-harness-14.md` — 45 dòng, commit `33d519e` (2026-06-20).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**`executed`** — áp đủ floor và qua review tách-biệt; đây là **đúng một** đợt adopt, chỉ bị lệch tên-file nên trượt mọi lần quét exact-id.
|
||||
|
||||
**Đối chiếu THẬT report gốc (mở đọc 2026-07-25, không trỏ mù):**
|
||||
|
||||
| Dòng gốc | Nội dung xác nhận |
|
||||
|---|---|
|
||||
| `…harness-14.md:4` | *"**source broadcast:** `…/2026-06-20-Governance-harness-14-adopt.md` (`status: 🟢 ADOPT` · `reviewer_gate: PASS` · `content_sha256: 8da7e8b1…`)"* — ĐÍCH DANH id này là nguồn |
|
||||
| `…harness-14.md:7` | adopted by se · session **S79** · date 2026-06-20 |
|
||||
| `…harness-14.md:9` | INVESTIGATE `wf_82337f7f-95c` → IMPLEMENT em-main single-writer (D9) → REVIEW `wf_4d4eba6f-8a0` (§F floor 6/6 MET · maturity HONEST · state ACCURATE) |
|
||||
| `…harness-14.md:12` | VERDICT: ✅ ADOPTED — 🔴 rule-floor codify + neo Active-High · 🟡 method honest 3-mức maturity |
|
||||
| `…harness-14.md:26` | Completeness-gate 6/6 🔴 floor (§A×4 + §D×2) MET |
|
||||
|
||||
**Vì sao cùng nội-dung:** không có sai-khác nội-dung nào để tách — report gốc **chính là** report của broadcast này. Khác biệt duy-nhất là chuỗi tên. Reconciliation đã văn-bản-hoá từ S82: `…harness-15-v2-hot-feed-update.md:48` — *"`harness-14-adopt` = source của `harness-14.md` (chỉ khác tên-file)"*.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- Report gốc: 45 dòng, commit `33d519e` *"[CLAUDE] Docs: adopt User-Mark (H-12/13 canonical §P) + Harness-14 + RC-signature (S79)"* (2026-06-20). Đo hôm nay `git log -1 --` + `wc -l`.
|
||||
- **Sha đối chứng KHỚP ĐỦ 64 ký-tự:** cite trong report `:4` = `8da7e8b1854493f6e0f84211d82c04fbd2fe915b2b5686c0ab8033107ddefc0a` ⟺ declared frontmatter hub `:9` — trùng khít (đọc 2026-07-25).
|
||||
- Artifact SE do đợt này đẻ ra (đọc từ report gốc): `docs/rules.md §6.6` bảng "Căn-cứ SAI" time/age (`:19`) · `harness-11-engine.md §F.1-F.4` (`:19-24`, `:29`) · `memory-budget.json` 0 núm-decay (`:19`) · mark `RC-pqhuy1987-20-06-2026-10-29-11` Active-High trong `.claude/governance/ACTIVE-MARKS.md` (`:44`).
|
||||
- 0 dòng code sản-phẩm; state sản-phẩm giữ nguyên tại thời-điểm đó (report `:45`).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM):** §F gom vào `harness-11-engine.md` thay doc rời (`:29`); 🔴 rule neo qua User-Mark mark-3 cùng cụm §P — self-sign RC-signature của SE (`:30`). H-14 budget/eval **map-onto** cái SE đã có (`eval/` golden-set + archive-gate) thay vì dựng mới.
|
||||
- **Function-floor GIỮ:** §A×4 (time/age = false-proxy) + §D×2 (outcome) = 6/6 MET, review độc-lập xác-nhận.
|
||||
- **SKIP có tên rõ — `2026-06-19-Governance-harness-all-update-v-2-0` = `n-a`:** report gốc `:5` ghi *"plan-announce tiền-thân… = SKIP n-a (visibility-only PLAN-status, content_sha256 chưa stamp, superseded bởi adopt-broadcast này)"*. Frontmatter hub của chính broadcast này xác-nhận từ phía hub: `supersedes_scope: plan-status của …-v-2-0.md (nay đã BUILD)` (:8). ⚠️ **id `…-v-2-0` KHÔNG thuộc file này** — nó cần file report riêng của nó (lane khác trong wave S149).
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chống double-count `/adap-audit`:** file này + `2026-06-20-Governance-checklist-harness-14.md` (pointer) + `2026-06-20-Governance-harness-14.md` (report gốc) = **3 file, 1 đợt-adopt S79**. Đây là dạng dễ đếm sai nhất trong cụm vì cả 3 đều mang chữ "harness-14".
|
||||
- 🔴 **Chống lệch số một lần nữa:** đợt S79 gộp CẢ `harness-all-update` (User-Mark H-12/13) lẫn H-14 trong một commit `33d519e` và chung run `wf_82337f7f-95c` — hub đếm theo commit hoặc theo run đều ra số **cao hơn** số đợt-adopt thật.
|
||||
- **Caveat maturity gốc còn nguyên:** chỉ eval-precision ở Mức-1 và vẫn **manual-weekly, KHÔNG mechanized-CI**; budget-hit-rate + outcome-correlation = Mức-2 **có công-cụ chưa-ra-số**; trần-nhiễu Mức-3 ack-only (`:33`). "6/6 floor MET" ≠ "H-14 vận-hành đầy-đủ".
|
||||
- **Reverse-finding gốc vẫn mở** (`:40`): eval-precision automation là nút-thắt cross-project (RAG re-index AI_INFRA-owned), không riêng SE — nếu hub mở tooling, Mức-1 mới lên mechanized.
|
||||
- Nấc `verified` không tự phong (§C5 `adap-report.md:31`) — chờ `/adap-audit` chấm cross-repo.
|
||||
@ -0,0 +1,60 @@
|
||||
# adap-report — Harness-15-v2 hot-feed update (⚠️ NAME-DRIFT NGÀY: report gốc đề **2026-06-21**)
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới. Nó tồn tại **chỉ vì lệch NGÀY trong tên file**: hub phát thư ngày **06-20**, SE adopt + đặt tên report theo ngày **06-21** ⇒ `/adap-audit` khớp-tên-exact theo `<id>` sẽ **trượt** report gốc. 🔴 **KHÔNG đếm double** với `2026-06-21-Governance-harness-15-v2-hot-feed-update.md` — **cùng MỘT** lần adopt (S82).
|
||||
|
||||
## ⚠️ NAME-DRIFT — nêu rõ trước, để không ai đọc thành 2 lần adopt
|
||||
|
||||
| | id thư (hub) | id report (SE) |
|
||||
|---|---|---|
|
||||
| **Ngày** | `2026-06-**20**` | `2026-06-**21**` |
|
||||
| **Slug** | `Governance-harness-15-v2-hot-feed-update` | `Governance-harness-15-v2-hot-feed-update` — **giống hệt** |
|
||||
| **Nguồn ngày** | ngày hub PHÁT (frontmatter `date: 2026-06-20`) | ngày SE ÁP (`adopted…date: 2026-06-21`, S82) |
|
||||
|
||||
⇒ Lệch **duy nhất ở đoạn ngày**, slug trùng 100%. Đây là **name-drift NGÀY** (SE đặt tên report theo ngày-áp thay vì ngày-phát), **KHÔNG phải** 2 broadcast khác nhau, **KHÔNG phải** thiếu report. File hiện tại = con-trỏ tên-đúng-theo-hub trỏ về report gốc tên-theo-ngày-áp.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-20-Governance-harness-15-v2-hot-feed-update`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-20-Governance-harness-15-v2-hot-feed-update.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `type: update` · `content_sha256: e028537b392cebaa00280523526cb1e8778f96b7b70d0ea036a1b0d85b28208b` · `date: 2026-06-20` · `supersedes: 2026-06-20-Governance-harness-15-memory-budget.md` · `supersedes_scope: tier-1-sizing-philosophy-and-L2-L3-caps-only` · `status: 🟢 ADOPT (delta — chỉ re-verify PHẦN ĐỔI)` · `reviewer_gate: PASS (§J8 hmw.js …)`
|
||||
- **sha đối chứng:** prefix `e028537b…` ghi trong report gốc `:4` **KHỚP** sha frontmatter đo hôm nay ⇒ thư không bị sửa ở khoản này giữa S82 → S149.
|
||||
- **report gốc (canonical adoption-record):** `docs/governance/adap-reports/2026-06-21-Governance-harness-15-v2-hot-feed-update.md`
|
||||
- **adopted by:** se (SOLUTION_ERP) · **session:** S82 · **date:** 2026-06-21 · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **executed** (pointer-dedup về report gốc)
|
||||
|
||||
**executed** — 4 delta v2 đã sửa file + commit. Report gốc `:39-43` khai rõ mechanized ⟂ convention, và tự flag phần chờ restart; caveat đó **giữ nguyên**, xem §5 mục 2.
|
||||
|
||||
| # | v2 delta | SE áp (file:locus) | Nấc (report gốc `:19-24`) |
|
||||
|---|---|---|---|
|
||||
| 1 | Tầng-1 = **HOT-FEED LỚN** per-role | `memory-budget.json` `token_governor.tier1_hotfeed_tokens` — lead 60K / agent-ký-ức 20K / agent-workflow 16K | executed-file (**config mechanized**) |
|
||||
| 2 | **L2/L3 BỎ TRẦN** | `token_governor.l2_ondemand` / `l3_rag` = `"NO-CAP"` | executed-file (**config mechanized**) |
|
||||
| 3 | **%-print 2 đầu-phiên** | `session-start §2.1.6` + `session-end §L.b(c)` + `token_governor.pct_print` | executed-file → runtime (**convention**) |
|
||||
| 4 | **Ranh-giới vai-trò** (số = quyền chủ-dự-án) | `token_governor.role_boundary_note` + engine `§G.4(4)` + 2 cmd-doc | executed-file (**convention**) |
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Report gốc, từng dòng:** id `:3` · source-broadcast + sha `:4` · adopted S82 `:6` · bảng 4 delta `:19-24` · tailored con-số SE tự-đo `:28` · nấc mechanized-vs-convention `:41-42` · review 3/3 lane PASS run-id `wf_04667b25-5fa` `:51-56` · 3 MINOR đã fix `:58-61`.
|
||||
- **Reconciliation S82 (chính đợt này phát hiện name-drift cụm 06-18→06-20):** `2026-06-21-…hot-feed-update.md:45-49` — *"`/adap-apply all` 29 broadcast vs 22 adap-report … 9 không-khớp exact-id → verify từng cái: 1 MỚI THẬT = H15-v2 (báo-cáo này). 7 còn lại = đã-phủ (verify-not-redo)"*. ⇒ tên-lệch đã được văn-bản-hoá từ S82; S149 chỉ **tách file per-id**.
|
||||
- **Commit landing:** `aa3f0fe` *[CLAUDE] Docs: adopt Harness-15-v2 (Tang-1 hot-feed-lon + L2/L3 bo-tran + %-print + role-boundary, S82)*.
|
||||
- **Re-ground ĐĨA hôm nay 2026-07-25** (đo lại, KHÔNG chép claim S82):
|
||||
- `.claude/agent-memory/memory-budget.json:123` `tier1_hotfeed_tokens` · `:137` `l2_ondemand` = `"NO-CAP (v2: removed the 6K cap)…"` · `:138` `l3_rag` = `"NO-CAP (v2: removed the 4K cap)…"` · `:139` `pct_print` — **cả 4 delta còn sống**, không bị revert.
|
||||
- `.claude/commands/session-start.md:220` — heading `### 2.1.6 Hot-feed %-print — LEAD báo composition Tầng-1 theo % ĐẦU phiên (Harness-15-v2 §6, S82)`.
|
||||
- `.claude/commands/session-end.md:68` — `📊 Hot-feed %-print CUỐI phiên (Harness-15-v2 §G.4, S82)` + câu *"con-số = quyền anh (chủ-dự-án); em-main chỉ báo-%, KHÔNG tự-chỉnh"*.
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng, 0 byte sửa trên report gốc (idempotent — KHÔNG đè).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored (FORM) — con-số:** SE **KHÔNG mượn** 220K/60K/50K của AI_INFRA. SE tự-đo-estimate theo scale riêng (1 dự-án, sub MEMORY.md byte-capped): **lead 60K · agent-ký-ức 20K · agent-workflow 16K** (report gốc `:28`). SÀN bắt buộc = *kiến-trúc* (tầng-1 hot-feed lớn + L2/L3 bỏ trần); **con-số = tự-do theo scale** (`:29`).
|
||||
- **Tailored (FORM) — nhà chứa:** delta gom vào `harness-11-engine.md §G.4` (engine governance hợp-nhất của SE) thay vì dựng doc mới.
|
||||
- **Tailored — framing:** SE sửa framing S81 *"numbers = LEAD-AUTHORITY"* → **quyền CHỦ-DỰ-ÁN (anh)**, em-main chỉ thực-thi + báo-% (report gốc `:31-33`).
|
||||
- **Skip:** không skip delta nào (4/4 áp). Không có mục n-a.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Report POINTER-DEDUP + NAME-DRIFT NGÀY.** Cộng file này với `2026-06-21-Governance-harness-15-v2-hot-feed-update.md` thành 2 lần adopt là **SAI** — 1 lần, S82, commit `aa3f0fe`.
|
||||
2. **Kế thừa caveat `VERIFIED-pending-restart` của report gốc `:41`** (*"command `.md` no hot-reload → VERIFIED-pending-restart cho phần cmd-doc; config JSON live ngay"*). Hôm nay em **chỉ chứng được cmd-doc CÒN NGUYÊN TRÊN ĐĨA** (session-start:220 · session-end:68), **KHÔNG chứng được nó đã chạy runtime** trong wave này — lane này không chạy `/session-start`. ⇒ **KHÔNG nâng nấc**, giữ `executed`. Ai muốn nấc cao hơn phải có log %-print thật.
|
||||
3. **(3)(4) là CONVENTION, không mechanized** — không có công-cụ ép nạp-đầy hay ép báo-%; kỷ-luật người+AI. Report gốc `:42` đã khai, file này giữ nguyên, KHÔNG nâng.
|
||||
4. **Đánh-đổi honest (v2 §5, report gốc `:43`):** tầng-1 lớn ⇒ **rot CAO HƠN** trên phần always-loaded — chấp-nhận có-chủ-đích, KHÔNG nói "rot biến mất".
|
||||
5. **KHÔNG tự khai `verified`** (§C5) — `verified` do AI_INFRA `/adap-audit` chấm.
|
||||
6. **Đề-xuất ngược hub (§M, nhẹ):** name-drift kiểu này sinh ra **báo-động-giả "chưa adopt"** ở phía audit. Nếu `/adap-audit` khớp **slug** (bỏ đoạn ngày) trước khi khớp full-id thì 1 trong 6 file của lane này (chính file này) là **thừa**. SE vẫn tách file vì hôm nay chưa biết parser hub hành-xử ra sao — nêu để hub cân.
|
||||
@ -0,0 +1,51 @@
|
||||
# adap-report — Harness-16 MFE `type: update` (khung trọng-tài Branch A + độ-phủ theo vai-agent-con Branch B)
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới. Report gốc `2026-06-29-Governance-harness-16-mfe.md` gộp **3 broadcast trong 1 frontmatter** (brace 3-in-1) ⇒ `/adap-audit` khớp-exact-id sẽ **trượt cả 3**. File này tách con-trỏ cho **1 trong 3**. 🔴 **KHÔNG đếm double** với report gốc, cũng KHÔNG đếm 3 lần với 2 file anh-em (`…-memory-fidelity-eval`, `…-mfe-update`) — **cùng MỘT** lần adopt (S93).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-29-Governance-harness-16-cd-judge-sub-update`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-29-Governance-harness-16-cd-judge-sub-update.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `type: update` · `content_sha256: f6d4710fe46025c93ae6f9428a0323abffab6e747c74ce46902ca0623d409054` · `date: 2026-06-29` · `re: … thêm khung trọng-tài (đo nhớ-ra/dùng-đúng) + đo độ-phủ bộ-nhớ theo từng vai-agent-con (sàn-theo-vai, đo-thật)` · `supersedes_scope: none (additive — … re-verify CHỈ hai nhánh mới)` · `status: 🟢 PUBLISHED` · `reviewer_gate: PASS 0C/0M/0m (wf_8a616de9)`
|
||||
- **report gốc (canonical adoption-record):** `docs/governance/adap-reports/2026-06-29-Governance-harness-16-mfe.md` — frontmatter `:2` verbatim: `broadcast: 2026-06-29-Governance-harness-16-{memory-fidelity-eval, mfe-update, cd-judge-sub-update}` ⇒ **id này = phần tử thứ 3 trong brace**.
|
||||
- **adopted by:** se (SOLUTION_ERP) · **session:** S93 · **date:** 2026-06-29 (`…-mfe.md:5`) · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **executed** (pointer-dedup) — 🟡 **nấc TÁCH ĐÔI theo nhánh, đọc kỹ**
|
||||
|
||||
Thư mang **2 nhánh khác hẳn nhau về độ chín**. Gộp thành 1 nấc là nói dối; tách:
|
||||
|
||||
| Nhánh của thư | SE áp | Nấc THẬT (report gốc) |
|
||||
|---|---|---|
|
||||
| **Branch A — khung trọng-tài** (sample-q + stub scorer + reader, no-API, opt-in, cadence) | `eval/mfe/sample-questions.json` **12 câu stable-id anchored** (RC/gotcha#/AS#, immutable, time-stamped — gieo NGAY để đủ tuổi sau) + `-Judge` **stub, scorer RỖNG** | 🟡 **SCAFFOLD** (`:22` `:34`) — **số CHƯA có nghĩa, ĐÚNG thiết-kế** (broadcast xếp last-resort) |
|
||||
| **Branch B — độ-phủ per-role sub, ĐO-THẬT** (denom = anti-pattern trong role-file, numer = diary, content-word KHÔNG leading-verb) | `mfe-eval.ps1` SUB: denom = numbered anti-pattern/`NEVER` trong `agents/<role>.md`; numer = `agent-memory/<role>/MEMORY.md`; match = exact-id OR ≥2 content-word sau stop-list | ✅ **executed + WF2 re-derived** — **ĐO-THẬT** impl-backend 94% · impl-frontend 85% · reviewer 88% (`:35`) |
|
||||
| **bẫy leading-verb** (verb-only ăn 9/9 giả) | stop-list (EN+VN verb) + NFD-strip-diacritics ⇒ verb-only = 0 content-word = MISS | ✅ **adversarial-probed**: WF2 thử `"NEVER commit push"` → 0 word → **no false-max** (`:36`) |
|
||||
| **vai prose-only / phù-du = N/A CÓ LÝ-DO** | den=0 → in `N/A (no numbered/NEVER block)`, **KHÔNG in `0%`** (div-by-0 guarded); 3 role prose-only (database-agent / harvest / tooling) | ✅ refinement em-main **sau** smoke (`:37`) |
|
||||
|
||||
⇒ **Nấc tổng = `executed`** (file có thật, WF2 re-derive được), **nhưng Branch A chỉ đến mức SCAFFOLD** và điều đó là **yêu-cầu của chính thư**, không phải nợ giấu.
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Report gốc, từng dòng:** frontmatter 3-in-1 `:2` · status 3-mảnh (có `SCAFFOLD (judge layer)`) `:6` · TL;DR *"Judge layer (recall/apply) = SCAFFOLD-only (seed + stub, chưa scorer — số CHƯA có nghĩa, đúng thiết-kế)"* `:14` · floor (2b) `:22` · **bảng Sub-branch `:28-37`**, 4 dòng thuộc thư này: `:34` (Branch A) `:35` (Branch B) `:36` (leading-verb) `:37` (prose-only N/A) · caveat judge `:53` · evidence `:58-63`.
|
||||
- **2-workflow mandate ĐẠT:** WF1 `wf_4c63e1bd-99e` · WF2 `wf_13e3d35a-023` PASS 0-blocking; **code-gate re-derived denom 29 to-the-digit + leading-verb-trap adversarial-probed-defeated** (`:48`).
|
||||
- **Commit landing:** `9580098` *[CLAUDE] Docs: adopt Harness-16 MFE (memory-fidelity-EVAL) — 2-workflow + email AI_INFRA*.
|
||||
- **Re-ground ĐĨA hôm nay 2026-07-25** (đo lại, KHÔNG chép claim S93) — quan trọng vì đây là nhánh dễ bị đọc-nhầm-thành-đã-đo:
|
||||
- `eval/mfe/sample-questions.json` tồn tại, đếm được **12 câu** (`grep -o '"id"' | wc -l` = 12) — khớp `:34`.
|
||||
- `scripts/mfe-eval.ps1:19` comment verbatim: `# Branch-A judge (recall/apply) = SCAFFOLD only (-Judge) : numbers MEANINGLESS until` · `:279` `# JUDGE scaffold (Branch A) : -Judge only. SCAFFOLD - numbers MEANINGLESS.` · `:281` `function Show-JudgeScaffold` · `:302` `if ($Judge) { Show-JudgeScaffold }` ⇒ **scorer VẪN rỗng hôm nay, 26 ngày sau S93** — scaffold **chưa** biến thành judge thật.
|
||||
- `.claude/commands/session-end.md:73` — `memory-triple: kiem=<scripts/mfe-eval.ps1 | reviewer · verdict>` ⇒ MFE có mặt trong nhịp đồng-kiểm memory hiện hành.
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng, 0 byte sửa report gốc (idempotent).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored — Branch B đo trên roster THẬT của SE:** denominator = anti-pattern đánh-số / `NEVER` trong `.claude/agents/<role>.md` của SE; numerator = diary `agent-memory/<role>/MEMORY.md`. **KHÔNG** dùng project/user `MEMORY.md` — đây là **bẫy H15-v3 đã biết**, tránh có chủ-đích (`…-mfe.md:35`).
|
||||
- **Tailored — vocab-fork:** đặt tên **MFE = memory-fidelity-EVAL** (vì "memory-fidelity" ở SE đã là H6.7 memoryDelta-routing) + alias-map §H + **KHÔNG seed `$aliasSets`** (seed sẽ flag-sai 2-khái-niệm-1-từ) (`:42`).
|
||||
- **Tailored — prose-only:** SE có 3 vai prose-only ⇒ chọn `N/A` thay `0%`; giữ mẫu-số trung-thực thay vì phạt vai không có block đánh-số.
|
||||
- **Skip (n-a có lý-do):** **KHÔNG chạy judge 2-agent trong cùng phiên adopt.** Lý do project-fit ghi thẳng report gốc `:53`: trọng-tài phải (a) sample-q **đủ chín tuổi** VÀ (b) **độc-lập khác-phiên**; tự-chấm-cùng-phiên = vô-nghĩa. ⇒ gieo seed trước, chấm sau — cố ý.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Report POINTER-DEDUP + frontmatter 3-in-1.** 3 file id + report gốc = **1 adoption-event S93**, commit `9580098`. Cộng thành nhiều lần áp là **SAI**.
|
||||
2. 🔴 **KHÔNG nhận "đã đo độ-nhớ".** Branch A = **SCAFFOLD**; recall/dùng-đúng **chưa có số có nghĩa** (`:53`). Đo hôm nay xác-nhận scorer vẫn rỗng (`mfe-eval.ps1:279-302`). Ai đọc file này thành "SE đã đo retention" là đọc sai.
|
||||
3. **Branch B 94% / 85% / 88% là số S93**, không phải số tươi 2026-07-25 — wave này **không chạy** `mfe-eval.ps1`. Diary sub đã đổi nhiều từ S93 ⇒ số hôm nay **gần như chắc chắn khác**, chưa đo.
|
||||
4. **Coverage per-role đo TRÙNG-KHỚP TỪ, không đo hiểu.** Match = exact-id OR ≥2 content-word ⇒ đây là **proxy**; stop-list chặn được bẫy verb-only (`:36` probed) nhưng không chặn được diary chép-vẹt anti-pattern mà không hành-xử theo. Đó là lý do phải có Branch A — mà Branch A **chưa chạy**.
|
||||
5. **Nợ còn treo, khai thẳng:** judge 2-agent khác-phiên **chưa từng chạy** kể từ S93 (26 ngày). Sample-q gieo 2026-06-29 nay đã đủ tuổi — điều-kiện (a) coi như đạt, điều-kiện (b) **vẫn chưa có ai chạy**. Lane này **không tự nhận việc đó** (ngoài scope 6-report được giao) — đề-xuất lead xếp lịch.
|
||||
6. **KHÔNG tự khai `verified`** (§C5) — thuộc thẩm-quyền AI_INFRA `/adap-audit`.
|
||||
@ -0,0 +1,55 @@
|
||||
# adap-report — Harness-16 Memory-Fidelity-EVAL (MFE), bản gốc `type: new`
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới. Report gốc `2026-06-29-Governance-harness-16-mfe.md` gộp **3 broadcast trong 1 frontmatter** (brace 3-in-1) ⇒ `/adap-audit` khớp-exact-id sẽ **trượt cả 3**. File này tách con-trỏ cho **1 trong 3**. 🔴 **KHÔNG đếm double** với report gốc, cũng KHÔNG đếm 3 lần với 2 file anh-em (`…-mfe-update`, `…-cd-judge-sub-update`) — **cùng MỘT** lần adopt (S93).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-29-Governance-harness-16-memory-fidelity-eval`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-29-Governance-harness-16-memory-fidelity-eval.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `type: new` · `content_sha256: 5ee3dc5c3a4acbf4faa64fc423700b4da880170089f2c9911f5cd8e46ed0e8c6` · `date: 2026-06-29` · `supersedes_scope: none (additive)` · `status: 🟢 PUBLISHED (review-wf gate PASS-WITH-FIXES s56 — 1 MINOR honest-precision applied)` · `reviewer_gate: PASS-WITH-FIXES (0C/0M/1m-applied)`
|
||||
- **report gốc (canonical adoption-record):** `docs/governance/adap-reports/2026-06-29-Governance-harness-16-mfe.md` — frontmatter `:2` verbatim: `broadcast: 2026-06-29-Governance-harness-16-{memory-fidelity-eval, mfe-update, cd-judge-sub-update}` ⇒ **id này nằm trong brace, phần tử thứ 1**.
|
||||
- **adopted by:** se (SOLUTION_ERP) · **session:** S93 · **date:** 2026-06-29 (`…-mfe.md:5`) · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **executed** (pointer-dedup; khối deterministic + runtime-smoke)
|
||||
|
||||
**executed.** Phần thư này phụ-trách = **function-floor 5 mục (broadcast mục 3)** = khối deterministic. Report gốc `:6` khai trạng-thái 3-mảnh: `EXECUTED + runtime-smoke (deterministic block) · SCAFFOLD (judge layer) · VERIFIED-pending-restart (command wire)` — mảnh **deterministic thuộc về thư này** và ở nấc cao nhất trong 3.
|
||||
|
||||
| Floor (broadcast mục 3) | SE artifact | Nấc (report gốc) |
|
||||
|---|---|---|
|
||||
| (1) Mẫu-số "bắt-buộc-nhớ" deterministic, status-field KHÔNG grep, dedup | `mfe-eval.ps1` LEAD: 4 mark + 13 AS + 5 net-guard + 7 net-gotcha = **29 item** | ✅ executed + WF2 **re-derived EXACT** (`:20`) |
|
||||
| (2a) Coverage% vs ngân-sách hot | token-RANGE [bytes/4 .. bytes/3.0] vs cap **live-read** `token_governor.tier1_hotfeed_tokens` → **1.5% worst-case, FIT thừa** | ✅ (`:21`) |
|
||||
| (2b) Effective% (cần trọng-tài) | judge scaffold — **số CHƯA có nghĩa** | 🟡 scaffold (`:22`) — chi tiết ở report `…-cd-judge-sub-update` |
|
||||
| (2c) Phân-tầng-tuổi | FLAG `old-but-still-required`, **KHÔNG cắt** | ✅ (`:23`) |
|
||||
| (3) Neo Goodhart (KHÔNG self-grade) | in `strikes_total=21` + `RCA_entries=9` cạnh coverage; strikes↑ + coverage cao = điểm nói dối | ✅ (`:24`) |
|
||||
| (4) Per-tier + opt-in command param | `-Tier lead/sub/all` + `-Judge`; wire opt-in `session-start §2.1.6` + `session-end §L.b(c)` | ✅ executed-file (**VERIFIED-pending-restart**, `:25`) |
|
||||
| (5) Quyết-định 2-ca (thiếu-chỗ→TĂNG budget / rot→SẮP-XẾP-LẠI) | engine §H3 + README; 🔴 con-số budget = **quyền anh** | ✅ (`:26`) |
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Report gốc, từng dòng:** frontmatter 3-in-1 `:2` · date_applied S93 `:5` · status 3-mảnh `:6` · reviewer_gate `:7` · TL;DR nấc honest `:14` · bảng function-floor `:16-26` · tailored `:39-43` · 2-workflow mandate `:45-48` · honest caveats `:50-56` · evidence `:58-63`.
|
||||
- **2-workflow mandate (Harness-9) ĐẠT:** WF1 IMPLEMENT `wf_4c63e1bd-99e` (`:47`) · WF2 REVIEW `wf_13e3d35a-023` = **PASS 0-blocking**, code-gate **re-derived denom 29 to-the-digit** (`:48`).
|
||||
- **Commit landing:** `9580098` *[CLAUDE] Docs: adopt Harness-16 MFE (memory-fidelity-EVAL) — 2-workflow + email AI_INFRA*.
|
||||
- **Re-ground ĐĨA hôm nay 2026-07-25** (đo lại, KHÔNG chép claim S93):
|
||||
- `scripts/mfe-eval.ps1` **tồn tại, 305 dòng / 17.311 byte** (S93 khai 302 dòng ⇒ **+3 dòng drift** sau S93 — xem caveat 5).
|
||||
- `eval/mfe/sample-questions.json` + `eval/mfe/README.md` tồn tại; sample-q đếm được **12 câu** (`grep -o '"id"' | wc -l` = 12) — khớp con-số S93.
|
||||
- Wire cadence còn sống: `.claude/commands/session-start.md:228` (MFE opt-in, tham-số `eval`) · `.claude/commands/session-end.md:68` (MFE retention opt-in) · `session-end.md:73` (`memory-triple: kiem=<scripts/mfe-eval.ps1 | reviewer · verdict>`).
|
||||
- `.gitignore:124` `.claude/agent-memory/.mfe-state.json` — state-file vẫn untracked đúng thiết-kế.
|
||||
- **Smoke S93 (số của report gốc `:61`, KHÔNG chạy lại hôm nay):** 3-tier exit 0 · denom 29/220K = 1.5% · SUB impl-backend 94% / impl-frontend 85% / reviewer 88% · 3 prose-role N/A · Goodhart strikes 21 / RCA 9.
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng, 0 byte sửa report gốc (idempotent).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored — mẫu-số là governance CỦA SE:** denominator = 4 mark Active-High + 13 AS-class + Active-Guards + recurring-gotchas, **không** mượn tập của hub. Trùng `value_protect.patterns` là **CỐ Ý** (cùng tập giá-trị-cao), KHÔNG double-count vì **dedup by AS cross-reference** (`…-mfe.md:41`).
|
||||
- **Tailored — vocab-fork resolved (WF1 reviewer bắt, BLOCKING):** "memory-fidelity" đã là H6.7 `memoryDelta`-routing-fidelity của SE ⇒ đặt tên **MFE = memory-fidelity-EVAL** ở 4 site + alias-map §H, **KHÔNG seed `$aliasSets`** (2-khái-niệm-1-từ, seed sẽ flag-sai) + C3-comment chống maintainer seed nhầm (`:42`).
|
||||
- **Tailored — READ-ONLY scoped honest:** MFE **đọc** `token_governor` single-source, KHÔNG ghi; nhưng **CÓ ghi 1 file** `.mfe-state.json` (strikes cross-run) ⇒ khai `"KHÔNG phải writes-nothing"` (`:43`) thay vì overclaim "read-only".
|
||||
- **Skip:** không skip floor nào của thư này (5/5 có địa-chỉ). Floor (2b) **không skip** mà **hạ nấc trung-thực xuống scaffold** — khác nhau, và khác biệt đó chính là điểm honest của H-16.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Report POINTER-DEDUP + frontmatter 3-in-1.** 3 file (`…-memory-fidelity-eval`, `…-mfe-update`, `…-cd-judge-sub-update`) + report gốc `…-mfe.md` = **1 adoption-event S93**, commit `9580098`. Cộng thành 2/3/4 lần là **SAI**.
|
||||
2. **Token = RANGE, chưa tokenizer thật** (`…-mfe.md:52`): char/4 ≠ token thật (VN ~3.0-3.5 byte/tok); FIT dùng worst-case bytes/3.0. Kết-luận 1.5% nằm xa trần nên an-toàn, **nhưng hệ-số còn bất-định** — đuôi-sổ phình thì phải theo-dõi.
|
||||
3. **LEAD đo COVERAGE/FIT (không-gian), KHÔNG đo retention** (`:55`). Đừng đọc "1.5% FIT" thành "đã đo độ-nhớ".
|
||||
4. **+1 conservative dedup bias** (WF2 minor, `:56`): guard `run_in_background` map khái-niệm AS-5 nhưng Counters ghi `looks-frozen` (no AS-5 ref) ⇒ giữ net-extra. Tighten = data-fix ledger, **defer**.
|
||||
5. ⚠️ **Drift đo được hôm nay:** `mfe-eval.ps1` **305 dòng** vs **302 dòng** khai ở `…-mfe.md:60`. Lệch +3 dòng do refinement sau S93 (report gốc `:37` có ghi 1 refinement em-main *sau* smoke: prose-only → `N/A` thay `0%`). **KHÔNG tự sửa số trong report gốc** (isolation lane) — nêu ở đây để lead cân việc enrich.
|
||||
6. **KHÔNG chạy lại `mfe-eval.ps1` trong wave này** ⇒ mọi con-số smoke (29 item · 1.5% · 94/85/88 · strikes 21/RCA 9) là **số S93**, không phải số tươi 2026-07-25. Muốn số tươi phải chạy script — chưa làm.
|
||||
7. **KHÔNG tự khai `verified`** (§C5). Nấc cmd-wire vẫn `VERIFIED-pending-restart` theo report gốc `:25`/`:63`; hôm nay chỉ chứng được cmd-doc **còn trên đĩa**, không chứng được đã chạy.
|
||||
@ -0,0 +1,50 @@
|
||||
# adap-report — Harness-16 MFE `type: update` (dựng-thật deterministic + trần đọc-LIVE + per-tier N/A + wire lệnh-biến)
|
||||
|
||||
> **Loại report: POINTER-DEDUP (S149).** File này KHÔNG ghi việc mới. Report gốc `2026-06-29-Governance-harness-16-mfe.md` gộp **3 broadcast trong 1 frontmatter** (brace 3-in-1) ⇒ `/adap-audit` khớp-exact-id sẽ **trượt cả 3**. File này tách con-trỏ cho **1 trong 3**. 🔴 **KHÔNG đếm double** với report gốc, cũng KHÔNG đếm 3 lần với 2 file anh-em (`…-memory-fidelity-eval`, `…-cd-judge-sub-update`) — **cùng MỘT** lần adopt (S93).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
- **id:** `2026-06-29-Governance-harness-16-mfe-update`
|
||||
- **source broadcast:** `ai_infra/broadcasts/outbox/all/2026-06-29-Governance-harness-16-mfe-update.md`
|
||||
- frontmatter đo THẬT hôm nay (2026-07-25): `type: update` · `content_sha256: b813b959c010aaacc2ec2234d08af381be7c8fcac9a1ea297461d94c19d518a4` · `date: 2026-06-29` · `re: … dựng-thật khối deterministic + bài-học single-source trần + per-tier N/A + wire lệnh-biến` · `supersedes_scope: bổ-sung cho bản H-16 (type:new 2026-06-29) — KHÔNG đè function-floor; thêm 3 bài-học wire + migration-note (re-verify CHỈ phần đổi)` · `status: 🟢 PUBLISHED (broadcast-gate-wf PASS s57)` · `reviewer_gate: PASS (0C/0M/0-blocking)`
|
||||
- **report gốc (canonical adoption-record):** `docs/governance/adap-reports/2026-06-29-Governance-harness-16-mfe.md` — frontmatter `:2` verbatim: `broadcast: 2026-06-29-Governance-harness-16-{memory-fidelity-eval, mfe-update, cd-judge-sub-update}` ⇒ **id này = phần tử thứ 2 trong brace**.
|
||||
- **adopted by:** se (SOLUTION_ERP) · **session:** S93 · **date:** 2026-06-29 (`…-mfe.md:5`) · **date-tách-file:** 2026-07-25 (S149)
|
||||
|
||||
## 2. nac G-011 — **executed** (pointer-dedup; delta `type: update`, re-verify CHỈ phần đổi)
|
||||
|
||||
**executed.** Thư là `type: update` **additive** — theo `supersedes_scope`, chỉ re-verify 3 bài-học wire, KHÔNG làm lại function-floor. Cả 3 khoản đều có địa-chỉ trên đĩa SE:
|
||||
|
||||
| Delta của thư | SE áp | Nấc (report gốc) |
|
||||
|---|---|---|
|
||||
| **dựng-thật khối deterministic** (không dừng ở thiết-kế) | `scripts/mfe-eval.ps1` chạy thật 3-tier, exit 0; denom **29 item** WF2 re-derived EXACT | ✅ **executed + runtime-smoke** (`:6` frontmatter · `:20` · `:61`) |
|
||||
| **bài-học trần đọc-LIVE single-source** (KHÔNG hardcode) | `lead_tokens` **live-read** từ `memory-budget.json` — lý-do khai thẳng: *"số đã 60K→200K→220K nên hardcode = rot"* (B1 derived-trỏ-canonical) | ✅ **WF2-proven** (`:32`) |
|
||||
| **per-tier N/A** (source-vs-cap không áp cho sub-tier) | SUB-WORKFLOW (ephemeral) = **N/A by-design** — kênh ký-ức là memory-pack lead bơm, không có "source" riêng để so cap | ✅ (`:33`) |
|
||||
| **wire lệnh-biến** (opt-in param, không đổi hành-vi mặc-định) | `-Tier lead/sub/all` + `-Judge`; wire `session-start §2.1.6` + `session-end §L.b(c)` với param `eval`; **no-param = như cũ** (tương-thích-ngược) | ✅ executed-file, **VERIFIED-pending-restart** (`:25`) |
|
||||
|
||||
## 3. evidence
|
||||
|
||||
- **Report gốc, từng dòng:** frontmatter 3-in-1 `:2` · status 3-mảnh `:6` · reviewer_gate WF2 `:7` · TL;DR *"Deterministic ($0) block = BUILT + WIRED + runtime-smoke S93 (chạy thật, 3-tier, exit 0)"* `:14` · floor (4) per-tier + opt-in param `:25` · **bảng Sub-branch `:28-37`**, trong đó 2 dòng thuộc thư này: `:32` (trần đọc-LIVE single-source) + `:33` (source-vs-cap N/A cho sub-tier) · 2-workflow mandate `:45-48` · caveats `:50-56` · evidence `:58-63`.
|
||||
- **2-workflow mandate ĐẠT:** WF1 IMPLEMENT `wf_4c63e1bd-99e` · WF2 REVIEW `wf_13e3d35a-023` PASS 0-blocking, **RETURN-ONLY honored (0 tracked write)** (`:47-48`).
|
||||
- **Commit landing:** `9580098` *[CLAUDE] Docs: adopt Harness-16 MFE (memory-fidelity-EVAL) — 2-workflow + email AI_INFRA*.
|
||||
- **Re-ground ĐĨA hôm nay 2026-07-25** (đo lại, KHÔNG chép claim S93):
|
||||
- `scripts/mfe-eval.ps1` tồn tại **305 dòng / 17.311 byte**; `-Judge` khai báo `:31` (`[switch]$Judge = $false`) và `-Tier` cùng khối param ⇒ **lệnh-biến còn nguyên**, mặc-định OFF.
|
||||
- Wire cadence còn sống: `.claude/commands/session-start.md:228` — verbatim *"lệnh kèm tham-số `eval` → chạy thêm baseline … `scripts/mfe-eval.ps1` … KHÔNG `eval` = bỏ qua (tương-thích-ngược). MFE **READS** budget single-source, KHÔNG ghi."* ⇒ **cả 2 bài-học (single-source + opt-in) đọc được nguyên-văn tại call-site**, không chỉ trong report.
|
||||
- `.claude/commands/session-end.md:68` — MFE retention opt-in (`eval`) + *"READS budget, KHÔNG ghi/auto-tune"*.
|
||||
- Trần đọc-LIVE có nguồn thật: `.claude/agent-memory/memory-budget.json:123` `tier1_hotfeed_tokens` (đúng key mà script live-read).
|
||||
- **File này:** 0 dòng code, 0 file canonical đụng, 0 byte sửa report gốc (idempotent).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored — FORM cadence:** SE wire vào **2 cửa phiên của SE** (`session-start §2.1.6` / `session-end §L.b(c)`) chứ không dựng lịch riêng; opt-in bằng **1 chữ `eval`** trong lệnh, giữ phiên light chạy nhanh như cũ.
|
||||
- **Tailored — nhà chứa lý-thuyết:** gom vào `harness-11-engine.md §H` + artifact-row (engine hợp-nhất của SE), không tạo doc mới.
|
||||
- **Tailored — per-tier N/A có LÝ-DO, không phải 0%:** SE khai `N/A (no numbered/NEVER block)` cho vai prose-only thay vì in `0%` (div-by-0 guarded) — cùng tinh-thần "N/A by-design" của thư (`…-mfe.md:37`).
|
||||
- **Skip:** không skip khoản nào. Không có mục n-a.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔴 **Report POINTER-DEDUP + frontmatter 3-in-1.** 3 file id + report gốc = **1 adoption-event S93**, commit `9580098`.
|
||||
2. **`VERIFIED-pending-restart` cho phần cmd-wire** (`…-mfe.md:25`/`:63` — *"command `.md` no hot-reload"*). Hôm nay chứng được **call-site còn nguyên trên đĩa** (session-start:228 · session-end:68), **KHÔNG chứng được đã chạy runtime** — wave này không chạy `/session-start`. ⇒ giữ `executed`, KHÔNG nâng nấc.
|
||||
3. **"Runtime-smoke" là smoke S93, không phải hôm nay.** Wave này **KHÔNG chạy** `mfe-eval.ps1`; mọi số (29 item · 1.5% · exit 0) là số S93 chép có dẫn-nguồn. Số tươi 2026-07-25 = **chưa có**.
|
||||
4. **`READS budget, KHÔNG ghi` là đúng cho budget, KHÔNG đúng tuyệt-đối cho toàn script** — MFE **có ghi** `.mfe-state.json` (strikes cross-run, `.gitignore:124`). Report gốc `:43` đã khai `"KHÔNG phải writes-nothing"`; nhắc lại ở đây để câu ở call-site (`session-start:228`) không bị đọc thành "script không ghi gì".
|
||||
5. ⚠️ **Drift đo được:** script **305 dòng** hôm nay vs **302 dòng** khai `…-mfe.md:60` (+3, do refinement sau smoke `:37`). KHÔNG tự sửa report gốc (isolation lane) — nêu để lead cân enrich.
|
||||
6. **KHÔNG tự khai `verified`** (§C5) — thuộc thẩm-quyền AI_INFRA `/adap-audit`.
|
||||
@ -0,0 +1,38 @@
|
||||
# adap-report — 2026-07-18-Governance-spawn-label-panel-audit-khung
|
||||
|
||||
> SE (SOLUTION_ERP) · nhóm-B backlog wave S149(+1) · lane L3.
|
||||
> Bản này **de-facto đã áp @S144**; report viết sau để `/adap-audit` parse được per-id. Báo cáo **theo TỪNG KHOẢN**, không gộp thành một con số — đúng bài `meta-count` mà chính đợt-11 sinh ra để chặn (`C14-disposition-per-khoan.md:49-54`).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-18-Governance-spawn-label-panel-audit-khung` (type **new** · `content_sha256` `6cbded684636dda7f51c945bb381f90d73d4907088014aa04ceb851e10b3eae6` · `reviewer_gate: PASS-W-FIXES` — đọc từ frontmatter bản trong `broadcasts/inbox/ai_infra/`, **chưa sha-recompute hôm nay**, xem caveat).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** — khuôn đã codify BINDING trên đĩa và đã dogfood thật; **nhưng khoản-④ ở nấc `verified-pending`** (bảng dưới). Không gộp 4 khoản thành một nhãn.
|
||||
|
||||
## 3. evidence (đo THẬT — bảng per-khoản, 4 khoản floor `spawn-label:22-27`)
|
||||
|
||||
| # | Khoản (floor hub) | Nấc SE | Bằng-chứng đo được |
|
||||
|---|---|---|---|
|
||||
| ① | Đủ 4 thành-phần `{nhóm\|vòng}{vai}{pha\|wave}{mã-phiên}` | **executed** | Codify BINDING: `.claude/commands/fable-clone.md:62-64` — tiêu-đề `🔴 KHUÔN LABEL 4 THÀNH-PHẦN (C3 — spawn-label:22-27, BINDING)` + khuôn `{nhóm\|Vòng-N\|Core\|Gate\|WF} {vai} {pha/wave} s{N}` ở `:67`. Phạm-vi khai ở `:64`: "Mọi spawn (Agent-tool `description` · `hmw` `label` · monitor · cổng review)". Dogfood @S144: `C14-disposition-per-khoan.md:14` — 3 lane review mang `Gate reviewer anchor s144` / `…scope…` / `…teeth…` |
|
||||
| ② | Vừa khung panel (~≤40 ký tự) | **executed** | Luật: `fable-clone.md:69` — "Vừa panel ~≤40 ký tự; xung đột thì **đủ-thành-phần thắng ngắn-gọn** (`:25`)". **Đo lại hôm nay (đếm ký tự tay, không tin số cũ):** `Gate reviewer anchor s144` = **25** · `Gate reviewer teeth s144` = **24** · `Vòng-3 harness-eval w1 @start s144` = **34** ⇒ 3/3 ≤ 40, 0 bị cắt. (C14:15 ghi "24–25 ký tự" cho cặp Gate — khớp) |
|
||||
| ③ | Một khuôn nhất quán toàn repo | **executed (luật) · chưa có phép đo máy** | Luật 1-khuôn: `fable-clone.md:70` — "Một khuôn duy nhất toàn repo (`:26`)". Điều-kiện áp: `fable-clone.md:71` — "Áp từ phiên kế (`:51`) — spawn trước đó giữ nguyên làm vết, KHÔNG sửa lùi" (khớp `C14:16` DEFER-có-điều-kiện, nay điều-kiện đã tới). 🔸 **Không có detector nào đo tính-nhất-quán** — xác nhận bằng đọc, không bằng máy |
|
||||
| ④ | Phủ **MỌI** loại spawn | 🔴 **verified-pending** | **Đo hôm nay trên chính run đang chạy:** `grep -ic "label" .claude/workflows/runs/2026-07-25-S149-adap-backlog/run.md` = **0**. Acceptance C3 của SE (`runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026-v2.md:110`) đòi *"Neo artifact: label xuất hiện trong `runs/<id>/run.md` (panel ephemeral, không grep được)"* ⇒ **run 07-25 TRƯỢT vế neo-artifact**. Loại đã phủ có vết: cổng review (`C14:14`) + workflow-task vòng-3 (`runs/2026-07-22-S144-trio-first-run/run.md:13`). Loại chưa có vết: nhịp 2-đầu-phiên · việc-thường (khớp `C14:17`) |
|
||||
|
||||
**Neo commit:** 🔴 các file trên (`fable-clone.md`) hiện chỉ được commit trong nhánh `wal:` (`72d2d1b wal: pause`), **KHÔNG phải ancestor của `origin/main`** (`git merge-base --is-ancestor 72d2d1b origin/main` → exit 1; `origin/main` = `2f39a7e`). Vì vậy bản này cite **file:dòng trên đĩa** làm bằng-chứng chính, KHÔNG cite sha `wal:` — đúng luật đã rút ở `2026-07-18-Governance-model-tier-h23-precedence-tested-update.md:26` (*bằng-chứng-tự-huỷ-sau-squash*). Commit durable gần nhất chạm `fable-clone.md` = `8b6df0a` (S146) — **TRƯỚC** khi khối KHUÔN LABEL land, nên không dùng làm neo.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored — thêm tiền-tố ngoài-vòng theo roster SE:** hub cho tự quyết hình-thức (`spawn-label:29-33`); SE chọn tập `{Vòng-N | Core | Gate | WF}` (`fable-clone.md:67`) thay vì map cứng 5-vòng, vì SE có cả spawn ngoài khung 5-vòng (workflow-task, việc thường). FUNCTION-floor (đủ 4 thành-phần) giữ nguyên.
|
||||
- **Tailored — nơi codify:** SE đặt khuôn trong `fable-clone.md` (lệnh engine-đắt) chứ không dựng file rule riêng, vì đó là chỗ mô-tả spawn nhiều nhất. 🔸 Đánh đổi khai thẳng: chỗ này **không phải file luôn-được-load** ⇒ khuôn không tự đập vào mắt ở mọi lượt spawn. Đây chính là lý do khoản-④ còn hở (xem §5).
|
||||
- **Tailored — không sửa lùi:** SE giữ nguyên label cũ của spawn trước thời điểm chốt, đúng khuôn hub `:43`.
|
||||
- **Skip:** không skip khoản nào. Khoản ② SE **không** bỏ thành-phần để lấy ngắn — theo đúng `:25` (khoản ① thắng khoản ②).
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Khoản-④ chưa đạt và bản này KHÔNG đọc thành "đã phủ".** Phép kiểm của chính hub (`spawn-label:47`: mở panel, chọn 3 task, chỉ đọc label) SE **không chạy được từ trong lane** — panel là bề-mặt của owner, sub-agent không thấy. SE thay bằng phép neo-artifact `run.md` (C3:110) và phép đó **TRƯỢT trên chính run hôm nay: 0 hit**. Falsifier thay-thế + negative-control đã dựng, xem `runs/2026-07-25-S149-adap-backlog/sub-apply-L3.md` §③ (C-c).
|
||||
- 🔴 **Lane không tự verify được label của chính mình.** Label lúc spawn nằm ở phía gọi; prompt gửi xuống lane không chứa nó ⇒ lane không thể tự khai "label của tôi đủ 4 thành-phần". Đây là lỗ đo có thật của khuôn: **người duy nhất verify được là lead lúc spawn**, và hiện không có vết bắt buộc.
|
||||
- 🔸 **Nấc dừng ở `executed`, KHÔNG `verified`** — `verified` là việc của `/adap-audit` phía AI_INFRA (`adap-report.md:31`).
|
||||
- 🔸 **sha thư chưa tái-đo hôm nay.** `content_sha256` chép từ frontmatter bản đang nằm trong inbox; nếu hub sửa file sau 07-24 thì con số này lệch. Kế thừa theo brief, chưa `stamp_verify`.
|
||||
- 🔸 **Commit-anchor pending:** toàn bộ vật-chứng khoản ①②③ chưa nằm trên `origin/main`; cần re-anchor sang commit closeout S149 sau khi squash. Trước lúc đó, hub clone repo về **sẽ không thấy** khối `fable-clone.md:62-71`.
|
||||
@ -0,0 +1,39 @@
|
||||
# adap-report — 2026-07-19-Agent-ensemble-cost-lens-khan-hiem-va-routing
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-07-19-Agent-ensemble-cost-lens-khan-hiem-va-routing` (type **update**, `to: all-fit`; `content_sha256` `0a03b2c83fb9a04d2c45b274886d5397af04079e4e407f5b59750d55f38c3389`; `reviewer_gate` = *PASS-W-FIXES folded (0C/0M/8m · no-floor 5-disclaimer HELD)*).
|
||||
|
||||
## 2. nấc G-011
|
||||
**n-a** — thư **KHÔNG mang floor**, tự khai **4 lần** (trích nguyên dòng ở §3) ⇒ **không có nghĩa-vụ để "executed"**.
|
||||
🔸 Kèm phần **đã hấp thụ độc lập** (khoản ① đã có vết trong repo TRƯỚC report này) — ghi ở §3 để **không mất vết**, **cố ý KHÔNG nâng nấc**.
|
||||
|
||||
## 3. evidence (đo THẬT — 2026-07-25)
|
||||
|
||||
**(a) 4 dòng tự-khai-không-floor (trích nguyên dòng, cắt gọn phần không liên quan):**
|
||||
|
||||
| Dòng | Trích |
|
||||
|---|---|
|
||||
| `:10` | *"Cả 3 = owner-side chia-sẻ, **KHÔNG floor**."* |
|
||||
| `:11` | *"sister pull /adap-apply (**FYI, không bắt làm gì**)."* |
|
||||
| `:20` | *"Cả 3 khoản = chia-sẻ cách-làm, **KHÔNG floor mới**."* |
|
||||
| `:50` | *"**FYI owner-side — KHÔNG floor, không bắt làm gì**. Nhà nào có 2 chế-độ thật/ảo: đối-chiếu bảng cost theo khoản ① …"* |
|
||||
|
||||
**(b) Phần ĐÃ hấp thụ (không do report này tạo ra):**
|
||||
- **Khoản ① — "cột đốt đơn-vị NÀO":** `.claude/agents/README.md:263` cite **đích danh** `cost-lens:28` — *"🔴 **KHAI ĐƠN-VỊ TRƯỚC (bắt buộc — `cost-lens:28` cột 'đốt đơn-vị NÀO')**"*, kèm `:264-266` khai đơn-vị thật của bảng SE (`subagent_tokens` harness báo per-run, **gồm cả cache-read**) + cảnh báo *"KHÔNG so trực tiếp được với số hub"*. ⇒ hấp thụ ở **FORM khác**: SE khai đơn-vị bằng **khối header của bảng** thay vì thêm **cột**; lý do — bảng SE hiện chỉ có **một** đơn-vị cho **mọi** hàng, thêm cột lặp cùng giá trị ×4 hàng là nhiễu. Landed @S144, commit `8b6df0a` (2026-07-23, ancestor `origin/main`).
|
||||
- **Khoản ② heuristic routing (việc-MỚI→thật · FIX→ảo):** SE **không codify**, nhưng đang vận hành **cùng chiều một cách độc lập** — `/fable-real` + `/fable-clone` là **per-invocation, owner gõ đích danh, KHÔNG persist** (`CLAUDE.md:26`), và lượt gần nhất dùng chế-độ "thật" đúng cho lớp việc **mới/thiết-kế** (`runs/2026-07-24-S149-owner-gated-3-khoan/run.md:30` — `wf_5ee94a60-784` 1 lane `tier:'fable'` cho đề **chọn posture**). Đây là **quan sát trùng chiều**, KHÔNG phải adopt.
|
||||
- **Khoản ③ pattern suggest-1-dòng-non-blocking:** **CHƯA có vết codify** — `grep -rn "suggest 1 dòng|suggest-1-dòng|1 dòng non-blocking" .claude/commands .claude/agents docs/governance` = **0 hit khớp nghĩa** (các hit "non-blocking" đều thuộc predicate probe `engine §N.8`, khác việc).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **Skip toàn thư ở nấc nghĩa-vụ = đúng thư định nghĩa** (`:50` FYI owner-side). SE **không** dựng đơn-vị-khan-hiếm riêng (trần quota/giá ×2 của hub) vì đó là **tham số subscription của nhà hub**; SE bịa lại = số ảo.
|
||||
- **Tailored khoản ①:** khai đơn-vị ở header bảng thay vì cột (lý do §3b). **Function-floor** (*"đọc bảng cost phải biết nó đốt đơn-vị nào"*) **đạt**; form khác.
|
||||
- **Không adopt khoản ② thành luật máy:** đúng khuyến cáo của chính thư (`:42` cực-1 bị owner hub RÚT vì *"mất tự-chủ"*). SE giữ **owner gõ lệnh đích danh** — cùng kết luận, khác đường đến.
|
||||
- **Khoản ③ để mở, KHÔNG khai đã có:** SE hiện chưa có bước "lead suggest 1 dòng rồi chạy luôn" ở chỗ lead thay owner chọn chế-độ. Khai **thiếu** thay vì khai bừa (đây là khoản thư nói *"áp được cho MỌI nhà"* — nên đây là gap thật, không phải project-fit).
|
||||
|
||||
## 5. honest-caveat
|
||||
- 🔴 **`n-a` ở đây KHÔNG có nghĩa "không hợp project"** (nghĩa mặc định của nấc n-a trong `/adap-report` LOCK) mà là **"thư không đặt floor nên không có gì để executed"**. Đọc nhầm sang "SE bác vì không hợp" là sai — SE **đã hấp thụ 1/3 khoản** và **tự khai thiếu 1/3 khoản**.
|
||||
- 🔴 **Khoản ③ = gap SE tự nhận, chưa có kế hoạch.** Không hứa nhịp; nếu hub theo dõi adoption thì đây là dòng để hỏi lại.
|
||||
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** (không chạy `stamp_verify.py` cross-repo trong lane read-only).
|
||||
- 🔴 **Vết hấp thụ nằm ở implement-home, KHÔNG ở discoverability-home:** khoản ① có vết trong `.claude/agents/README.md` (nơi wire) nhưng **0 vết** trên 5 sổ bền owner-facing — đo độc lập của vai H24 tại `.claude/agent-memory/lead-gap-auditor/MEMORY.md:36` (*"`cost-lens`·`depth-axis`·`depth-cost`·`danh-gia-3-goc`·`eval-cua-eval` = 0 hit trên 5 sổ bền"*). Tức: **anh chủ dự án không nhìn thấy khoản này ở đâu cả** trước khi có report này. Đúng lỗ mà bản `3-khoan` khoản-2 mô tả (implement-home ⟂ discoverability-home).
|
||||
- **Report = pointer-dedup**, KHÔNG việc mới ⇒ chống double-count khi `/adap-audit`.
|
||||
@ -0,0 +1,39 @@
|
||||
# adap-report — 2026-07-19-Agent-ensemble-depth-axis-deepen-on-contested
|
||||
|
||||
> SE (SOLUTION_ERP) · nhóm-B backlog wave S149(+1) · lane L3.
|
||||
> Bản này de-facto đã xử @S144 (disposition per-khoản) và **đóng nhãn O-2 @S149**. Báo cáo theo TỪNG KHOẢN F1–F4, không gộp số tổng (`C14-disposition-per-khoan.md:49-54`).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-19-Agent-ensemble-depth-axis-deepen-on-contested` (type **update**, nối bản ensemble 2026-07-03 · `content_sha256` `f05eba5b8e8c5ac733bc1f8038b07ea9d365723b1fb6832362fb0683fd883199` · `reviewer_gate` PASS-W-FIXES folded + máy-verify 49/49 — đọc từ frontmatter inbox, chưa sha-recompute hôm nay).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** — posture đã chọn và phần WIDTH đã có máy; **F1-phần-SÂU chuyển từ `BLOCKED-by-O-2` sang `N/A-by-posture`**, và **một vế acceptance của chính quyết định đó còn TRƯỢT** (`verified-pending`, bảng dưới hàng F1). Không gộp thành một nhãn.
|
||||
|
||||
## 3. evidence (đo THẬT — bảng per-khoản F1–F4, floor `depth-axis:38-43`)
|
||||
|
||||
| # | Khoản (floor hub) | Nấc SE | Bằng-chứng đo được |
|
||||
|---|---|---|---|
|
||||
| **F1** | Trục sâu owner-gated + posture tự chọn + **clamp trần cứng** + assert tổng-lượt ≤ trần | **KÉP: executed (WIDTH) · N/A-by-posture (SÂU)** — kèm 1 vế acceptance TRƯỢT | **WIDTH:** canonical `.claude/agent-memory/memory-budget.json:9-13` khối `hmw_width` — `"cap": 20` · `"mechanism": "loud-skip"` · `"ratified": "2026-07-24"`; mirror code `.claude/workflows/hmw.js:148` `const WIDTH_CAP = 20` + clamp thật `:149-156`. **SÂU:** posture **A (KHÔNG DỰNG)** chốt @S149 — `runs/2026-07-24-S149-owner-gated-3-khoan/gate-synthesis.md:3` *"O-2 nguồn thật = depth-axis (KHÔNG phải goi-chot) → posture-A"*; phương-án A mô-tả tại `spec-owner-gated-3-khoan-24-07-2026.md:44` (*"giữ width-only + depth qua owner-gated per-invocation… 0 dòng code"*). ⇒ `assert tổng-lượt ≤ trần` **không còn đối-tượng để assert** = N/A-by-posture, KHÔNG phải behind. 🔴 **Vế TRƯỢT — đo hôm nay:** acceptance K2 (`spec-owner-gated-3-khoan-24-07-2026.md:67`) đòi **2 vế**: (a) `grep -rn 'BLOCKED-by-O-2' <spec-mới>` = 0 → **ĐẠT** (spec `spec-adap-backlog-25-07-2026.md` 0 hit; 14 hit còn lại đều nằm trong run-folder LỊCH SỬ S144/S149, là vết không phải spec sống); (b) posture ghi ≥1 dòng ở `docs/governance/harness-11-engine.md` → **TRƯỢT: `grep -ic "trục sâu"` = 0 hit** |
|
||||
| **F2** | Đào điểm-nóng KHÔNG đào-tất; worker tầng-2 KHÔNG tổng-hợp | **n-a (by posture)** | @S144 là "N-A hiện tại — SE chưa có trục sâu" (`C14-disposition-per-khoan.md:33`). Sau posture-A, lý do đổi từ *"chưa có"* thành *"cố ý không dựng"* ⇒ n-a **theo project-fit**, không phải behind. Cửa sâu của SE = `/fable-real` · `/fable-clone` per-invocation (owner-gated), đúng vế escape mà chính hub bắt phải giữ (`depth-axis:55` *"điểm sàn adopt = có trục sâu bật-được + có escape width-only"*) — 🔸 xem caveat §5 về việc SE đọc "bật-được" theo nghĩa nào |
|
||||
| **F3** | Chống-mỏ-neo tường-minh (worker tầng-2 = con TƯƠI, "đồng-ý-lại = 0 điểm") | **n-a (by posture) + nợ ĐÃ chuyển thành luật chung** | Cùng lý do F2 (`C14:34`). 🔴 Nhưng bệnh mỏ-neo **đã fire thật ở trục khác** (refute do em-main làm — người đã đọc tầng-1, không phải con tươi): nợ đó không bị bỏ, đã nâng thành **luật-chung #9** (O-4a) trong spec đợt-11 v2 — dẫn theo `sub-invest-backlog.md:31` |
|
||||
| **F4** | **Cận-ngân-sách LOUD** (vượt → BỎ + báo RÕ, không throw, không lặng-thầm) | **executed** | `.claude/workflows/hmw.js:152` in `🔴 VƯỢT TRẦN WIDTH — taskList=… > trần=…` · `:154` in `🔴 LANE BỊ BỎ: …` liệt kê đích danh lane bị bỏ · `:156` `A.taskList = A.taskList.slice(0, WIDTH_CAP)` — **cắt rồi chạy tiếp, không `throw`**. Canonical ghi cùng nghĩa: `memory-budget.json:10` *"Co-che = LOUD-skip: … in 4 dong 🔴 (KHONG throw, KHONG lang-thinh)"*. Khớp verbatim floor `depth-axis:43` *"không văng lỗi"* |
|
||||
|
||||
**Neo commit:** 🔴 `hmw.js` và `memory-budget.json` mang thay-đổi này **chỉ nằm trong commit `wal:`** (`72d2d1b` / `611b41f`), **không phải ancestor của `origin/main`** (`2f39a7e`). Bản này neo bằng **file:dòng trên đĩa**; cite sha `wal:` bị cấm theo bài học `2026-07-18-Governance-model-tier-h23-precedence-tested-update.md:26`. Commit durable gần nhất chạm `hmw.js` = `8b6df0a` (S146) — **trước** khi `WIDTH_CAP=20` land, không dùng làm neo.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored — posture:** hub tự chọn "TRẦN (sâu+rộng nhất) + dial-down + lệnh MAX"; **SE chọn ngược lại: opt-in-off / width-only**, đúng quyền `depth-axis:55` (*"KHÔNG bắt buộc default nào"*). Căn cứ nêu tại `spec-owner-gated-3-khoan-24-07-2026.md:44`: bản `depth-cost` của chính hub đo mode "thật" **thắng ở ~1/10 giá**, mà SE **đã có** mode thật owner-gated (`/fable-real`) ⇒ dựng thêm engine sâu là trả giá cho thứ đã có đường rẻ hơn.
|
||||
- **Tailored — trần WIDTH 16 → 20:** lý do ghi ngay trong canonical `memory-budget.json:15` (`_why_20_not_16`): trần này không chặn concurrency (engine đã cap `min(16, cpu-2)`) mà chặn **đốt token nhầm**; roster SE = 20 vai nên cap 16 cắt 4 lane, ép chia 2 đợt vô cớ. Rủi ro khai thẳng ngay tại đó: 8 lane @S149 ≈ 1,06M token ⇒ 20 lane ước ~2,5M.
|
||||
- **Skip F2/F3 = n-a theo project-fit**, không phải behind — SE cố ý không dựng trục sâu (posture-A). Nếu sau này dựng, 2 khoản này sống lại nguyên văn.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Nhãn "O-2 RESOLVED" đã có, VẬT-CHỨNG codify thì CHƯA.** Acceptance K2 (`spec-owner-gated-3-khoan-24-07-2026.md:67`) đòi ≥1 dòng posture trong `docs/governance/harness-11-engine.md`; đo hôm nay = **0 hit**. Nghĩa là posture-A hiện chỉ sống trong run-folder S149, **không có ở nhà canonical của engine** — ai đọc engine-doc sẽ không biết SE đã chọn gì. Đây đúng lớp *"vắng-mặt trông giống ổn"*: nhãn RESOLVED làm khoản này **trông như đã đóng trọn**. ⇒ nấc phần này = **verified-pending**, còn 1 dòng phải land.
|
||||
🔸 Ghi-chú phối-hợp: theo spec wave, phép grep này thuộc việc **C-f của lane L4**; L3 tự đo vì kết-luận của chính report này phụ thuộc vào nó. Hai lane có thể ra **hai số** — lead nên đối chứng thay vì tin một phía.
|
||||
- 🔴 **Trần 20 KHÔNG phải "owner chốt".** `memory-budget.json:14` `_ratified_by` ghi rõ: **OWNER-DELEGATED → LEAD-DECIDED @S149** (anh trả đúng hai chữ *"Trả lời 4 câu"* = uỷ-quyền; lead quyết). Bản này giữ nguyên phân biệt đó, **không** nâng thành owner-chốt — chính file canonical cảnh báo rằng ngay phiên đó đã có một bug tự nâng ADOPT-theo-floor thành "owner chốt".
|
||||
- 🔸 **"Escape width-only luôn còn" của SE là escape mặc-định, không phải công-tắc.** Hub hình dung một trục sâu **bật-được** rồi tắt về rộng; SE **không có trục sâu trong engine** — chiều sâu đi qua lệnh owner đích danh (`/fable-real`, `/fable-clone`), per-invocation, không persist. SE đọc floor `depth-axis:55` là **đã đạt** ở nghĩa chức-năng (có đường đào sâu + có đường rộng), nhưng nếu hub tính floor theo nghĩa *"cùng một engine, cờ bật/tắt"* thì SE **không khớp** — khai thẳng để hub phán, không tự phong.
|
||||
- 🔸 **Clamp WIDTH chưa re-fault-inject sau khi số đổi 16 → 20.** Luật SE tại `spec-owner-gated-3-khoan-24-07-2026.md:47` là *"nếu số đổi → re-run fault-inject 2-chiều"*; `gate-synthesis.md:4` ghi có `K8 4-chiều / K9 5/5` @S149. Lane này **không tự chạy lại** trong wave (ngoài phạm vi task) ⇒ trạng-thái fault-inject của con số 20 là **kế thừa từ báo cáo S149, chưa lane nào tái-chứng hôm nay**.
|
||||
- 🔸 **Drift con-trỏ:** `C14:32` cite `hmw.js` C8b không kèm số dòng; số dòng thật đo hôm nay là `:148-156`. Cite cũ `hmw.js:185` (writeGuard, dùng ở khoản khác) nay đo lại ra `:225` — file đã dịch dòng. Report này dùng **số đo hôm nay**, không chép số cũ.
|
||||
- 🔸 **Nấc dừng ở `executed`, KHÔNG `verified`** (`adap-report.md:31`).
|
||||
@ -0,0 +1,61 @@
|
||||
# adap-report — 2026-07-19-Agent-ensemble-depth-cost-update-so-do-thuc
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
|
||||
> Report này mang **kết quả đo mới** trả lời một phần falsifier `:59` — xem §3(c).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-07-19-Agent-ensemble-depth-cost-update-so-do-thuc` (type **update**, `to: all-fit`; `content_sha256` `294be326cb5bd5b2d837f394a868a096e3b4c91420e7df27e9c1af9d50cefb9e`; `reviewer_gate` = *PASS-W-FIXES folded (fidelity-số: mọi phép cộng reviewer tự cộng lại = EXACT · falsify-8 {6-HELD · 2-PARTIAL-folded})*).
|
||||
|
||||
## 2. nấc G-011
|
||||
**n-a** — thư **KHÔNG mang floor mới**, tự khai 2 lần (§3a).
|
||||
🔸 **1 khoản đã hấp thụ THÀNH CODE** trước report này (bài-học-2 → `hmw.js` C1) + **1 phép đo mới hôm nay** (falsifier `:59`, một phần) — ghi ở §3b/§3c để không mất vết; **cố ý KHÔNG nâng nấc** vì nghĩa-vụ gốc không tồn tại.
|
||||
|
||||
## 3. evidence (đo THẬT — 2026-07-25)
|
||||
|
||||
**(a) 2 dòng tự-khai-không-floor (nguyên dòng):**
|
||||
|
||||
| Dòng | Trích |
|
||||
|---|---|
|
||||
| `:20` | *"…giữ đúng lời: đây là số đo, không phải ước. **Không floor mới; FYI-số + bài học**."* |
|
||||
| `:63` | *"**FYI-số + bài-học — KHÔNG floor mới, không bắt làm gì**. Dự-án có ensemble: đối-chiếu bảng cost của mình theo kiểm-nhanh §4…"* |
|
||||
|
||||
**(b) Bài-học-2 (`:53`) ĐÃ hấp thụ thành CODE — không phải văn xuôi:**
|
||||
`.claude/workflows/hmw.js:263-274` (**1.263 byte**) — khối `C1 LANE-CHẾT-PHẢI-KÊU`, cite đích danh **cả 2 dòng** của thư:
|
||||
- `:269-270` — *"Đúng `depth-cost:53` 'Thử-rồi-chết ≠ chạy-rồi-sạch … tầng tổng-hợp sẽ viết tầng-2 không thêm gì = củng-cố verdict bằng một tầng-2 không tồn tại'"*.
|
||||
- `:271-272` — *"Falsifier hub `depth-cost:59` hỏi 'tầng chết thì tầng sau thấy chết hay sạch?' — **trước bản vá này SE trả lời: thấy SẠCH**."*
|
||||
- Lineage giữ nguyên (`:264-266` chép lại bản cũ `return results.filter(Boolean)` + comment tự khai nó nuốt lane chết) · repro ngôi-thứ-nhất `wf_491c05a8-6dc` (3/5 lane cháy `maxTurns`) · `:273-274` khai **CỐ Ý KHÔNG throw** (giữ hợp đồng shape trả về). Commit `8b6df0a` (2026-07-23, ancestor `origin/main`).
|
||||
|
||||
**(c) Falsifier `:59` — đo lại từ run-folder S149 (việc C-d của wave này):**
|
||||
|
||||
> Câu hỏi thư: *"bảng cost của bạn ghi đơn-vị nào — tổng vào+ra hay phía-ra? Hai số đó lệch bao nhiêu lần trên hệ bạn?"*
|
||||
|
||||
- **Vế 1 (đơn-vị) — TRẢ LỜI ĐƯỢC:** SE dùng **đơn-vị THỨ BA** = `subagent_tokens` do harness báo per-run (một số gộp, **gồm cả cache-read**) — đã khai sẵn `.claude/agents/README.md:264-266`.
|
||||
- **Vế 2 (tỉ lệ vào+ra vs phía-ra) — 🔴 KHÔNG ĐO ĐƯỢC** bằng instrument hiện có: harness **chỉ phơi 1 con số gộp**, không tách vào/ra ⇒ SE **không thể** dựng tỉ-lệ của hub. Khai đúng: *không đo được*, **KHÔNG** phải "đang ước".
|
||||
- **Bù lại — SE đo được một cặp 2-đơn-vị KHÁC, cùng hình dạng bài học `:36` ("khai 2 đơn-vị hoặc sai 3×"):** `token/lane-PHÓNG` ⟂ `token/lane-SỐNG`.
|
||||
|
||||
| Run S149 | wf | lane phóng | lane sống | tier | token (1 số, harness) | /lane-PHÓNG | /lane-SỐNG | nguồn |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| dong-du-5-vong (invest fan-out) | `wf_c6a08b12-f36` | 8 | 6 | opus | **1.061.899** (exact) | 132.737 | **176.983** | `runs/2026-07-24-S149-dong-du-5-vong/run.md:40` |
|
||||
| hoi-tu (wave implement) | `wf_4cbcd392-9db` | 5 | 5 | opus | ~946.000 | ~189.200 | ~189.200 | `runs/2026-07-24-S149-hoi-tu-bookend/hoi-tu-synthesis.md:4` |
|
||||
| hoi-tu W1 (engine-đắt invest) | `wf_e9d970e1-85e` | 1 | 1 | fable | ~256.000 | 256.000 | 256.000 | `runs/2026-07-24-S149-hoi-tu-bookend/run.md:19` |
|
||||
| hoi-tu W2 (engine-đắt gate) | `wf_9bf14de2-eef` | 1 | 1 | fable | ~218.000 | 218.000 | 218.000 | `hoi-tu-synthesis.md:4` |
|
||||
| owner-gated (engine-đắt invest) | `wf_5ee94a60-784` | 1 | 1 | fable | **không ghi số** | — | — | `runs/2026-07-24-S149-owner-gated-3-khoan/run.md:30` |
|
||||
|
||||
- **Đơn-vị 2 — `lane/run`:** fan-out opus = **8** và **5** lane/run; engine-đắt fable = **1** lane/run (×3 run). ⇒ chi phí một *run* không nói lên gì nếu không kèm `lane/run`.
|
||||
- **Tỉ lệ lệch giữa 2 cách đọc (đây là "hai số lệch mấy lần" mà SE trả lời được):** `wf_c6a08b12-f36` → **1,33×** (176.983 / 132.737). Ca cực đoan trong sổ SE: `wf_491c05a8-6dc` (S144, 3/5 lane chết) → 819.982/5 = **163.996** vs 819.982/2 = **409.991** ⇒ **2,50×**.
|
||||
- 🔴 **Phát hiện kèm theo (defect trong chính bảng SE):** `.claude/agents/README.md:272` publish hàng *"Lane invest ~164K/lane, n=5, `wf_491c05a8-6dc` 819.982 / 5"* — tức chia cho **lane-PHÓNG** — trong khi `:280` (5 dòng bên dưới, cùng mục) ra luật ngược lại: *"phải đếm **token/lane-SỐNG**, không phải token/lane-phóng"*. **Luật và bảng mâu thuẫn nhau trong cùng một mục.** Đây là ca *"chú-thích tự-mâu-thuẫn"* — không phải sai số, mà là **hai cách đọc cùng một số** bị publish lẫn lộn.
|
||||
- Đối chứng chéo số `1,06M`: `.claude/agent-memory/memory-budget.json:15` khai độc lập *"8 lane @S149 ton ~1,06M token => 20 lane uoc ~2,5M"* ⇒ **khớp** nguồn `run.md:40`.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **Skip nghĩa-vụ (đúng thư):** không có floor ⇒ không có gì để executed.
|
||||
- **Tailored bài-học-2:** hub mô tả *"mọi pipeline nhiều-tầng cần trạng-thái attempted-failed tường-minh"*; SE port thành **tín-hiệu LOUD, KHÔNG throw** (`hmw.js:273-274`) vì SE đã đo per-lane-throw bị nuốt thành `null` = STOP-SILENT ⇒ throw làm hỏng hợp đồng downstream. **Function-floor (tầng sau THẤY "chết") giữ**, form khác hub.
|
||||
- **Skip bài-học 1/3/4 (`:52`, `:54`, `:55`):** SE **không có trục-sâu/tầng-2** (posture-A chốt @S149: giữ width-only + depth qua owner-gated per-invocation) ⇒ 3 bài đó **không có bề mặt để áp**. n-a **vì cấu trúc**, không phải behind.
|
||||
- **Bảng cost:** wave này **chỉ ĐO + propose-diff** trong `runs/2026-07-25-S149-adap-backlog/sub-apply-L4.md`; **không lane nào tự sửa** `.claude/agents/README.md` (MD canonical → em-main single-writer áp).
|
||||
|
||||
## 5. honest-caveat
|
||||
- 🔴 **Số `946K` / `256K` / `218K` là số đã LÀM TRÒN tại nguồn** (chỉ `1.061.899` là exact). Mọi phép chia của chúng thừa kế sai-số làm tròn ⇒ đọc như **bậc độ lớn**, không phải số kế toán. Tổng gộp opus (2.007.899 / 13 lane phóng = **154.454**/lane · /11 lane sống = **182.536**/lane) mang cùng caveat.
|
||||
- 🔴 **`wf_5ee94a60-784` KHÔNG có số** trên đĩa ⇒ 1/5 run của arc S149 **không vào được bảng**. Không suy ra, không ước.
|
||||
- 🔴 **n=5 run, 1 phiên-logic, 1 lớp việc (governance/adap).** Thư đã cảnh báo `:38` *"cost scale theo kích-thước đề"* — số này **không** dùng để dự báo phiên product (BE/FE/test).
|
||||
- 🔴 **Vế "vào+ra vs phía-ra" vẫn CHƯA đóng** — và **không đóng được** nếu harness không phơi split. `.claude/agents/README.md:291` (residual đã có từ S144) vẫn đúng nguyên văn; report này **thu hẹp** nó chứ không xoá: từ *"chưa đo"* → *"đo được đơn-vị SE, không đo được đơn-vị hub, lý do = instrument"*.
|
||||
- 🔴 **Chưa áp propose-diff.** Bảng `.claude/agents/README.md` tại thời điểm viết report **vẫn mang số S144 + mâu thuẫn `:272` ⟂ `:280`**. Nếu em-main không áp diff thì phần §3c này là **số trong report, chưa phải số trong bảng** — đừng đọc thành đã sửa.
|
||||
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này.
|
||||
@ -0,0 +1,40 @@
|
||||
# adap-report — 2026-07-19-Governance-goi-chot-owner-nam-khoan
|
||||
|
||||
> SE (SOLUTION_ERP) · nhóm-B backlog wave S149(+1) · lane L3.
|
||||
> Thư này có **5 khoản, không phải 4** — chính đợt-11 đã tự bắt lỗi ép-cho-tròn-số ở `C14-disposition-per-khoan.md:4`. Bản này báo theo **TỪNG khoản 4.1–4.5**, không có dòng tổng.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-19-Governance-goi-chot-owner-nam-khoan` (type **update**, 5 delta chồng lên 5 bản đã phát · `content_sha256` `c580c56682a5973e9b46de0806de8170ca663fa197bac6f08ff498ee6ce569f5` · `reviewer_gate` PASS-W-FIXES → ALL-FOLDED, falsify 7/7 HELD — đọc từ frontmatter inbox, chưa sha-recompute hôm nay).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** cho 4.1 / 4.2 / 4.4 / 4.5; **4.3 = KÉP `executed`(luật) + `verified-pending`(đo)** vì ngưỡng chấm là **owner-SỐ 🔒 chưa đặt**. Không gộp 5 khoản thành một nhãn.
|
||||
|
||||
## 3. evidence (đo THẬT — bảng per-khoản 4.1–4.5)
|
||||
|
||||
| # | Khoản (delta hub) | Nấc SE | Bằng-chứng đo được |
|
||||
|---|---|---|---|
|
||||
| **4.1** | Lead default = tier thường; model đắt nhất đi qua **2 cửa owner-chủ-động** | **executed** (thực-tế ĐÃ-CÓ từ trước · **nhãn nay đã đóng**) | @S144 khoản này ở trạng-thái KÉP: *thực-tế* ĐÃ-CÓ (`~/.claude/settings.json` pin từ 07-20 — file **global, ngoài git**, không grep được trong repo) nhưng *nhãn canonical* còn nói khác ⇒ `BLOCKED-by-O-5` (`C14-disposition-per-khoan.md:41` + bảng `:72`). **Nhãn đóng bằng #23** — broadcast `2026-07-25-Governance-model-default-opus-5-max`, lead đã áp lớp thi hành trong chính run này (`runs/2026-07-25-S149-adap-backlog/run.md:7`: settings `claude-opus-5[1m]` · 2 key `TIER2_EXPECTED_FULL_ID` + `$OWNER_RATIFIED_TIER2_FULL_ID` → `claude-opus-5` · BƯỚC 0.6 value-update). **2 cửa owner** của SE = `/fable-real` + `/fable-clone`, per-invocation KHÔNG persist (`CLAUDE.md:25-26`) |
|
||||
| **4.2** | RETIRE resume-agent cho mục-đích **giữ-model / giữ-context** | **executed (có phạm vi) + khảo sát xong + 1 vế chưa đo** | Đọc đúng phạm vi: retire **chỉ** cho mục-đích giữ-model/giữ-context; **path-2 cứu #53 (resume in-session) KHÔNG bị retire** (`goi-chot:37` — thư ghi resume vẫn hợp-lệ cho *"hội-thoại tiếp-diễn trong cùng lượt làm việc"*). Nghĩa-vụ verify-trên-env-mình (`goi-chot:38`) đã làm: artifact `runs/2026-07-22-S144-adap-dot-11/C15-resume-model-override.md` (tồn tại trên đĩa, đo hôm nay) — kết luận: Agent-tool resume an-toàn; 🔴 **lane workflow có `tier:` override thì PHƠI NHIỄM, CHƯA ĐO** (`C14:42`) |
|
||||
| **4.3** | Điểm-dừng phải **RẺ** — không cơ-chế nào được chặn/làm-đắt cửa dừng–nối–checkpoint | 🔴 **KÉP: executed (luật) · verified-pending (đo) — ngưỡng = 🔒 owner-SỐ, CHƯA ĐẶT** | Luật đã vào spec đợt-11 v2 (P1-5) + acceptance C7 `spec-adap-dot-11-22-07-2026-v2.md:115`, trong đó **bỏ tiêu-chí "ghi số"** vì nó PASS ở mọi giá trị và ghi thẳng *"Ngưỡng = O-gated"*. **Đo lại đường dừng hôm nay:** `.claude/commands/pause.md:89` VẪN gọi `powershell.exe … scripts/nhip-no-probe.ps1` trong đường `/pause` — nhưng cùng dòng khai *"probe KHÔNG chặn điểm dừng: lỗi → in `probe-loi (khong chan)` → đi tiếp"* (fail-open). Và bước mới `(D) AUTO-SNAPSHOT` `pause.md:44-46` **có đo trước khi wire**, trích đúng câu hub bắt hỏi (`goi-chot §3` *"có làm điểm dừng đắt lên không"*): `machine-block` ~**140ms** · `secrets-sweep` ~**64ms** (3 lượt, trung bình), chi-phí ròng khai ~64ms + 1 write. ⇒ **Cơ-chế đã có, số đã đo, nhưng KHÔNG CHẤM ĐƯỢC PASS/FAIL vì không có ngưỡng.** 🔒 **Lane KHÔNG tự đặt số** |
|
||||
| **4.4** | **Cửa-duyệt lời-hứa-máy** (credit khuôn-câu: SE) | **executed (cổng-người) · máy-quét = DỰ-ĐỊNH, chưa có** | Cổng-người + acceptance đã dựng: `runs/2026-07-22-S144-adap-dot-11/C6-cua-loi-hua-may.md` (tồn tại trên đĩa) + acceptance C6 `spec-…-v2.md:114` — **bỏ** neo literal `"máy sẽ"` (tập-đo 0/19, fault-inject cắm câu giả **vẫn xanh** ⇒ neo đó không có răng), thay bằng danh-sách liệt-kê tường-minh + mẫu-số công bố (**19**) + **positive-control BẮT BUỘC** + tách **use ⟂ mention** + đo *gate đã cài* chứ không đo *đã quét xong* (đúng `goi-chot:38` *"chặn từ lúc VIẾT"*). 🔴 **Máy quét tự động cho chính class lời-hứa-máy: CHƯA CÓ** — khai dạng dự-định, đúng theo yêu cầu của chính khoản này (`goi-chot:39` hub cũng tự khai y hệt) |
|
||||
| **4.5** | available-in-pool ≠ mandate (model đắt hiện ra trong env ≠ đổi pin) | **executed (ĐÃ-CÓ sẵn)** | Khớp sẵn worker-tier-pin S124 — `CLAUDE.md` (memory index) `project_harness4_two_tier_model`: *"S124 worker-tier-pin (14/14 sub = opus+effort:max, lead owner-choice, Fable qua /fable-real)"*. Luật *"Agent ghi-nhận và báo, không tự adopt"* (`goi-chot:46`) = đúng cái SE đang chạy; 0 việc mới |
|
||||
|
||||
**Neo commit:** 🔴 vật-chứng 4.1 nằm ở `~/.claude/settings.json` — **global, NGOÀI git**, không có sha để cite (chính `CLAUDE.md:27` cảnh báo *"grep trong repo sẽ ra 0 hit"*). Vật-chứng 4.3 (`pause.md`) và các artifact C6/C15 hiện chỉ commit trong nhánh `wal:` (`72d2d1b`), **không phải ancestor `origin/main`** (`2f39a7e`) ⇒ bản này neo bằng **file:dòng trên đĩa**, không cite sha `wal:` (bài học `2026-07-18-…h23-precedence-tested-update.md:26`).
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored 4.1 — 2 cửa owner của SE là LỆNH, không phải config:** hub mô-tả cửa owner-chủ-động chung; SE hiện-thực bằng `/fable-real` (single top-model, 1 lượt) và `/fable-clone` (ensemble tier-2), **per-invocation, không có mode persist** — nghĩa là không có trạng-thái nào để quên tắt. FUNCTION-floor (*tier đắt = cửa owner đích danh*, `goi-chot:15`) giữ nguyên.
|
||||
- **Tailored 4.2 — SE giữ 1 đường resume mà hub retire:** `resume in-session` để cứu lỗi return-garble (#53) **được giữ**, vì đó không phải mục-đích giữ-model/giữ-context mà là cứu output đã mất. Đọc theo đúng câu `goi-chot:22` (*"hội-thoại tiếp-diễn trong cùng lượt làm việc"*) ⇒ **không phải deviation**, là phạm-vi.
|
||||
- **Tailored 4.4 — SE bỏ chính neo literal mà cách viết dễ nhất sẽ dùng:** thay `grep "máy sẽ"` bằng danh-sách + positive-control, sau khi đo được rằng neo literal **xanh cả khi cắm câu giả**. Đây là tailor **siết chặt hơn** floor hub, không phải nới.
|
||||
- **Skip:** không skip khoản nào. 4.5 = ĐÃ-CÓ nên 0 việc, **không phải n-a**.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔒 **4.3 — ngưỡng "rẻ" là owner-SỐ và lane này CỐ Ý KHÔNG ĐẶT.** Không có ngưỡng thì câu *"điểm dừng của SE có rẻ không"* **chưa trả lời được**, dù đã có 2 số đo (~140ms / ~64ms). Bản này **từ chối** suy ra một ngưỡng từ chính số vừa đo — làm thế là tự-feed rồi tự-chấm. Trình anh đặt số; trước lúc đó khoản 4.3 giữ nấc `verified-pending` ở vế đo.
|
||||
- 🔴 **Đường `/pause` vẫn spawn một tiến-trình ngoài** (`pause.md:89`, `nhip-no-probe.ps1`). Acceptance C7 (`spec-…-v2.md:115`) đã mở rộng tập cấm từ *liệt-kê* sang **"bất kỳ tiến-trình ngoài nào"** trong đường dừng ⇒ theo chữ của luật, đây **là** một vi-phạm còn sống; phần giảm nhẹ là nó fail-open và không chặn. Không đọc thành "đã sạch".
|
||||
- 🔴 **4.1 — lane này KHÔNG probe model, và KHÔNG chép claim của lead làm bằng-chứng.** Bằng-chứng lớp thi hành trích từ `run.md:7` là **lời khai của lead**, chưa phải phép đo. Probe thật (`spawn-model-audit.ps1` đọc resolved-model) thuộc lane **L6** của wave này. ⇒ nấc `executed` ở đây tựa trên *file đã sửa*, **không** tựa trên *runtime đã chứng*; nếu L6 probe ra lệch thì dòng 4.1 phải hạ nấc.
|
||||
- 🔴 **4.2 — vế "lane workflow có `tier:` override sống qua resume" đến nay VẪN CHƯA ĐO.** C15 kết luận cho Agent-tool, không cho lane workflow. Trạng-thái sau S144 không rõ ⇒ giữ **DEFER-đo** trung thực thay vì suy từ ca đã đo (đúng bài *tested = env đã test, không auto-generalize*, `goi-chot:23`).
|
||||
- 🔸 **4.4 — mẫu-số 19 là mẫu-số của lượt đo S144**, không phải hằng số; số câu-hứa trong repo đổi theo mỗi lượt viết doc. Bất kỳ ai đọc "19" như một chỉ-tiêu cố định là đọc sai.
|
||||
- 🔸 **sha thư chưa tái-đo hôm nay** (kế thừa frontmatter inbox theo brief). **Nấc dừng ở `executed`, KHÔNG `verified`** (`adap-report.md:31`).
|
||||
@ -0,0 +1,41 @@
|
||||
# adap-report — 2026-07-19-Governance-harness-dong-du-vong-audit-va-eval-use-side
|
||||
|
||||
> SE (SOLUTION_ERP) · nhóm-B backlog wave S149(+1) · lane L3.
|
||||
> Thư đóng 2 lỗ của khung tự-bảo-trì 5-vòng. SE xử rải qua S144 → S145 → S149. Báo theo **TỪNG khoản ①–④**, không có dòng tổng (`C14-disposition-per-khoan.md:49-54`).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-19-Governance-harness-dong-du-vong-audit-va-eval-use-side` (type **update**, chồng khung 5-vòng + checklist-5-vòng đã phát · `content_sha256` `c034a916eb92b0c1709f8e8eeb4433b360df8b7a9db87d4f3dc4c0da92af928b` · `reviewer_gate` PASS-W-FIXES folded, falsify 5/5 HELD — đọc từ frontmatter inbox, chưa sha-recompute hôm nay).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** cho ①②④(cơ-chế); **③-thực-thi và ④-vòng-chạy-thật ở nấc `verified-pending`** (bảng dưới). Không gộp 4 khoản thành một nhãn.
|
||||
|
||||
## 3. evidence (đo THẬT — bảng per-khoản ①–④, floor `harness-dong-du-vong:39-42`)
|
||||
|
||||
| # | Khoản (floor hub) | Nấc SE | Bằng-chứng đo được |
|
||||
|---|---|---|---|
|
||||
| **①** | Mỗi vòng-ĐO có **≥1 vai-KIỂM độc-lập**, đọc OUTPUT con đo, spot-check tay + chủ động falsify ≥2 claim; vòng báo CLEAN phải có phép **thách-CLEAN** | **executed** | @S144 = `BLOCKED-by-O-3` (`C14-disposition-per-khoan.md:23`: khi đó chỉ vòng-3 có con KIỂM). **Đóng @S145** — 3 vai-KIỂM TÁCH land, và **@S149 O-3 = RESOLVED do tập "vòng còn thiếu" là TẬP RỖNG** (`runs/2026-07-24-S149-owner-gated-3-khoan/gate-synthesis.md:3` *"O-3 tập-rỗng"*; khảo sát `sub-invest-owner-gated.md:51`). **Đo lại bảng gate hôm nay** — `.claude/commands/session-end.md:175-181`, đủ 5 dòng, mỗi dòng có cột *Con-KIỂM độc-lập* + cột *Bằng-chứng tối-thiểu phải dán*: V1 → `ring1-audit` · V2 → `ring2-audit` · V3 → `harness-audit` · V4 → `ring4-audit` · V5 → `— (floor tự-soi ở MỌI verdict)`. Cột thứ-4 chính là hiện-thực của *"spot-check bằng tay mình"*: `session-end.md:169` — **"Ghi `ĐẠT` mà không dán được bằng-chứng ⇒ phép đó TỰ ĐỘNG TRƯỢT"** |
|
||||
| **②** | **Audit = propose-only**, lead là người duy nhất ghi; kèm rào tường minh chống sub tự ghi sổ | **executed — kèm caveat có răng** | Rào code: `.claude/workflows/hmw.js:225` `const writeGuard = wave` (+ truyền xuống `:252`), lineage ghi ngay trong file `:208` (*"qua file này ⇒ mất luôn writeGuard + run-trace. S72 raw-Workflow ⇒ reviewer ghi MEMORY +2850B over-cap"*). 🔸 **Caveat THẬT, không tô hồng** (`C14:24`): whitelist `tools:` **KHÔNG** chặn ghi ở runtime — đo S143, nhân-chứng là chính vai `reviewer` đã Write thật ⇒ **backstop thật = git-diff commit-gate**, không phải "sub thiếu tool" |
|
||||
| **③** | (SE bổ, từ O-1 đợt-11) **Tuần-tự trong-vòng**, song-song giữa-vòng | **KÉP: executed (luật) · verified-pending (thực-thi)** | Luật + acceptance: `runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026-v2.md:112` (C4b) — *"Audit vòng X ở **invocation hmw SAU** con-đo vòng X. Bằng chứng: 2 run-id khác nhau, mtime audit > mtime đo"*, vì `parallel()` trong 1 invocation không tuần-tự-hoá được. 🔴 Đây là khoản **v1 bỏ sót hoàn toàn** rồi tự bắt (`C14:25`) — giữ vết. **Thực-thi chờ vòng bookend chạy lượt đầu** (xem ④ và §5) |
|
||||
| **④** | Eval thêm **phía SỬ-DỤNG** (cross-session, evidence-based) + `DORMANT ≠ MISS` + caveat FLOOR trong payload + **negative-control** (id giả → 0-hit) | **executed (máy đã wire) · verified-pending (chưa có lượt chạy thật)** | @S144 = `DEFER — cần máy mới` (`C14:26`, khai đúng dạng **dự-định** theo luật `goi-chot §4`). **Máy wire @S149:** `runs/2026-07-24-S149-hoi-tu-bookend/hoi-tu-synthesis.md:20` — hàng **M7** *"wire `applied-eval-nokey.ps1` · (ii-ter).2 — ghost-wire 18-ngày chết; caveat FLOOR trong payload"*. Máy tồn tại thật, đo hôm nay: `scripts/applied-eval-nokey.ps1`, **19.045 B** (`ls -la`). Điểm đáng ghi: máy đã **có sẵn 18 ngày mà chưa ai gọi** — lỗ *ghost-wire* (khai-mà-không-đọc), không phải lỗ thiếu-code |
|
||||
|
||||
**Neo commit:** 🔴 `session-end.md` + `hmw.js` mang trạng-thái trên **chỉ nằm trong commit `wal:`** (`72d2d1b`), `hoi-tu-synthesis.md` trong `f33d729 wal: flush` — **không phải ancestor `origin/main`** (`2f39a7e`). Bản này neo bằng **file:dòng trên đĩa**; không cite sha `wal:` (bài học `2026-07-18-…h23-precedence-tested-update.md:26`). Commit durable gần nhất chạm `session-end.md` = `2448393` (S148) — **trước** khi bảng 5-vòng ở dạng hiện tại, không dùng làm neo.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **Tailored ① — SE không đẻ vai mới cho V5:** hub tự miễn vòng-5 khỏi vai-audit riêng (`harness-dong-du-vong:19` — *"nó là floor chính-sách áp tại chỗ lúc viết artifact"*), SE giữ đúng vậy: `session-end.md:181` ghi con-KIỂM của V5 là `— (floor tự-soi ở MỌI verdict)`. Đây là **skip có căn-cứ từ chính thư**, không phải bỏ sót.
|
||||
- **Tailored ① — luật cho vòng-đo MỚI về sau:** SE chốt **mặc-định TÁCH, land cùng đợt** (thay vì hỏi owner per-case), để đóng O-3 vĩnh viễn thay vì tái-hỏi mỗi lần (`sub-invest-owner-gated.md:55-56`). Nhãn trạng-thái: **OWNER-DELEGATED → lead-decided** (`gate-synthesis.md:4`), anh veto = 1 edit.
|
||||
- **Tailored ③ — SE THÊM một khoản hub không có:** *tuần-tự trong-vòng*. Lý do là ràng buộc engine riêng của SE (`hmw.js` `parallel()`), nếu để audit chạy song song thì nó chấm bản CŨ ⇒ verdict vô nghĩa (`runs/2026-07-22-S144-trio-first-run/run.md:8` ghi cấm `parallel()` đích danh). Function-floor của hub giữ nguyên, đây là phần cộng thêm.
|
||||
- **Tailored ④ — SE đọc "% = FLOOR" vào trong payload**, đúng `harness-dong-du-vong:33`, để số thấp không bị đọc thành hệ hỏng.
|
||||
- **Skip:** không skip khoản nào.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- 🔴 **Chưa có LƯỢT BOOKEND THẬT nào chạy end-to-end.** `hoi-tu-synthesis.md:29` khai thẳng: *"Bookend chạy lượt ĐẦU = phiên sau — mọi máy mới verify bằng fault-inject + smoke, chưa có lượt bookend thật"*. ⇒ khoản ③ (tuần-tự trong-vòng) và vòng chạy thật của ④ **chưa được chứng bằng vận-hành**, chỉ bằng fault-inject. Nấc = `verified-pending`, và đây là phần **KHÔNG được đọc thành "khung 5-vòng đã chạy trơn"**.
|
||||
- 🔒 **Dải JUMP {4,3,3} + view-residual-asym ∈ {0,3} đang FROZEN chờ anh** (`hoi-tu-synthesis.md:26`). Máy bị cấm reset; cờ `_frozen_until_owner` **chưa được ghi vào file** vì bookend chưa chạy lượt nào (nhánh chặn đã có ở M3). Lane này **không đặt số** — owner-gated.
|
||||
- 🔸 **M8 (V5-counter) = DEFER** (`hoi-tu-synthesis.md:27`). Điểm yếu của V5 là **thiếu COUNTER** chứ không thiếu ROLE — không nhét vào O-3 (`spec-owner-gated-3-khoan-24-07-2026.md:49`). Nghĩa là dòng V5 trong bảng gate hiện **không có máy nào đếm** "1 nhãn `đã-đo` bị chặn/phiên"; con số đó do người điền.
|
||||
- 🔸 **Trio (vòng-3) vẫn giữ CONSENT trong khi 2 sister chạy vô-điều-kiện** (`hoi-tu-synthesis.md:28`) — khoảng cách **CÓ CHỦ ĐÍCH**, chờ owner-decision #12. Không phải behind.
|
||||
- 🔸 **Drift con-trỏ, đo lại hôm nay:** khảo sát S149 cite bảng gate ở `session-end.md:170-176`; đo hôm nay bảng nằm ở **`:175-181`** (header `:175`, V1 `:177` … V5 `:181`). Cite `hmw.js:185` cho `writeGuard` (`C14:24`) đo lại ra **`:225`**. Report này dùng **số đo hôm nay**; ai đọc số cũ sẽ trỏ trượt.
|
||||
- 🔸 **Nấc gate 5-vòng là evidence-mandate, KHÔNG phải cổng chặn** — `session-end.md:171` nói rõ nó không chặn đóng phiên. Đừng đọc "có bảng gate" thành "có cổng".
|
||||
- 🔸 **Nấc dừng ở `executed`, KHÔNG `verified`** (`adap-report.md:31`). **sha thư chưa tái-đo hôm nay.**
|
||||
@ -0,0 +1,47 @@
|
||||
# adap-report — 2026-07-19-Governance-hub-tu-danh-gia-3-goc-va-chuyen-pha
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
|
||||
> ⚠️ Thư này **được đọc trực tiếp lần đầu @S149(+1)** (không phiên nào trước đó đọc) — xem §5.
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-07-19-Governance-hub-tu-danh-gia-3-goc-va-chuyen-pha` (type **new**, `to: all-fit`; `content_sha256` `cea290cead807a405be2dcbace68b0e83eb6186abe21a5f9f7efc0d312b66fad`; `reviewer_gate` = *FAIL→PASS-W-FIXES folded (2-MAJOR số-integrity + 4-MINOR · falsify-10 {7-HELD})*).
|
||||
|
||||
## 2. nấc G-011
|
||||
**n-a** — thư là **FYI**, tự khai **3 lần** không floor (§3a).
|
||||
🔸 **1 lesson đã hấp thụ thành LUẬT CHUNG** trước report này (§3b) + **3 câu kiểm §6 đã trả lời bằng số SE** (§3c). **Cố ý KHÔNG nâng nấc** — nghĩa-vụ gốc không tồn tại.
|
||||
|
||||
## 3. evidence (đo THẬT — 2026-07-25)
|
||||
|
||||
**(a) 3 dòng tự-khai-không-floor (nguyên dòng):**
|
||||
|
||||
| Dòng | Trích |
|
||||
|---|---|
|
||||
| `:10` | *"…+ hub chuyển pha BẢO-TRÌ/product (broadcast build mới sẽ thưa lại). **FYI, KHÔNG floor**."* |
|
||||
| `:20` | *"…hub chạy eval 3-góc rồi gói kết quả + các vá mới nhất thành bản này. **FYI + câu kiểm nhanh, KHÔNG floor mới**."* |
|
||||
| `:62` | *"**FYI** — pattern eval-3-góc (§1) + 3 câu kiểm (§6) dùng được ngay ở mọi nhà; **điểm số và findings là của hub, không áp**."* |
|
||||
|
||||
**(b) Lesson `:27` ĐÃ hấp thụ thành luật-chung số 9:**
|
||||
- Nguồn (thư `:27`): *"lead ghi điểm tự-chấm vào sổ vận-hành → cả 2 con ĐỌC sổ nên vẫn thấy… **Lesson: điểm tự-chấm của lead phải để NGOÀI mọi kênh sub với tới được** — 'không đưa vào pack' chưa đủ khi sub đọc sổ chung."*
|
||||
- Đích (SE): `.claude/workflows/runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026-v2.md:131` — *"9. 🆕 **Phán quyết của lead KHÔNG đi vào file sub đọc được** (O-4a `hub-tu-danh-gia:27`)"* — nằm trong khối `### 🔴 Luật chung (v1 giữ 6, thêm 3)` (`:126-131`), **cite ngược đích danh dòng nguồn**.
|
||||
|
||||
**(c) 3 câu kiểm §6 — trả lời bằng số SE, không bằng ý kiến:**
|
||||
|
||||
| Câu kiểm thư | Trả lời SE (evidence) |
|
||||
|---|---|
|
||||
| §6.1 *"dashboard đo HOẠT-ĐỘNG hay OUTCOME — chỉ 1 metric outcome có số thật"* | **Có ứng viên, và nó đang tự tố cáo:** bộ đếm class-repeat/recurrence (`memory-budget.json:68` 12 `recurrence_tokens`; `.mfe-state.json` strikes 23 @07-22 — dẫn tại `runs/2026-07-24-S149-dong-du-5-vong/sub-invest-5-se-do-B.md:102`). Nhưng đo độc lập của vai H24 (`.claude/agent-memory/lead-gap-auditor/MEMORY.md:36`) cho **datum ngược**: bộ ba carry-age `7/9/13` **y hệt S143 → S148**, *"qua 5 nhãn phiên thước-tuổi đứng yên"* ⇒ SE **đang ở lỗ-1** đúng như thư mô tả, chỉ khác là **có số chứng minh mình đang ở đó**. |
|
||||
| §6.2 *"điểm tự-chấm/kỳ-vọng của lead có nằm trong kênh sub đọc được không"* | **Có LUẬT (§3b), KHÔNG có MÁY.** Không detector nào quét "file sub đọc được có chứa phán quyết lead". ⇒ luật sống bằng kỷ luật lead — sẽ mục im lặng, đúng lớp *"vắng-mặt trông giống ổn"*. |
|
||||
| §6.3 *"owner mỗi phiên đọc-quyết bao nhiêu khoản — có ai đếm không"* | **SE có bộ đếm cục bộ (không phải meter đầy đủ):** `runs/2026-07-24-S149-owner-gated-3-khoan/run.md:16` — grep **8 token × 5 bề-mặt owner** (HANDOFF/STATUS/WAL/ACTIVE-MARKS/migration-todos) + toàn bộ `docs/changelog/sessions/` ⇒ **0/0/0/0/0 + 0 sessions** cho 3 khoản, và bảng đối chiếu ra **4/7 khoản O-* có đường về owner · 3/7 câm hoàn toàn**. Đây **đếm được tồn-đọng quyết-định owner**, chưa đếm được *"đọc-quyết bao nhiêu khoản mỗi phiên"* (dòng chảy). ⇒ **một nửa lỗ-4**. |
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **Skip điểm số 7.5/10 + 4 lỗ tự-dối của hub:** đúng thư `:62` (*"điểm số và findings là của hub, không áp"*). SE **không** chép điểm, không chép kết luận.
|
||||
- **Skip pattern eval-3-góc (§1) ở dạng nguyên bản:** SE không chạy 2 phát model-hạng-nhất song song để tự chấm hệ. Lý do project-fit: SE là repo **product**, engine-đắt là **per-invocation owner-gated** (`CLAUDE.md:26`) ⇒ tự-chấm 3-góc = chi phí owner phải duyệt riêng. **Cái SE lấy = mảnh cấm-anchor** (`:25-26` *"đề-bài của lead cũng không phải ground-truth"*) — đã có mặt như luật vận hành: sub **tự re-verify từ đĩa** trước khi tin brief lead.
|
||||
- **Tailored lesson `:27`:** hub phát biểu ở dạng *"để điểm tự-chấm ra ngoài kênh sub"*; SE nâng thành luật rộng hơn *"**phán quyết** của lead không đi vào file sub đọc được"* (không chỉ điểm số) — **rộng hơn floor**, có cite ngược nguồn.
|
||||
- **Khoản `:50-52` (hub chuyển pha BẢO-TRÌ, broadcast thưa lại):** thông tin vận hành, **không phải việc**. SE ghi nhận: nhịp pull `/adap-apply` giữ nguyên, không đổi kỳ vọng.
|
||||
|
||||
## 5. honest-caveat
|
||||
- 🔴 **Thư này nằm im 6 ngày (19-07 → 25-07) trước khi có ai ĐỌC trực tiếp.** Vết: `.claude/agent-memory/lead-gap-auditor/MEMORY.md:36` (đo @S148) xếp `danh-gia-3-goc` vào nhóm *"0 hit trên 5 sổ bền"*. Lesson `:27` **có** được hấp thụ @S144 — nhưng qua **đường gián tiếp** (khoản O-4a của đợt-11), tức lúc đó thư được **trích**, chưa được **đọc trọn**. ⇒ Đây là ca thật của lớp *"hấp thụ mảnh ≠ đã xử lý thư"*.
|
||||
- 🔴 **`n-a` KHÔNG có nghĩa "bác vì không hợp"** (nghĩa mặc định trong `/adap-report` LOCK) mà là **"thư không đặt floor"**. SE đã hấp thụ 1 lesson + trả lời 3/3 câu kiểm — trong đó **2/3 câu trả lời là tin xấu về chính SE** (lỗ-1 có số chứng minh · lỗ-4 mới một nửa).
|
||||
- 🔴 **§3c câu 1 là ứng-viên metric, KHÔNG phải metric outcome đã kiểm chứng.** `class_repeat`/strikes đếm *lần bắt*, chưa chứng minh *lỗi-lặp giảm*. Không nâng nhãn.
|
||||
- 🔴 **Luật-chung #9 sống trong file spec của một run-folder** (`runs/2026-07-22-S144-adap-dot-11/…v2.md:131`), **không** ở file luật luôn-được-đọc ⇒ đúng lỗ `discoverability-home` mà bản `3-khoan` khoản-2 mô tả. Chưa promote — khai, không vá (canonical ngoài lane).
|
||||
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này (không chạy `stamp_verify.py` cross-repo).
|
||||
- **Report = pointer-dedup + phần đo mới; KHÔNG tạo nghĩa-vụ mới** — chống double-count khi `/adap-audit`.
|
||||
@ -0,0 +1,34 @@
|
||||
# adap-report — 2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
|
||||
> ⚠️ **Report viết BÙ** cho khoản đã de-facto áp @S144/S145 — **KHÔNG phải việc mới**. Xem §5 (chống double-count khi `/adap-audit`).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params` (type **update**, `to: all`; `content_sha256` `9353c5c8ba51a203dc22d356daf7744b60513c83dba7e5493ff567823ee37989`; `reviewer_gate` = *PASS-W-FIXES (0C/0M/3m ALL-FOLDED s106 · falsify 7/7-HELD)*).
|
||||
|
||||
## 2. nấc G-011
|
||||
**executed** — 2/3 khoản đã chạm file thật (K2, K3). Khoản còn lại **K1 = `agreed`** (đã quyết áp, CHƯA chạm file).
|
||||
🔴 **Bảng per-khoản ở §3, KHÔNG báo số tổng** (bài meta-count: con-số tổng đóng vai "đã phủ hết").
|
||||
|
||||
## 3. evidence (đo THẬT — 2026-07-25)
|
||||
|
||||
| Khoản thư | Nấc | Evidence (file:dòng · byte · sha) |
|
||||
|---|---|---|
|
||||
| **K1** — masthead/title sweep (`3-khoan:19-27`) | **agreed** | `grep -rni "masthead" .claude docs scripts` = **15 hit** · lọc `grep -v "workflows/runs/"` = **0 hit** ⇒ **0 rule-file** (mọi hit là run-note/artifact). Vết "đã quyết áp": SE tự xếp **P3-4** tại `.claude/workflows/runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026.md:123` (+`:120` khoản-2, +`:162` C12) — có quyết-định, **không có file luật nào bị chạm** ⇒ đúng nấc `agreed`. |
|
||||
| **K2** — luật CHẾ-ĐỘ ở file-đọc-đầu-phiên (`3-khoan:31-41`) | **executed** | `CLAUDE.md:23-28` — khối 6 dòng, **926 byte** (`awk 'NR>=23&&NR<=28' CLAUDE.md \| wc -c`). Dòng `:23` cite thẳng nguồn: *"(adap đợt-11, `3-khoan:31-41` discoverability-home ⟂ implement-home)"*; 4 bullet trỏ nơi tra: HMW-mode (marker `.claude/hmw-mode.on`) · engine-đắt per-invocation · lead model (`~/.claude/settings.json`) · nhịp H24/ngân-sách (`memory-budget.json`). Commit **`8b6df0a`** (2026-07-23) — `git merge-base --is-ancestor 8b6df0a origin/main` ⇒ **ancestor của origin/main** (hub clone về resolve được). |
|
||||
| **K3** — đính chính ngữ-nghĩa 2 tham số distill (`3-khoan:47-53`) | **executed** | `.claude/agent-memory/memory-budget.json:23` `_unit_note` cite đích danh `3-khoan:47-53` + tái-phát biểu luật: *"ten bien BAT BUOC mang don-vi '_shards', cam rut gon thanh 'min'/'bulk' tran"*. Tên khoá thật trên đĩa = `min_pending_shards` (`:24`) · `bulk_note_shards` (`:25`) ⇒ **cả 2 vế** của khoản-3 đạt (tên mang đơn-vị + chú-thích đơn-vị NGAY CẠNH số). Khối `distill_trigger` `:20-32` = **5.259 byte**. Cùng commit `8b6df0a`. |
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **K2 — FORM đổi có chủ đích, function-floor giữ:** hub chốt *"thêm 1 dòng vào file luật luôn-được-load"* nêu chế-độ đang hiệu lực. SE **CỐ Ý KHÔNG chép giá-trị ON/OFF** (`CLAUDE.md:24` verbatim: *"file này CỐ Ý KHÔNG chép giá-trị ON/OFF — chép là sai ngay lượt sau khi anh toggle"*), thay bằng **con-trỏ NƠI TRA**. Lý do project-fit: SE có mode **toggle được giữa phiên** (`/ultra-on` · `/ultra-off`) + engine-đắt **per-invocation không persist** (H21) ⇒ chép trạng-thái vào file luật là tự chế drift. Floor *"phiên mới NHÌN THẤY posture ở file đọc-đầu-tiên"* = **đạt**; hình thức = con-trỏ thay giá-trị.
|
||||
- **K3 — reference-not-copy số:** SE **KHÔNG** bê cặp số của hub (`min:1 / bulk:10`). Số SE = `15 / 30`, neo vào chính trạng-thái SE: `min` owner-chốt-lần-2 @S144 (`memory-budget.json:27` `_owner_set`, có giữ cả nấc-1 số 7 làm vết), `bulk` = **dẫn-xuất công-thức 2×min** owner-chốt @S145 (`:26` `_bulk_note`). Cái SE port là **CƠ-CHẾ 2 tầng + luật đặt-tên**, không phải con số.
|
||||
- **K1 — KHÔNG khai `n-a`:** thư tự khai optional (`3-khoan:59` *"Không bắt buộc gì. Ba việc tùy chọn"*) — nhưng SE **tự** nâng nó thành P3-4 rồi bỏ rơi ⇒ khai `agreed` (nợ của SE), **không mượn chữ "tùy chọn" của hub để xoá nợ của chính mình**. Propose-diff codify 1 dòng do **lane L3 (C-e)** giữ; L4 không đụng canonical.
|
||||
|
||||
## 5. honest-caveat
|
||||
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này (không chạy `stamp_verify.py` phía hub — thực thi script cross-repo nằm ngoài phạm vi lane read-only). Nếu hub sửa file sau 2026-07-24 thì cite lệch — hub verify lại phía mình.
|
||||
- 🔴 **`8b6df0a` là commit closeout-SQUASH S146** (2026-07-23) gộp cả work S144/S145: sha đúng và **sống sau squash** (bài học S143 `bằng-chứng-tự-huỷ-sau-squash`), nhưng **KHÔNG** được đọc thành "phiên áp K2/K3 là S146" — nội dung tự khai @S144/@S145 ngay trong file (`memory-budget.json:26/:27`).
|
||||
- 🔴 **Phép đo K1 mù biến-thể chữ:** chỉ grep token `masthead` (case-insensitive). Nếu SE codify bằng chữ khác (`dòng-1`, `tiêu-đề`, `title`) thì phép đo này **không thấy** — chưa test biến thể. Kết luận "0 rule-file" đúng cho **đúng token đó**.
|
||||
- 🔴 **K2 KHÔNG có máy giữ:** không detector nào kiểm *"thêm mode mới ⇒ có thêm dòng posture không"*. Khoản này sống bằng kỷ luật ⇒ sẽ **mục im lặng** nếu mint mode mới mà quên (đúng lớp *"vắng-mặt trông giống ổn"*). Chưa đề xuất máy — sẽ thành lời-hứa-doc nếu khai là đã có.
|
||||
- **Report = pointer-dedup, KHÔNG việc mới.** Nội dung K2/K3 đã áp @S144/S145; file này chỉ tách per-id để `/adap-audit` parse được. **Chống double-count**: đừng cộng khoản của report này vào khoản đã đếm ở đợt-11.
|
||||
|
||||
## 6. Đề-xuất ngược hub (§M — không chặn)
|
||||
Khoản-2 của chính thư (implement-home ⟂ discoverability-home) đo được **một ca thứ hai** ngay trong wave này: bài học của 2 thư `cost-lens`/`depth-cost` **có** vết ở implement-home (`.claude/agents/README.md:263,265,291` · `.claude/workflows/hmw.js:269,271`) nhưng **0 vết** ở 5 sổ bền owner-facing (đo độc lập của vai H24: `.claude/agent-memory/lead-gap-auditor/MEMORY.md:36`). ⇒ Gợi ý hub: phép thử khoản-2 nên hỏi **2 chiều** — *"chế-độ có ở file-đọc-đầu-phiên chưa"* **và** *"bài học đã wire có ai NHÌN THẤY ngoài chỗ nó được wire không"*.
|
||||
@ -0,0 +1,33 @@
|
||||
# adap-report — 2026-07-20-Governance-auto-toan-vong-distill-2-tang
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
|
||||
> ⚠️ **Report viết BÙ** cho khoản đã de-facto áp @S144/S145 — **KHÔNG phải việc mới** (§5 chống double-count).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-07-20-Governance-auto-toan-vong-distill-2-tang` (type **update**, `supersedes_scope` = DELTA chồng bản *harness đóng đủ vòng* 19-07; `content_sha256` `b9e84fc24475fda63f62f412cdc26511e1f42f8a1275c0fae1e9cb9fcd9fe907`; `reviewer_gate` = *PASS-W-FIXES (0C/2M/2m ALL-FOLDED s106)*).
|
||||
|
||||
## 2. nấc G-011
|
||||
**executed** — khoản 2 + 4 chạm file thật và có máy; khoản 3 chạm file ở dạng **luật (chưa có máy)**; khoản 1 **tailored có chủ đích** sang INFORM-consent (KHÔNG auto-execute) ⇒ khai riêng, không gộp.
|
||||
🔴 **Bảng per-khoản ở §3, KHÔNG số tổng.** 🔴 Có **1 residual ghost-wire đo được hôm nay** — §5.
|
||||
|
||||
## 3. evidence (đo THẬT — 2026-07-25)
|
||||
|
||||
| Khoản thư | Nấc | Evidence (file:dòng · byte · sha) |
|
||||
|---|---|---|
|
||||
| **1** — mọi vòng bảo-trì chạy tự động ở HAI ĐẦU phiên, không tích nợ (`:15-19`) | **tailored → INFORM + owner-consent** (không phải "đạt", không phải behind) | `.claude/commands/session-start.md:184` verbatim *"🔴 **KHÔNG auto-run** — anh consent mới chạy"* · `.claude/commands/sleep-recovery-memory-l2.md:52` *"INFORM anh, **KHÔNG tự-chạy autonomous**"*. SE giữ **owner-in-the-loop** cho bước XỬ (nén), chỉ tự-động hoá bước ĐO. Ranh giới của thư (`:19` *"núm-số ngân sách vẫn thuộc chủ dự án"*) **giữ nguyên** — SE mở rộng ranh đó sang cả bước-xử. Vế "HAI ĐẦU" mới đạt **1/2 đầu** (xem §5 residual). |
|
||||
| **2** — tầng DISTILL tự động, trigger = ĐẾM THẬT trên đĩa (`:21-27`) | **executed** | `.claude/agent-memory/memory-budget.json:21` `_note` cite đích danh `auto-toan-vong:21-27` + trích verbatim *"trigger la dem-vat-that deterministic, KHONG phai ngay-lich (lich/tuoi = proxy gia)"* · `:22` `"mode": "shard_count"` · `:24/:25` ngưỡng `15/30` · `:29` `_dinh_nghia_shard` chốt định-nghĩa đếm (**loại trừ `_INDEX.md` + `*.gist.md`**; ghi thẳng bộ đếm đầu ra 20 trong đó 5 là `_INDEX.md` ⇒ **25% dương-giả**, số thật 15). **Máy thật:** `scripts/distill-shard-probe.ps1` (**3.415 byte**, đọc ngưỡng LIVE từ JSON, không hardcode) — wire 1 call-site `session-start.md:184`. `:31` `_acceptance` đo **HÀNH VI không đo CHỮ** (2 ca bắt buộc: 0-shard/30-ngày ⇒ IM · 3-shard/0-ngày ⇒ KÊU) — chống Goodhart "đổi chữ ngày→chu-kỳ là xanh". Commit **`8b6df0a`** (2026-07-23, ancestor `origin/main`). |
|
||||
| **3** — instrument tự làm tươi số đo của chính nó (`:29-31`) | **executed (LUẬT) — chưa có MÁY** | `.claude/agents/README.md:283-287` (**1.125 byte** đo `:283-292`) — mục *"Nhánh TỰ LÀM TƯƠI (`auto-toan-vong:29-31` — O-4e)"* + luật `:286`: *"khi roster đổi **hoặc** số đo lệch >30% so lần ghi trước ⇒ **đọc lại + cập nhật NGAY trong phiên đó**, không ghi-nhận-rồi-treo-disposition"*; `:287` tự khai *"Ngưỡng 30% = AI-tự-đặt, đảo được — không phải số owner"*. **Lần thực-thi TAY đầu tiên = chính wave này** (C-d, lane L4): re-đo từ run-folder S149 ⇒ lane-invest `132,7K` vs số ghi S144 `164K` = **−19,1%** ⇒ **dưới ngưỡng 30% ⇒ luật KHÔNG fire** (khai đúng: bảng không stale theo tiêu chí của chính nó; cái thiếu là **thiếu HÀNG**, không phải lệch số). |
|
||||
| **4** — đảo rule cũ ĐÚNG CÁCH: giữ lineage + lý do tại chỗ wire (`:33-35`) | **executed** | `memory-budget.json:30` `_lineage` — cite khuôn `auto-toan-vong:35` *"dao co chu dich, chu-ky, ngay, ly do"*, ghi đủ 4 vế: bản cũ (`session-start.md:135` + `sleep-recovery-memory-l2.md:52` ngày-lịch ≥7) · ngày đảo (S144 2026-07-22) · chữ-ký (owner) · **khác-biệt kỹ-thuật** (đếm-vật-thật thay hiệu-số-ngày). Vết cũ **KHÔNG xoá**: `sleep-recovery-memory-l2.md:52` hạ dòng 7-ngày xuống *"🧊 GHI-CHÚ PHỤ, KHÔNG còn quyết-định"* + ghi rõ *"chính owner gỡ, không phải AI"*. `session-start.md:184` mang nhãn *"🔄 ĐỔI TRIGGER @S144"*. |
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **Tailored khoản-1 (khai thẳng là LỆCH FORM với hub):** hub = *"đo thấy vượt là automation xử ngay"*; SE = **đo tự động, XỬ chờ consent**. Lý do project-fit: SE là repo **product** (phiên ngắn, nhiều product-work) và nén-L2 là thao tác **ghi vào bộ nhớ vai** — SE xếp nó cùng lớp "núm-quyết-định" mà chính thư dặn không để máy tự xử. ⇒ FUNCTION-floor mà SE giữ = *trigger đếm-vật-thật deterministic* (khoản 2); phần *auto-execute* = **cố ý không port**, không phải chưa làm kịp.
|
||||
- **Tailored số:** SE **KHÔNG copy** `min:1/bulk:10` của hub; SE dùng `15/30` neo vào chính trạng-thái đĩa SE (`_owner_set` `:27` giữ **cả 2 nấc** — nấc-1 số 7 không bị xoá; `_bulk_note` `:26` = công-thức `2×min` owner chốt, tự đeo theo nếu owner đổi `min`). Ghi rõ trong file: *"KHUNG federated = tham-khao CO-CHE tang-2, KHONG bung SO cua hub"*.
|
||||
- **Skip (n-a) — "4 lượt gom + 1 cổng đối chiếu" (`:51` / dogfood `:37-41`):** SE không port topology gom-nén của hub; SE dùng `/sleep-recovery-memory-l2` sẵn có. Lý do: khối lượng shard SE khác bậc (ngưỡng neo-baseline 15, backlog thực ~0 sau S140), dựng pipeline 5 vai để nén 1-2 shard là chi phí lớn hơn việc.
|
||||
|
||||
## 5. honest-caveat
|
||||
- 🔴 **RESIDUAL ĐO ĐƯỢC HÔM NAY — call-site 1/2, và doc over-claim:** `sleep-recovery-memory-l2.md:52` khai *"`/session-start §2.1.2` **+** `/session-end §L.b(c)` chạy `scripts/distill-shard-probe.ps1`"*. Đo: `grep -c "distill-shard-probe" .claude/commands/session-end.md` = **0**; `session-end.md:68` §L.b(c) vẫn fire theo **vị-ngữ CŨ** *"`last_sleep_at` null hoặc ≥7d → INFORM"*. ⇒ **vế "HAI ĐẦU mỗi phiên" của khoản-1 mới đạt 1 đầu**, và có 1 dòng doc khai quá thực-tế (đúng lớp ghost-wire H18 *declared-but-not-wired* — trớ trêu là chính dòng `:52` đó kết bằng lời cảnh báo về ghost-wire). **KHÔNG tự sửa trong lane này** (canonical `.claude/commands/*` ⇒ propose-diff nằm ở `runs/2026-07-25-S149-adap-backlog/sub-apply-L4.md`, em-main áp). Đây là **residual THẬT, không phải nhãn**.
|
||||
- 🔴 **Khoản-3 là LUẬT, chưa là MÁY.** Không script nào tự phát hiện "bảng cost lệch >30%" — phải người đọc. Khai đúng dạng **dự-định-phải-khai** (luật `goi-chot:52` cửa-duyệt-lời-hứa-máy): **CHƯA CÓ MÁY**.
|
||||
- 🔴 **Trục TUỔI vẫn chưa có máy** (SE tự khai sẵn từ S144, không phải phát hiện mới của report này): `memory-budget.json:28` `_residual_khai_that` — ngưỡng neo-baseline *"chi bat TANG SO LUONG, khong bat MAT DO TUOI"*, kèm **6 cặp gist stale đo được** (impl-be 2026-06 +25,7 ngày · inv-cb +13,2 · impl-fe +12,0 · cicd +8,5 · reviewer 2026-07 +4,1 · reviewer 2026-06 +2,0) mà probe vẫn đếm là ĐÃ-PHỦ. ⇒ **DEFER**, không hứa lịch.
|
||||
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này (không chạy `stamp_verify.py` cross-repo).
|
||||
- 🔴 **`8b6df0a` = closeout-squash S146** (2026-07-23) gộp work S144/S145: sha sống sau squash + là ancestor `origin/main`, nhưng đừng đọc thành "áp @S146".
|
||||
- **Report = pointer-dedup, KHÔNG việc mới** — chống double-count `/adap-audit` với khoản đã đếm ở đợt-11 (C11).
|
||||
@ -0,0 +1,84 @@
|
||||
# adap-report — 2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval`
|
||||
Nguồn: `AI_INFRA/broadcasts/outbox/all/2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval.md` (55 dòng · `content_sha256: c04d39dbc8f50a1c0ce0865fe2347a930cbdc8f1e43723d852cec5eee1dbe046` · `reviewer_gate: PASS-W-FIXES 0C/1M/3m`). Đọc TRỌN @S149 2026-07-25.
|
||||
|
||||
## 2. nấc G-011 — **executed-partial**
|
||||
|
||||
| Khoản của thư | Nấc | Vì sao |
|
||||
|---|---|---|
|
||||
| Khoản 1 — áp KHUNG 4 câu cho TỪNG thước | **executed** | Bảng 18 dòng (7 script độc-lập + 11 check trong detector-suite) đã dựng, mỗi dòng đủ 4 câu + verdict |
|
||||
| Verdict {GIỮ/SỬA/BỎ/THÊM} | **executed** | GIỮ 13 · SỬA 4 · BỎ 0 · THÊM 1-đề-xuất |
|
||||
| 2 cột thẩm-quyền {owner-SỐ · owner-LUẬT} | **verified-pending (owner)** | 🔒 **ĐỂ TRỐNG có chủ-đích** — thư `:24` verbatim *"AI không tự quyết hai cột sau"*. Chờ anh điền |
|
||||
| Phép thử nhanh #2 (bịa input sai → có ĐỎ không?) | **executed** | Fault-inject 3-arm trên `mfe-eval.ps1`, PASS 3/3 (chi tiết §3) |
|
||||
| Phép thử nhanh #1 (3 thước "xanh liên tục" trả lời được lần bắt gần nhất trong 2 phút?) | **executed** | Cột Q1 toàn bảng; 4 thước phải khai thẳng **"chưa từng bắt"** |
|
||||
| Phép thử nhanh #3 (đếm ca tầng-kiểm lật tầng-đo 3 phiên gần nhất) | **n-a lượt này** | Chưa đo — khai thẳng, không suy từ số hub |
|
||||
| Khoản 3 — 6 chỗ vá "AI-tự-sửa" của hub | **n-a** | Đó là việc hub làm trên máy hub; SE áp KHUNG rồi tự đo, KHÔNG chép số/chép vá (thư `:55`) |
|
||||
|
||||
🔴 **KHÔNG claim `verified`** — `verified` do AI_INFRA `/adap-audit` chấm cross-repo.
|
||||
|
||||
## 3. evidence (đo THẬT)
|
||||
|
||||
**Artifact chính — bảng eval-của-eval:**
|
||||
`.claude/workflows/runs/2026-07-25-S149-adap-backlog/sub-apply-L5-evalcuaeval.md` (**18.426 B**) — bảng đầy đủ nằm ở đó, report này trỏ sang (tránh nhân đôi nội dung).
|
||||
|
||||
**Bộ thước đã rà — 18 dòng:** `mfe-eval` · `applied-eval-nokey` · `spawn-model-audit` · `nhip-no-probe` · `distill-shard-probe` · `measure-agent-memory` · `closeout-sentinel` + C1-gotcha · C1-wikilink · C2/B3 · C3 · C4 · C5 · C6 · C9 · C10 · C11 · H24-2 (trong `scripts/governance-detectors.ps1`, HEAD `72d2d1b`).
|
||||
|
||||
**Số đo live 2026-07-25** (`scripts/governance-detectors.ps1`, TOTAL = 46) — kể bằng THÀNH-PHẦN, không bằng tổng:
|
||||
|
||||
```
|
||||
46 = 24 C1-wikilink + 15 C2-derived-stale + 3 H24-2-carry + 3 C3-vocab-fork + 1 H24-1-title
|
||||
```
|
||||
|
||||
**Fault-inject THẬT — `mfe-eval.ps1` (commit `295c70c`), 3 arm trên cây tạm qua `-RepoRoot`:**
|
||||
|
||||
| ARM | Bơm | FIT | GOODHART-WARN | Kết |
|
||||
|---|---|---|---|---|
|
||||
| 0 negative-control | — (bản sao sạch) | PASS | no-warn | ✅ im đúng lúc sạch |
|
||||
| A | `.mfe-state.json.strikes_total` 23 → 3 | PASS | **FIRED** | ✅ ĐỎ đúng |
|
||||
| B | `token_governor…lead_tokens` 380000 → 100 | **OVER** | no-warn | ✅ ĐỎ đúng |
|
||||
|
||||
⇒ `mfe-eval` **có RĂNG 2/2 nhánh**, không phải "xanh-vì-mù". Đây là thước **chưa từng bị fault-inject** (hit gần nhất `adap-reports/2026-06-30-…harness-17-memory-self-improvement.md:49` chỉ chứng `exit-0 KHÔNG vỡ` = happy-path).
|
||||
|
||||
**2 khiếm-khuyết bắt được trong chính đợt rà:**
|
||||
|
||||
1. 🔴 **Dạng tự-nói-chuyện THỨ 5 — "thước tự ăn nhân-chứng của mình"** (ngoài 4 dạng hub liệt).
|
||||
`scripts/mfe-eval.ps1:193` đọc `$lastStrikes` từ state → `:205-209` `WriteAllText` **ghi đè ngay** state. ⇒ sau bất kỳ lần chạy nào, `last == current` ⇒ **GOODHART-WARN không thể nổ** nữa. Ai chạy MFE "chỉ để xem" là **đốt mất cửa-sổ cảnh-báo** của lần chạy chính-thức kế tiếp.
|
||||
Bằng chứng sống, do chính lượt này gây ra: lần chạy baseline làm `git status` hiện ` M .claude/agent-memory/.mfe-state.json` (`"at": 2026-07-22→2026-07-25`, `"rca_entries": 12→14`) — **đã `git checkout --` hoàn nguyên**. Cũng lật một tự-khai: `:16` ghi *"a measure-and-report tool"* nhưng write-ops = **2** (script DUY NHẤT ghi trong 8 thước đọc-only đã quét).
|
||||
|
||||
2. 🔴 **H24-2 carry-age — dạng (d) chú-thích-tự-mâu-thuẫn, xác nhận trong code.**
|
||||
`governance-detectors.ps1:909` phát cờ bằng `Write-Flag` ⇒ **tính vào TOTAL**, trong khi nội-dung cờ ghi `[INFORM]` + `"INFORM-only - no action forced"`, section-title `:820` ghi `(INFORM-only)`, docstring `:24` ghi INFORM-only — còn roster INFORM-ONLY ở `:1818` (`C6 + H24-4 + H24-5 + C9 + C11`) **không có H24-2**. Chính-sách `:65-73` nói sink INFORM sinh ra để *"must not move the audited TOTAL"*.
|
||||
Ảnh hưởng: **3/46 = 6,5%** TOTAL là cờ tự-nhận không-ép; và acceptance của chính wave này (*"detector TOTAL không tăng"*) sẽ đọc một `[carry:]` **owner cố ý giữ** thành hồi-quy.
|
||||
|
||||
**Fact-0 — giải LỆCH 2 nguồn về trio (yêu-cầu tiền-đề của lượt):** trio **ĐÃ chạy thật** first-run @S144 2026-07-22 — `runs/2026-07-22-S144-trio-first-run/` có 3 return-file (10.907 / 14.321 / 11.251 B) + `trio-synthesis.md:7` chốt `verified-runtime`, commit **`8b6df0a`** 2026-07-23. Hai chỗ ghi "pending" là **văn-bản STALE**, không phải sự-thật khác: `memory-budget.json:186-188` **và** (nguồn thứ 3, tự tìm thêm) chính diary trio `agent-memory/harness-refine/MEMORY.md:16`. Lý do đã tự khai ở `trio-synthesis.md:35` — harvest-gate bị `/pause` cắt.
|
||||
Tách nghĩa cho đúng: trio **chạy task** = RỒI ✔ · trio **ghi diary** = CHƯA ✔ (eval 1.547 B · audit 1.513 B, mtime cùng đứng **2026-07-20** = ngày seed; 3 vai *"khai không có Write/Edit"* — `run.md:9`). Con số `l1_hot` trong budget.json **vẫn khớp đĩa**; chỉ ô văn xuôi `rollout` sai. Drift phụ: `harness-refine` 1.611 B ≠ 1.616 B ghi trong config (−5 B) — truy `git log -p` ra commit `9abc2e1`, là **đổi tên vai** `lead-omission-auditor`→`lead-gap-auditor`, không phải entry first-run.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
**Giữ FUNCTION-floor** (thư `:13` — *"Khung = sàn chức năng; hình thức tổ chức = mỗi nhà tự quyết"*): 4 câu áp cho TỪNG thước · verdict 4 giá-trị · 3 cột thẩm-quyền với 2 cột sau owner-gated · phép thử "bịa input sai → có ĐỎ không".
|
||||
|
||||
**Tailored (FORM đổi, floor giữ):**
|
||||
- **Chia 2 bảng** — 7 script độc-lập ⟂ 11 check nằm trong một script (`governance-detectors.ps1`). Bộ thước SE là *một suite + vài script rời*, khác topology hub; gộp một bảng sẽ giấu mất chuyện 11 check dùng CHUNG một `FlagCount` — mà đó chính là chỗ đẻ ra khiếm-khuyết H24-2.
|
||||
- **Thêm dòng "kể bằng THÀNH-PHẦN"** (46 = 24+15+3+3+1) — không có trong khuôn hub; thêm vì bài `feedback_goodhart_leave_measurement_set` của SE: số tổng che mất ai đang nói. Hoá ra cần thật — 52% TOTAL là **một** lớp lỗi duy nhất (hyphen⟂underscore).
|
||||
- **Artifact tách khỏi report** — bảng ở sub-MD run-folder, report trỏ sang. Giữ report đúng 5 trường cho `/adap-audit` parse.
|
||||
|
||||
**Skip / n-a:**
|
||||
- **Khoản 3 (6 chỗ vá của hub)** = n-a — vá trên máy hub, không phải nghĩa-vụ SE; thư `:55` dặn *"đừng chép số hub làm chuẩn"*.
|
||||
- **Khoản 4 (quy-trình fan-out + cổng kiểm độc-lập)** = **đã có sẵn**, không áp lại: SE chạy đúng khuôn này (wave fan-out + review-workflow mandate H9) — lượt này là 1 lane trong wave 6 lane, cổng review chạy sau.
|
||||
- **Phép thử nhanh #3** = n-a lượt này (chưa đo tỉ-lệ lật đo⟂kiểm).
|
||||
- **2 cột thẩm-quyền** = KHÔNG điền (owner-gated, không phải skip).
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
1. 🔒 **2 cột thẩm-quyền còn TRỐNG** ⇒ nấc trần của khoản này là `verified-pending (owner)`. Report **không** được đọc thành "đã rà xong".
|
||||
2. **Fault-inject mới phủ 1/17 thước.** 16 thước còn lại **chưa có fixture đông-lạnh** — đúng lớp hub cảnh báo (`thư:31`: 17/18 check của hub thiếu positive-control). **Không** suy ra "cả bộ có răng".
|
||||
3. **`closeout-sentinel` chưa chạy được** (`-Commit` mandatory) ⇒ verdict GIỮ của nó là **suy từ đọc code**, không từ chạy.
|
||||
4. **6 check H24-1/3/4/5 + H25-1/2 bị gộp 1 dòng**, chưa rà 4 câu từng cái — thiếu-sót có chủ-đích do trần lượt. Ghi ra để **không** ai đọc bảng thành "đã phủ hết" (bài `feedback_meta_count_selfcoverage_blindspot`: bảng từng dòng thay số tổng).
|
||||
5. **Q1 của 4 thước dựa trên vắng-mặt bằng-chứng** (grep sổ ra 0 ca) — vắng-mặt ≠ chứng-minh chưa từng bắt.
|
||||
6. ⚠️ **Vá H24-2 là RỜI TẬP-ĐO.** Chuyển 3 cờ sang INFORM hạ TOTAL 46→43 — *trông y hệt tiến-bộ* mà không sửa gì thật. Vì vậy **cố ý KHÔNG tự vá**; cần owner chốt baseline mới 43 hay giữ 46 chỉ đổi nhãn (→ ô 🔒 owner-LUẬT dòng B11).
|
||||
7. **Lane này KHÔNG sửa script nào** — mọi verdict SỬA (A1 `mfe-eval` · A5 comment stale `distill-shard-probe:3` · B2 normalize wikilink · B11 H24-2) đều để **propose**, chưa áp. `scripts/governance-detectors.ps1` do lane khác giữ trong wave này (tránh 2 lane đụng 1 file).
|
||||
8. **Cây tạm fault-inject nằm ở scratchpad NGOÀI repo** ⇒ `git diff` không thấy nó; containment chứng bằng `git status` sạch sau khi hoàn nguyên `.mfe-state.json`.
|
||||
9. **Đề-xuất ngược lên hub (chờ anh duyệt, chưa gửi):** (a) đưa **dạng-5 "tự-ăn-nhân-chứng"** vào câu-3 của khung (4 dạng → 5); (b) thước đo *"bề-mặt-đo có được cập-nhật không"* — Fact-0 cho thấy việc chạy xong 3 ngày mà 2 chỗ văn-bản vẫn ghi "pending" và **0 thước phát hiện**; họ-hàng `first-run-role-has-diary` đã gửi hub tại `error-ledger.md:118`, **đang chờ hub canonical** — SE không tự chế detector riêng.
|
||||
10. **Mọi số trong report là SE tự đo trên SE hôm nay** (2026-07-25), không chép số hub — đúng dặn-dò `thư:55`.
|
||||
@ -0,0 +1,66 @@
|
||||
# adap-report — 2026-07-25-Governance-model-default-opus-5-max
|
||||
|
||||
> SE (SOLUTION_ERP) · wave adap-backlog S149 (lane L6).
|
||||
> Lớp thi hành do **em main (lead) áp trước wave**; lane này **đo lại từ đĩa** và **tự probe model**, KHÔNG chép lời khai của lead làm bằng chứng.
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-25-Governance-model-default-opus-5-max` — sha khai `59ce1d0f`.
|
||||
|
||||
🔴 **Sha này là KẾ-THỪA, KHÔNG tái-tính được tại SE.** File thư **không tồn tại trên đĩa repo**: `find broadcasts -name "2026-07-2[3-5]*" -type f` = **0 hit**, file mới nhất trong `broadcasts/inbox/ai_infra/` là `2026-07-22-ai_infra-to-se-reply-session-model-dung-ban-da-duyet.md`. Toàn bộ id + sha + cách đánh số Khoản trong report này lấy từ 3 chỗ lead đã ghi khi áp: `.claude/workflows/hmw.js:57-58` · `scripts/spawn-model-audit.ps1:96-99` · `.claude/commands/session-start.md:41`. Xem caveat (b).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** — cả 3 lớp thi hành đã nằm trên đĩa repo. Chi tiết per-lớp (bảng, KHÔNG số tổng):
|
||||
|
||||
| Lớp | Trạng thái đo được | Nấc thật của lớp |
|
||||
|---|---|---|
|
||||
| ① Ghế lead — pin model | `~/.claude/settings.json:11` = `"model": "claude-opus-5[1m]"` (file **global, ngoài git** — đúng như `CLAUDE.md` mô tả) | **executed + runtime-effective** (probe §3.1) |
|
||||
| ② Hằng-số 2-key TIER2 | `.claude/workflows/hmw.js:62` `const TIER2_EXPECTED_FULL_ID = 'claude-opus-5'` + `scripts/spawn-model-audit.ps1:100` `$OWNER_RATIFIED_TIER2_FULL_ID = 'claude-opus-5'` — **đổi cùng lượt**, đúng ràng 2-key (`spawn-model-audit.ps1:91-94`) | **executed-file** (chưa commit — caveat d) |
|
||||
| ②b Bucket legacy (Khoản 1.4) | `scripts/spawn-model-audit.ps1:101` `$TIER2_LEGACY_FULL_ID = 'claude-opus-4-8'` — hằng-số **CÓ**, người đọc **KHÔNG** | 🔴 **agreed-only / ghost-wire** — caveat (c) |
|
||||
| ③ BƯỚC 0.6 value-update | `.claude/commands/session-start.md:41` (default = Opus 5 MAX **kể cả ghế lead**; Fable/model-cao-hơn = **lệnh từng phát**; báo đầu phiên **rút gọn**) + `:42` lineage MTv3 superseded-VALUE + `:44` outage-path giữ cấu-trúc | **verified-pending runtime** — command `.md` **no hot-reload**, chỉ ăn từ phiên sau |
|
||||
|
||||
## 3. evidence (đo thật)
|
||||
|
||||
### 3.1 PROBE-EVIDENCE — alias `tier:'opus'` resolve ra gì (đo bằng chính lane này)
|
||||
|
||||
Lane L6 được spawn với `tier:'opus'` trong wave S149. Lời **tự-giới-thiệu hệ thống** của lane, verbatim:
|
||||
|
||||
> `You are powered by the model named Opus 5 (1M context). The exact model ID is claude-opus-5[1m].`
|
||||
|
||||
⇒ Tại 2026-07-25, alias `opus` **resolve ra `claude-opus-5[1m]`**. Bỏ hậu-tố cửa-sổ-ngữ-cảnh `[1m]` (đúng gotcha #37, cũng là điều `spawn-model-audit.ps1:210-212` bắt riêng) thì **model-id = `claude-opus-5` = ĐÚNG giá trị hằng-số 2-key vừa đổi ở lớp ②**. Nói cách khác: hằng-số kỳ-vọng và runtime **khớp nhau**, đo từ hai hướng độc lập.
|
||||
|
||||
Ghi chú tin-cậy: đây là **self-report của model** (nguồn = system-prompt của lane), **KHÔNG** phải metadata API. Xem caveat (a).
|
||||
|
||||
### 3.2 Dấu vết file (đo bằng git, KHÔNG bịa sha)
|
||||
|
||||
```
|
||||
git diff --stat .claude/workflows/hmw.js scripts/spawn-model-audit.ps1 .claude/commands/session-start.md
|
||||
.claude/commands/session-start.md | 5 +++--
|
||||
.claude/workflows/hmw.js | 7 ++++++-
|
||||
scripts/spawn-model-audit.ps1 | 7 ++++++-
|
||||
3 files changed, 15 insertions(+), 4 deletions(-)
|
||||
```
|
||||
|
||||
`git status --short` cho cả 3 = `M` (**đã sửa, CHƯA commit** tại thời điểm viết report). **KHÔNG cite sha nào** — 2 commit duy nhất chứa thay đổi hôm nay là `wal: flush`, mà luật đã chốt: outward **cấm cite `wal:`-sha** vì squash closeout làm chúng dangling (`adap-reports/2026-07-18-Governance-model-tier-h23-precedence-tested-update.md:26`). Sha thật sẽ là commit closeout S149; lead neo lại khi commit.
|
||||
|
||||
### 3.3 Đóng nhãn tồn đọng
|
||||
|
||||
Khoản 4.1 của thư `2026-07-19-Governance-goi-chot-owner-nam-khoan` mang nhãn **BLOCKED-by-O-5** (pin model ghế lead chờ owner). Lớp ① + ③ ở trên **đóng nhãn đó**: default đã chốt bằng văn-bản + đã pin thật trong `settings.json`.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **TAILORED — đường pin KHÔNG áp cho SE (Khoản 1.2).** SE pin **ALIAS** `opus` ở frontmatter 17/17 sub-agent (worker-tier-pin S124), **không** pin full-id. Vì vậy **spawn-site code GIỮ NGUYÊN 0 dòng đổi** — alias tự resolve sang Opus 5 (chính §3.1 chứng). Căn cứ giữ alias đã ghi từ trước: alias = dạng **đã-test n-nhỏ**, full-id = **n=0 chưa ai thử** (`adap-reports/2026-07-18-…-h23-precedence-tested-update.md:20`, `hmw.js:56` "CHƯA THỬ fix#8a"). Đây là **lệch có chủ đích, khai thẳng**, không phải behind.
|
||||
- **TAILORED — 2-key thay vì 1 chỗ.** SE cố ý khai giá trị kỳ-vọng ở **hai** file để một lần sửa đơn phương bị FLAG (`spawn-model-audit.ps1:91-94`). Áp broadcast vì thế = đổi **đồng thời** 2 file, đã làm đúng.
|
||||
- **TAILORED — báo phiên rút gọn (Khoản 5).** Lead đúng default ⇒ **im**; chỉ nêu khi owner chủ động đổi hoặc model không resolve (`session-start.md:41`).
|
||||
- **GIỮ, không skip — outage-path.** `session-start.md:44` vẫn chỉ về `claude-opus-4-8[1m]` khi Opus 5 không resolve + **báo hub ngay**. Cấu-trúc H5 giữ nguyên, chỉ đổi VALUE. (Chính đường này làm caveat (c) thành rủi ro THẬT chứ không giả định.)
|
||||
- **SKIP = không có.** Không khoản nào bị xếp n-a trong bản này.
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- **(a) Probe là self-report, không phải metadata API.** §3.1 đọc lời tự-giới-thiệu của lane, không đọc trường `model` trong transcript. Đối chứng độc lập = `scripts/spawn-model-audit.ps1` (Section B đọc `"message":{"model":"…"}` trong `agent-*.jsonl`) — **do lead chạy SAU wave**, chưa có kết quả tại thời điểm viết. Report này **KHÔNG** claim đã có đối chứng đó.
|
||||
- **(b) Thư gốc VẮNG trên đĩa ⇒ không stamp-verify được.** `broadcasts/` không có file nào ngày 07-23→07-25 (đo hôm nay). Hệ quả: (i) sha `59ce1d0f` không tái-tính được ở SE — trái với phản-xạ "hash-verify TRƯỚC khi áp"; (ii) cách đánh số Khoản (1.2 / 1.4 / 3 / 5) trong report này **kế thừa từ chú-thích của lead**, lane không đối chiếu được với bản gốc; (iii) `/adap-audit` phía hub sẽ không tìm thấy bản sao thư trong repo SE. **Đề nghị lead:** copy thư vào `broadcasts/inbox/ai_infra/` + chạy stamp-verify, rồi sửa mục 1 của report này (idempotent).
|
||||
- **(c) 🔴 GHOST-WIRE ĐO ĐƯỢC — Khoản 1.4 mới ở nấc KHAI, chưa ở nấc CHẠY.** `grep -c "TIER2_LEGACY_FULL_ID" scripts/spawn-model-audit.ps1` = **1** — đúng một dòng, chính là dòng định-nghĩa `:101`; **0 nơi đọc**. Trong khi đó bộ phân-loại `:299-320` vẫn xử theo family: record resolve `claude-opus-4-8` **nằm trong** `$TIER2_FAMILY_PREFIX` (`claude-opus-`) và **khác** `$expected` (`claude-opus-5`) ⇒ rơi vào nhánh `:309-315` = `Write-Flag 'HIGH'` *alias-drift*, **cộng vào TOTAL**. Tức là hành-vi hiện tại **ngược** với ý Khoản 1.4 ("legacy bucket, đếm riêng, KHÔNG cờ drift") mà chú-thích `:97-98` tuyên bố. Hai điều làm nhẹ, phải nói cho đủ: (i) Section B **chỉ soi phiên HIỆN TẠI** (`:258`), nên record cũ không bị lôi ra; (ii) vì vậy cờ giả chỉ nổ khi **một lane trong phiên đang chạy** resolve `claude-opus-4-8` — mà đó **chính là đường outage** `session-start.md:44` bảo dùng ⇒ **không phải giả-định**. **Lane L6 KHÔNG tự sửa** (`spawn-model-audit.ps1` không thuộc tập file được giao); PROPOSE-diff để trong `sub-apply-L6.md` §4, lead áp. Lớp lỗi = ghost-wire dạng "config-key defined-but-unread" (S100).
|
||||
- **(d) Chưa commit tại thời điểm viết.** 3 file ở trạng thái ` M`. Nấc `executed` ở đây = "floor đã nằm trong repo (working tree)", đúng nghĩa §C5; nếu wave S149 vì lý do gì mà không commit, nấc này **tụt**, không giữ.
|
||||
- **(e) Lớp ③ chưa thể runtime-proven trong phiên này.** `session-start.md` là command `.md` — no hot-reload; BƯỚC 0.6 bản mới chỉ ăn từ phiên sau. Bất kỳ ai đọc report này **đừng** hiểu "default Opus 5 kể cả lead" đã được nghi-thức đầu phiên thực thi — nó mới ở dạng văn bản.
|
||||
- **(f) 3 file lớp thi hành do LEAD sửa, không phải lane này.** Lane L6 chỉ **đọc lại từ đĩa** và probe. Lane này chỉ tự tay chạm đúng 3 file khác trong wave: `scripts/governance-detectors.ps1` (C-b), report này, và 1 dòng enrich ở report h10-S72.
|
||||
@ -96,11 +96,11 @@ Detect by **action-signature** (NOT "AI tự phán có vi phạm không"). Scan
|
||||
### E-013 — AS-17 sự-cố KHÔNG vào sổ bền + phép trích-xuất hỏng đọc thành "sạch" (S146, cụm 2 lỗi cùng lớp *"vắng mặt trông giống ổn"*)
|
||||
- **rule (AS-17 NEW):** (a) sự-cố chỉ có vết trong **run-folder** = **CHƯA vào sổ**; phải đổ vào ≥1 **sổ bền** (error-ledger / STATUS / HANDOFF / auto-memory). (b) phép trích-xuất trả **RỖNG** phải phân-biệt *"không có gì"* ⟂ *"phép đo hỏng"* — **CẤM đọc rỗng thành sạch**.
|
||||
- **what (a):** garble `#53` THẬT trên `harness-audit` @S144 (`trio-synthesis.md:20-21`) + lead thu-hẹp tập đối-chứng mà im-lặng (*"đối chứng 4 mốc: 0 LỆCH"* trong khi khối liệt **5**, mốc-5 chính là mốc lệch) ⇒ **0 hit** ở cả 5 sổ bền; sổ đếm `feedback_agent_return_garble_recover.md` dừng ở `×25 qua S143`. **S146 thêm 3 garble nữa** (lead-view · lead-omission · h24-audit — **3/3 vai lane-H24**).
|
||||
- **what (b):** lead vá 6 site consent theo danh-sách H24 liệt, **vá 5 sót 1** (`h24-audit.md:25` — câu tự mâu-thuẫn *"KHÔNG consent-gate … khi OVERDUE + anh consent"*). **Cơ-chế tái-dựng được:** lệnh trích `grep -oE '.{50}consent.{80}'` đòi **đúng 50 ký-tự TRƯỚC** match; trên dòng đó `consent` ở ~offset 30 ⇒ **0 match ⇒ output RỖNG** ⇒ lead đọc thành *"dòng này không có gì"*. Đúng phải là `.{0,60}`.
|
||||
- **what (b):** lead vá 6 site consent theo danh-sách H24 liệt, **vá 5 sót 1** (`ring2-audit.md:25` (tên cũ h24-audit.md — rename @S149) — câu tự mâu-thuẫn *"KHÔNG consent-gate … khi OVERDUE + anh consent"*). **Cơ-chế tái-dựng được:** lệnh trích `grep -oE '.{50}consent.{80}'` đòi **đúng 50 ký-tự TRƯỚC** match; trên dòng đó `consent` ở ~offset 30 ⇒ **0 match ⇒ output RỖNG** ⇒ lead đọc thành *"dòng này không có gì"*. Đúng phải là `.{0,60}`.
|
||||
- **5-why (b):** (1) vá theo danh-sách người khác liệt → (2) không tự grep lại sau khi vá → (3) dùng cửa-sổ ngữ-cảnh **cố-định** thay vì **0..n** → (4) rỗng **trông y hệt** sạch (khác `grep -c` trả `0` — một con SỐ, nhìn là biết đang đếm) → (5) `h24-audit` bắt được vì nó **đọc dòng đó trong chính persona nạp vào mình** + đối-chứng đĩa = 2 nguồn.
|
||||
- **fix:** vá `:25`; re-grep toàn file = 0; ghi cụm sự-cố vào chính entry này.
|
||||
- **prevention/guard:** 🔴 **Luật: vá xong PHẢI tự grep lại bằng lệnh KHÁC lệnh đã dùng để tìm** (khác mẫu, khác cửa-sổ). Họ hàng đã có trong sổ: `grep -c` (dòng) vs `grep -o|wc -l` (occurrence) — nay thêm **cửa-sổ-ngữ-cảnh-cố-định**.
|
||||
- **tags:** [incident-unrecorded + extraction-silent-empty / lead / error-ledger · h24-audit.md:25 · #53 ×3 S146]
|
||||
- **tags:** [incident-unrecorded + extraction-silent-empty / lead / error-ledger · ring2-audit.md:25 · #53 ×3 S146]
|
||||
|
||||
### E-012 — AS-16 bằng-chứng-tự-huỷ-sau-squash: 7 adap-report + 1 email hub neo vào sha `wal:` chưa-push, closeout-squash phá đúng sha đó (S143, reviewer-gate độc-lập bắt SAU khi thư đã gửi)
|
||||
- **rule (AS-16 NEW):** artifact OUTWARD phải cite **commit SẼ SỐNG sau squash**, và phải qua `git status --porcelain` **TRƯỚC** khi stamp. Vi-phạm nền: `/adap-report` §3 *"evidence: commit-sha · file path · byte/dòng (đo THẬT)"* — đo thật nhưng **neo vào con-trỏ sắp chết**; và `/send-email` 6c selftest-stamp chỉ kiểm **hash khớp thân-thư**, KHÔNG kiểm **thân-thư có còn đúng sự-thật** lúc phát.
|
||||
|
||||
@ -96,7 +96,7 @@ Rule gitignore neo tại **`.gitignore:92`** (`.claude/fable-real-mode.on`), đ
|
||||
| 8 | **spec** | string | `hmw.js:16,86,126` | acceptance chung mọi lane |
|
||||
| 9 | **run** (alias `wave`) | `{name,dir} \| null` | `hmw.js:19,92-93` | `null`=return-delta-only (mặc-định) · set=RUN-TRACE (sub ghi `sub-<role>-<i>.md`) |
|
||||
| 10 | **SCHEMA.memoryDelta** | `{task,verdict,learned,surprise}` 4-field required | `hmw.js:54-64` (required `:57`) | **RETURN-only**; agent KHÔNG tự ghi ký-ức → em-main harvest @P3 |
|
||||
| 11 | **VALID_ROLES** | `const string[]` (ĐỦ roster — **KHÔNG chép độ-dài vào đây**, B1) | `hmw.js:22-36` | 8 core + `database-agent`(S57) + `office-document`(S107) + `tooling-auditor`/`harvest-curator`(S110 anh-directed) + **`lead-view-auditor`/`lead-omission-auditor`(S121 W2, H24)** |
|
||||
| 11 | **VALID_ROLES** | `const string[]` (ĐỦ roster — **KHÔNG chép độ-dài vào đây**, B1) | `hmw.js:22-36` | 8 core + `database-agent`(S57) + `office-document`(S107) + `tooling-auditor`/`harvest-curator`(S110 anh-directed) + **`lead-stale-auditor`/`lead-gap-auditor`(S121 W2, H24)** |
|
||||
| 12 | **engine-label** | string (em-main stamp — KHÔNG có field trong SCHEMA) | `§K.C GAP-2` `harness-11:329` | em-main @P3 gắn nhãn engine đã dùng (xem 2.4) |
|
||||
|
||||
**resolveModel logic thật (`hmw.js:37-45`) — trích:**
|
||||
@ -500,7 +500,7 @@ args = {
|
||||
| 🧊 `ANH_CONSENT_REAL` (H19 retired) | bool | anh đã gõ `/fable-real` trong transcript phiên (lệnh đó Write marker) — K.D point-2 (`harness-11-engine.md:332`) |
|
||||
| 🧊 `POSITION` (H19 retired — thay bằng `INVOCATION.vai`) | enum `{reviewer, investigator-codebase}` | §K.A (`harness-11-engine.md:320`) — "CHỈ 2 vai" = ngữ-cảnh H19; H21: vai anh gán ∈ roster |
|
||||
| **`INVOCATION`** (H21) | struct `{lệnh, vai, đề-bài}` | parse từ lượt lệnh anh gõ (`/fable-real`\|`/fable-clone <vai> <đề-bài>`) — KHÔNG file-state, 0 persist (§2.1-bis) |
|
||||
| **`ROLE_VALID`** (H21) | bool | `INVOCATION.vai ∈ roster`? (investigator-codebase · investigator-api · implementer-backend · implementer-frontend · frontend-designer · database-agent · office-document · test-specialist · reviewer · cicd-monitor · tooling-auditor · harvest-curator · **lead-view-auditor · lead-omission-auditor**) — thiếu/lạ → hỏi anh 1 dòng, KHÔNG tự chọn vai. 🔴 Danh-sách này là **BẢN SAO** — nguồn thật = `hmw.js` VALID_ROLES `:22-36`; lệch ⇒ tin `hmw.js` |
|
||||
| **`ROLE_VALID`** (H21) | bool | `INVOCATION.vai ∈ roster`? (investigator-codebase · investigator-api · implementer-backend · implementer-frontend · frontend-designer · database-agent · office-document · test-specialist · reviewer · cicd-monitor · tooling-auditor · harvest-curator · **lead-stale-auditor · lead-gap-auditor**) — thiếu/lạ → hỏi anh 1 dòng, KHÔNG tự chọn vai. 🔴 Danh-sách này là **BẢN SAO** — nguồn thật = `hmw.js` VALID_ROLES `:22-36`; lệch ⇒ tin `hmw.js` |
|
||||
| **`SPEC_PATH`** (H21) | path | spec-file 3-mục [đề-bài · cách-impl · checklist vai+deliverable+acceptance] LEAD ghi SAU verify (engine propose → lead verify+ghi, engine KHÔNG tự ghi) |
|
||||
|
||||
**Checklist (tick từng mục · evidence bên phải):**
|
||||
|
||||
@ -316,6 +316,8 @@ SE đã có RAG golden-set harness (KHÔNG phải gap): `eval/golden-set-solutio
|
||||
|
||||
⚠️ **H21 supersede-partial (S110, 2026-07-11, broadcast `2026-07-10-Governance-harness-21`):** marker-toggle + 2-vai-verdict-mặc-định (K.B/K.A dưới) → **per-invocation owner-gõ-kèm-vai** (§K.E). Định-nghĩa 2 engine + ký-ức-đổ-về-đúng-vai (K.C) + chất-lượng GIỮ NGUYÊN từ H19 — KHÔNG re-adopt.
|
||||
|
||||
> 🔒 **Posture trục-SÂU (O-2 — OWNER-DELEGATED → lead-decided @S149, uỷ-quyền "Trả lời 4 câu"; spec `runs/2026-07-24-S149-owner-gated-3-khoan/`): posture-A — KHÔNG DỰNG trục sâu riêng cho engine-đắt; "trần tổng-lượt" không có trục để assert.** Căn-cứ: depth-cost đo mode-thật thắng ~1/10 giá. Anh veto = 1 edit (HANDOFF #25). *(K2 land @S150.)*
|
||||
|
||||
> **Adopt S101 (2026-07-03), anh-directed** (`/check-email AI_INFRA` + `/adap-apply` → "Formal adopt + RC-stamp" + "full 2-workflow"). AI_INFRA broadcast `2026-07-03-Agent-harness-19-fable-clone` (content_sha256 re-compute **MATCH ✓** `6909299a…`; +3 broadcast model-tier cùng đợt [`fable-opus` `ee00d253` · `checklist` `a7ff304b` · `v2-pin-simple` `eed277f7`] đều MATCH + đều có `reviewer_gate: PASS` → format-regression H18 [thiếu field] đã fix). Áp qua 2-workflow Harness-9: **WF1 investigate `wf_5f308fd8-744`** (3 lane wiring+mapping+adversarial, SOUND_WITH_CONCERNS — bắt 3 floor-fidelity gap; resume-after-interruption cached) + **WF2 review `wf_ed5b972f-a4d`** (→ **PASS_WITH_CONCERNS** 0-BLOCKING: Lane-A mechanism PWC [1 CONCERN marker write-only no-reader → **FIXED S101** thêm session-start BƯỚC 0.5b reader] · Lane-B gov-record PASS [RC-mark 3-floor verbatim + vacuous-honest, 7 refutation fail] · Lane-C adap-honesty PASS [4 hash MATCH indep + 12/12 + no-overclaim]. ⚠️ **GAP-3 AS-10 fired LIVE** — lanes tự-ghi reviewer-memory dù RETURN-only-intent; harness-sanctioned "intentional" → KEPT + verified → dogfood-validate §K.C "GAP-3 = convention-KHÔNG-mechanism"). **Additive** — KHÔNG thay H8 all-inherit / bracket / promote; chỉ THÊM ensemble + toggle cho 2 vị-trí phán-quyết.
|
||||
|
||||
**K.A — Ánh-xạ 2 vị-trí phán-quyết vào roster SE (🔴 §7 sàn — WF1-confirmed best-fit, no superior alt):**
|
||||
@ -342,7 +344,7 @@ SE đã có RAG golden-set harness (KHÔNG phải gap): `eval/golden-set-solutio
|
||||
| `/fable-real <vai> <đề-bài>` | **lệnh-A** single top-model | 1 vai anh gán chạy 1 lần top-model THẬT (deep pass; Fable up → single-Fable · outage → single-Opus-1M/run) |
|
||||
| `/fable-clone <vai> <đề-bài>` | **lệnh-B** ensemble tier-2 | N lane đa-lăng-kính CÙNG 1 vai (`hmw.js parallel`) + em-main refute+synthesize |
|
||||
|
||||
- **(i) Vai owner-gán per-invocation:** `<vai>` ∈ **roster** (`investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `frontend-designer` · `database-agent` · `office-document` · `test-specialist` · `reviewer` · `cicd-monitor` · `tooling-auditor` · `harvest-curator` · **`lead-view-auditor` · `lead-omission-auditor`** ← +S121 W2, H24 · **`harness-eval` · `harness-refine` · `harness-audit`** ← +S141, bộ-ba đồng-kiểm memory · **`tooling-harvest-audit` · `h24-audit` · `sleep-audit`** ← +S145, round-KIỂM ×3 [tooling-harvest · soi-lead · nén-ngủ]). 🔴 Danh-sách này là **BẢN SAO** — nguồn thật = `hmw.js` VALID_ROLES (khối hằng-số `VALID_ROLES`, tra bằng tên **KHÔNG bằng số dòng** — [n6] line-range cũ `:22-36` đã lệch khi enum dài thêm); lệch ⇒ **tin `hmw.js`**. Số vai canonical → [`docs/STATUS.md`](../STATUS.md) §Sub-agents (B1). Thiếu/sai vai → **em-main hỏi anh 1 dòng**, KHÔNG tự đoán. Hiệu-lực CHỈ lượt đó (không marker, không sticky-mode). ✅ **VALID_ROLES = ĐỦ roster:** 2 monitor H1/H2 bổ sung S110 anh-directed (10→12) → +2 monitor H24 S121 W2 (12→14) → **+3 trio-memory S141 (14→17)** → **+3 round-KIỂM `tooling-harvest-audit`/`h24-audit`/`sleep-audit` S145 (17→20)** — lệnh-B trọn roster. 🔴 Số canonical → [`docs/STATUS.md`](../STATUS.md) §Sub-agents, **KHÔNG chép số ở đây**. *(🧊 limitation cũ "2 monitor ∉ 10-vai → fail-soft default-subagent" + H6-design "monitor ngoài workflow" superseded điểm này; monitor vẫn INFORM-only, lane RETURN-only.)*
|
||||
- **(i) Vai owner-gán per-invocation:** `<vai>` ∈ **roster** (`investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `frontend-designer` · `database-agent` · `office-document` · `test-specialist` · `reviewer` · `cicd-monitor` · `tooling-auditor` · `harvest-curator` · **`lead-stale-auditor` · `lead-gap-auditor`** ← +S121 W2, H24 · **`harness-eval` · `harness-refine` · `harness-audit`** ← +S141, bộ-ba đồng-kiểm memory · **`ring1-audit` · `ring2-audit` · `ring4-audit`** ← +S145, round-KIỂM ×3 [tooling-harvest · soi-lead · nén-ngủ]). 🔴 Danh-sách này là **BẢN SAO** — nguồn thật = `hmw.js` VALID_ROLES (khối hằng-số `VALID_ROLES`, tra bằng tên **KHÔNG bằng số dòng** — [n6] line-range cũ `:22-36` đã lệch khi enum dài thêm); lệch ⇒ **tin `hmw.js`**. Số vai canonical → [`docs/STATUS.md`](../STATUS.md) §Sub-agents (B1). Thiếu/sai vai → **em-main hỏi anh 1 dòng**, KHÔNG tự đoán. Hiệu-lực CHỈ lượt đó (không marker, không sticky-mode). ✅ **VALID_ROLES = ĐỦ roster:** 2 monitor H1/H2 bổ sung S110 anh-directed (10→12) → +2 monitor H24 S121 W2 (12→14) → **+3 trio-memory S141 (14→17)** → **+3 round-KIỂM `ring1-audit`/`ring2-audit`/`ring4-audit` S145 (17→20)** — lệnh-B trọn roster. 🔴 Số canonical → [`docs/STATUS.md`](../STATUS.md) §Sub-agents, **KHÔNG chép số ở đây**. *(🧊 limitation cũ "2 monitor ∉ 10-vai → fail-soft default-subagent" + H6-design "monitor ngoài workflow" superseded điểm này; monitor vẫn INFORM-only, lane RETURN-only.)*
|
||||
- **(ii) Spec-file pipeline (mỗi run engine-đắt PHẢI sinh):** `.claude/workflows/runs/<run-id>/spec-<tên-tính-năng>-<dd-mm-yyyy>.md` — 3-heading CỐ-ĐỊNH: **[1] Tính-năng/đề-bài** (1–3 câu) · **[2] Cách implement** (bước + quyết-định + ràng-buộc + đường-chết) · **[3] Checklist** (vai + deliverable + acceptance đo được). Luồng: engine **propose-only** → lead **verify** → **LEAD ghi** (single-writer) → worker **Opus MAX** thực-thi THEO spec bơm qua `args` (`hmw.js` KHÔNG đọc file spec).
|
||||
- **(iii) 4 ghi-chú trung-thực (🔴 phải hiện-diện — nấc owner-gated, KHÔNG code-enforced §X8):**
|
||||
- **(a)** owner-gated tầng LỆNH + kỷ-luật lead cho việc CHỌN/ELEVATE vai, **KHÔNG code-enforced** — đường code `tier:'fable'` vẫn tồn-tại, hmw.js KHÔNG ép vai-nào-được-elevate. *(REC-3 2026-07-13: hmw.js GIỜ code-enforce vai-INVALID — typo ∉ VALID_ROLES → STOP-HARD throw; đó là guard typo, KHÁC gate vai-elevation vẫn là discipline.)* Bảo-đảm elevation = MỌI đường truy về lượt owner-gõ (kỷ-luật), không phải guard chặn.
|
||||
|
||||
Reference in New Issue
Block a user