[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,9 @@
|
||||
# backlog-synthesis — đóng run (dạng-1)
|
||||
|
||||
Pipeline anh giao chạy TRỌN: check-email (se=0) → thư GẤP opus-5 lead áp ngay → invest-Fable `wf_c22548b2` (A-12·B-6·C-1·D-3 — "nợ REPORT không phải nợ ADOPT") → spec → **wave 6-lane Opus-5-MAX `wf_0a4295f4`** (23/23 report + C12 + eval-của-eval bảng 🔒) → gate `wf_f4e4c006` (#53 kép → em-main-solo re-do cơ-khí, GO) → email hub `3a05a6cc8509`.
|
||||
|
||||
**Probe Opus-5 khép:** alias → `claude-opus-5[1m]` 2-nguồn-khớp; legacy-bucket wire (13→0). **Backlog adap = 0 pending** (23/23 có report; dedup-key nguyên vẹn cho /adap-audit).
|
||||
|
||||
**Data-point #53 mới:** "skeleton-có-ruột-rỗng" (reviewer-lane tạo khung 274B, 35 tool-use, 0 append, return fail, resume fail) — ép-ghi-khung-rỗng tạo VẬT không bảo đảm RUỘT; recovery = path-4 em-main-solo.
|
||||
|
||||
**Nợ khai:** thẩm-SÂU per-pointer 6 ca (gate chỉ re-do cơ-khí) · 2 cột thẩm-quyền eval 🔒 + ngưỡng-rẻ 4.3 🔒 + dải-JUMP 🔒 + trio #12 = chờ anh · G-011 token-fork trình hub.
|
||||
18
.claude/workflows/runs/2026-07-25-S149-adap-backlog/run.md
Normal file
18
.claude/workflows/runs/2026-07-25-S149-adap-backlog/run.md
Normal file
@ -0,0 +1,18 @@
|
||||
# run — S149(+1 ngày) adap-backlog: đọc kỹ 23 pending → spec → Opus-5-MAX wave apply
|
||||
|
||||
**Lệnh anh (verbatim):** */adap-apply AI_INFRA và /check-email AI_INFRA. đọc kỹ và sau đó cho /fable-real invest -> Giao cho đám Opus 5 MAX apply nhé*
|
||||
|
||||
## Trạng thái vào run
|
||||
- `/check-email`: **se=0** thư directed mới (22/22 đã trong `_index.md`).
|
||||
- Pending theo dedup-key (`adap-reports/<id>.md`): **23** — trong đó `2026-07-25-Governance-model-default-opus-5-max` (thư GẤP sáng nay) **lead đã áp lớp thi hành ngay**: settings đã `claude-opus-5[1m]` sẵn · `TIER2_EXPECTED_FULL_ID`+`$OWNER_RATIFIED_TIER2_FULL_ID` → `claude-opus-5` (2-key cùng lượt, +`$TIER2_LEGACY_FULL_ID` bucket) · BƯỚC 0.6 value-update (default Opus 5 MAX mọi vị trí kể cả lead; Fable per-lệnh; báo-đầu-phiên rút gọn). **Còn thiếu: probe-sau-spawn + adap-report** → wave này chính là probe.
|
||||
- 22 còn lại: 3 nghi name-drift (harness-14-adopt · 15-v2 · 16-mfe) + cụm checklist-companion 06-18→06-29 + cụm 07-18→07-21 (nhiều khoản đã de-facto áp @S149 arc hội-tụ).
|
||||
|
||||
## Stages
|
||||
- [ ] W1 `/fable-real invest` (fable) — đọc kỹ 22 thư, phân loại 4 nhóm, propose spec
|
||||
- [ ] spec (lead verify + ghi)
|
||||
- [ ] W2 wave Opus-5-MAX apply (tier:'opus' — alias tự resolve Opus 5 per Khoản 1.2/2) + viết 23 adap-report
|
||||
- [ ] W3 review workflow (mandate Harness-9 2-workflow) + spawn-model-audit đọc resolved làm probe-evidence
|
||||
- [ ] email report hub + đóng run
|
||||
|
||||
## taskList snapshot
|
||||
Phân loại 22 pending: {A đã-applied-dưới-tên-khác (evidence file report cũ) · B đã-de-facto-applied @S149 (evidence run/commit hôm nay — CHỈ THIẾU report) · C BINDING còn việc thật · D INFORM/n-a}. Spec cho wave: nhóm A/B/D = viết report đúng nấc + evidence; nhóm C = áp thật rồi report.
|
||||
@ -0,0 +1,20 @@
|
||||
# spec — adap-backlog 23 pending → wave Opus-5-MAX (6 lane)
|
||||
|
||||
> Nấc H21: invest-Fable propose (`sub-invest-backlog.md` — bảng 22 dòng + spec chi tiết ở §②) → **lead verify 3/3 claim** (reconciliation-S82 tồn tại `H15-v2:45` · 0 artifact C10 trong S144 · masthead 0 rule-file) → **spec này** → wave apply. **Lệch giữa spec này và sub-MD: spec THẮNG.**
|
||||
|
||||
## ① Đề-bài
|
||||
23 broadcast pending không có `adap-reports/<id>.md`. Phân loại đã verify: **A-12** đã-áp-tên-khác (cụm 06-18→06-29 — reconciliation ĐÃ văn-bản-hoá trong report cũ, chỉ chưa tách file per-id cho `/adap-audit` parse) · **B-6** de-facto-áp @S144/S149 (C14-disposition + arc hội-tụ) · **C-1** việc thật duy nhất = `eval-quality-audit` (07-21 — SE tự xếp C10 cho trio mà artifact VẮNG) · **D-3** tự-khai-không-floor · **#23** model-opus-5 (lead đã áp lớp thi hành — cần report + probe).
|
||||
|
||||
## ② Cách làm — 6 lane, mỗi lane đọc `sub-invest-backlog.md` §② phần của mình
|
||||
- **L1/L2:** mỗi lane 6 report nhóm-A — nấc `executed` pointer-dedup về report gốc (file:dòng), caveat chống-double-count; riêng `harness-all-update-v-2-0` = **n-a** (PLAN-announce). CẤM chép nội dung dài — report = con trỏ + nấc + honest-caveat.
|
||||
- **L3:** 4 report-B (spawn-label · depth-axis · goi-chot · dong-du-vong) — **bảng per-khoản theo C14, CẤM số-tổng** (bài meta-count); evidence = commit/run THẬT (lane tự `git log` lấy sha, CẤM bịa); phần dở = `verified-pending`/DEFER ghi rõ (bookend-lượt-đầu · M8 · dải-JUMP 🔒 · 4.3 ngưỡng-rẻ 🔒). + **C-c** label-falsifier propose + **C-e** masthead codify propose (PROPOSE-diff trong sub-MD lane, KHÔNG tự sửa canonical).
|
||||
- **L4:** 2 report-B (3-khoan · auto-toan-vong) + 3 report-D (cost-lens · depth-cost · hub-tu-danh-gia — n-a + trích dòng tự-khai) + **C-d** bảng cost 2-đơn-vị (đo từ run-folder thật) + **C-f** verify K2 (grep `BLOCKED-by-O-2` = 0).
|
||||
- **L5:** **C-a eval-của-eval** — dựng bảng verdict {GIỮ/SỬA/BỎ/THÊM} cho ~10 thước đo hiện có (detector C1-C11 + probe + MFE + sentinel), 4-câu per thước; **2 cột thẩm-quyền ĐỂ TRỐNG 🔒 owner**; ≥1 phép fault-inject `-RepoRoot` chứng 1 thước có RĂNG; 🔴 TRƯỚC HẾT spawn-verify trạng thái trio (2 nguồn đang LỆCH: folder S144-trio-first-run tồn tại ⟂ budget.json ghi pending) — khai đúng cái đo được. + report `eval-quality-audit` nấc theo kết quả thật.
|
||||
- **L6:** report **#23** model-opus-5 (nấc executed + probe-evidence: chính lane này chạy `tier:'opus'` — ghi model tự-report vào sub-MD; lead sẽ chạy `spawn-model-audit.ps1` đối chứng) + **C-b** detector engine-bypass (edit `scripts/governance-detectors.ps1` — lane DUY NHẤT đụng file này, khuôn C9/C10/C11 INFORM-only + fault-inject 2 chiều + update nhãn INFORM-ONLY) + enrich report h10-S72 (idempotent).
|
||||
|
||||
## ③ RÀNG + acceptance
|
||||
- Lane CHỈ Write: `docs/governance/adap-reports/<id>.md` + run-folder sub-MD (+ L6 detector). **Diff canonical khác = PROPOSE trong sub-MD** → lead áp.
|
||||
- Format-LOCK 5 trường (`adap-report.md:14-19`) + honest-caveat bắt buộc + nấc G-011 đúng — **CẤM nấc ảo**.
|
||||
- 🔒 owner-gated (trình anh, CẤM tự quyết): cột thẩm-quyền eval · 4.3 ngưỡng-rẻ · dải-JUMP frozen · trio consent #12.
|
||||
- Acceptance tổng: 23 file report mới parse được + `for id in pending: test -f report` = 23/23 · detector TOTAL không tăng (trừ C-b INFORM riêng) · git status chỉ đúng tập file.
|
||||
- Sau wave (lead): `spawn-model-audit.ps1` probe-evidence → review-workflow (mandate H9) → email hub + `_index` báo-nấc.
|
||||
@ -0,0 +1,102 @@
|
||||
# sub-apply-L1 — S149 adap-backlog wave, lane L1 (6 report nhóm-A)
|
||||
|
||||
> Agent: implementer L1 · model `opus` effort MAX (alias-probe #23) · Ngày: 2026-07-25
|
||||
> Đề-bài: viết 6 adap-report nhóm-A dạng **pointer-dedup** (trỏ report gốc file:dòng) vào `docs/governance/adap-reports/<id>.md`.
|
||||
> Con-trỏ: `spec-adap-backlog-25-07-2026.md` (THẮNG) + `sub-invest-backlog.md` §① rows 1/2/3/4/6/8 + §② Mục 2 :52-53.
|
||||
> Format-LOCK 5 trường đọc từ `.claude/commands/adap-report.md:14-19` (+ no-fake §C5 :28-32 · corruption-clean :43 · 1-file/broadcast :14).
|
||||
|
||||
## ⓪ Khung + ràng (ghi TRƯỚC khi chạm file — lượt 1)
|
||||
|
||||
- CHỈ Write: 6 file `docs/governance/adap-reports/<id>.md` + file này. KHÔNG chạm canonical/agent-memory/sub-MD lane khác.
|
||||
- Mỗi report = **con trỏ + nấc + honest-caveat**. CẤM chép nội dung dài từ report gốc.
|
||||
- **CẤM trỏ mù**: mở report gốc đối chiếu THẬT (đọc dòng cite) trước khi ghi file:dòng.
|
||||
- Caveat bắt buộc mọi file: pointer-dedup, KHÔNG việc mới ⇒ chống double-count khi hub `/adap-audit`.
|
||||
|
||||
### Lệch lane-assignment (khai trung thực) — ĐÃ ĐÓNG
|
||||
- `sub-invest-backlog.md:62` (propose) xếp L1 = {h11 · 9-10-v2 · h10-detector · all · **all-update-v-2-0(n-a)** · h14}.
|
||||
- Brief lead giao L1 = {h11 · 9-10-v2 · h10-detector · all · h14 · **h14-adopt**} (đổi slot 5: `all-update-v-2-0` → lane khác).
|
||||
- Xử: theo **brief lead**. Coverage-check chạy cuối lượt: `docs/governance/adap-reports/2026-06-19-Governance-harness-all-update-v-2-0.md` **TỒN TẠI** (42 dòng, `:12` nấc **n-a**, lane khác viết) ⇒ **KHÔNG lọt**, flag đóng.
|
||||
|
||||
### Lệch tên sub-MD (khai trung thực)
|
||||
- Brief LƯỢT-1-2 chỉ-định `sub-apply-L1.md`; footer RUN-TRACE generic ghi `sub-task-0.md`.
|
||||
- Xử: theo brief (chỉ-định-mới thắng footer-cũ) → file này = `sub-apply-L1.md`, khai trong return.
|
||||
|
||||
## ① Đối chiếu report gốc (đọc THẬT — chống trỏ mù)
|
||||
|
||||
4 report gốc mở đọc đầy-đủ trước khi trỏ; 6 broadcast gốc mở đọc frontmatter. Số đo bằng `git log -1 --` + `wc -l` (2026-07-25):
|
||||
|
||||
| Report gốc | commit | dòng | phục vụ id |
|
||||
|---|---|---|---|
|
||||
| `2026-06-18-Governance-harness-11.md` | `ae957c4` (06-18) | 52 | #1 |
|
||||
| `2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` | `18fced6` (06-18) | 51 | #2, #3 |
|
||||
| `2026-06-19-Governance-harness-all-update.md` | `33d519e` (06-20) | 47 | #4 |
|
||||
| `2026-06-20-Governance-harness-14.md` | `33d519e` (06-20) | 45 | #5, #6 |
|
||||
|
||||
**Dòng-neo đã xác-minh từng cái** (không có cite nào chưa mở):
|
||||
- #1 → `harness-11.md:4` (source-block ghi tên checklist) · `:8` stage CHECKLIST-VERIFY `wf_39cd4cbe-f07` · `:45` kết-quả "B 4/4 + C 5/5 + D 11/11" · `:11` VERDICT.
|
||||
- #2/#3 → `…checklist-v2.md:5` **"broadcasts adopted"** nêu ĐÍCH DANH cả 2 id · `:7` 3 run-id · `:8` reviewer_gate PASS sau-fix · `:19` per-PART · `:26` gap-row "2 broadcast 06-18 unadopted → adopted" · `:46` caveat TAILORED-OUT.
|
||||
- #4 → `harness-all-update.md:4` cite checklist + sha `7e6e0555…` · `:9` 3 run-id · `:25-26` completeness-gate ĐẠT · `:12` VERDICT.
|
||||
- #5/#6 → `harness-14.md:4` cite CẢ checklist (`e96930da…`) LẪN adopt-broadcast (`8da7e8b1…`) · `:5` plan-announce = SKIP n-a · `:9` run-id · `:26` 6/6 floor MET.
|
||||
- Reconciliation S82 (dùng chung): `2026-06-21-Governance-harness-15-v2-hot-feed-update.md:45` heading · `:47` "7 còn lại = đã-phủ (verify-not-redo)" · **`:48` phủ CẢ 6 id của lane này** — pointer-dedup không phải phát-minh hôm nay, chỉ là tách file cho parser.
|
||||
|
||||
**Sha đối chứng cite-vs-hub-declared (đọc hub outbox 2026-07-25):**
|
||||
|
||||
| id | declared ở hub | report gốc cite | verdict |
|
||||
|---|---|---|---|
|
||||
| checklist-harness-11 | `362f98ba…` (:12) | — (không cite) | sha BỔ SUNG hôm nay |
|
||||
| checklist-harness-9-10-v2 | `cba8f63f…` (:15) | — (chỉ cite tên id) | sha BỔ SUNG hôm nay |
|
||||
| h10-flat-detector-refine | `4fda958f…` (:13) | — (chỉ cite tên id) | sha BỔ SUNG hôm nay |
|
||||
| checklist-harness-all | `7e6e0555…` (:12) | `7e6e0555…` (:4) | ✅ KHỚP |
|
||||
| checklist-harness-14 | `e96930da…` (:10) | `e96930da…` (:4) | ✅ KHỚP |
|
||||
| harness-14-adopt | `8da7e8b1…` (:9) | full 64-char (:4) | ✅ KHỚP ĐỦ 64 |
|
||||
|
||||
⚠️ Tất cả sha = **declared-read**, KHÔNG recompute 2-biến-thể → đã khai caveat trong cả 6 file.
|
||||
|
||||
## ② 6 report đã ghi (acceptance đo được)
|
||||
|
||||
| # | file (`docs/governance/adap-reports/`) | nấc | dòng | 5-trường | caveat double-count |
|
||||
|---|---|---|---|---|---|
|
||||
| 1 | `2026-06-18-Governance-checklist-harness-11.md` | executed | 47 | 5/5 | ✓ |
|
||||
| 2 | `2026-06-18-Governance-checklist-harness-9-10-v2.md` | executed | 48 | 5/5 | ✓ |
|
||||
| 3 | `2026-06-18-Governance-h10-flat-detector-refine.md` | **per-khoản: (a) executed · (b) `agreed`** | 45 | 5/5 | ✓ |
|
||||
| 4 | `2026-06-19-Governance-checklist-harness-all.md` | executed | 48 | 5/5 | ✓ |
|
||||
| 5 | `2026-06-20-Governance-checklist-harness-14.md` | executed | 49 | 5/5 | ✓ |
|
||||
| 6 | `2026-06-20-Governance-harness-14-adopt.md` | executed | 47 | 5/5 | ✓ |
|
||||
|
||||
Parse-check chạy thật: `grep -c` 5 heading LOCK = **5/5 cả 6 file** · dòng `**id:** \`<id>\`` khớp exact-id **1/1 cả 6** · "double-count" ≥1 hit **6/6**.
|
||||
|
||||
### 🔴 Ngoại-lệ #3 — KHÔNG phải con trỏ thuần (điểm quan-trọng nhất lane này)
|
||||
Thư `h10-flat-detector-refine` có **2 khoản** (đọc thư gốc `:19`, `:23`, `:37`): (a) cấu-trúc phẳng · (b) bộ-dò chống-lách-engine "theo ba CHỨC NĂNG".
|
||||
- (a) = executed runtime @S72 → trỏ được.
|
||||
- (b) = S72 chốt **TAILORED-OUT** (`:19`/`:46`) → **hub bác ở mức sàn-chức-năng 2026-07-03**: `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 *"miễn chạy đều mỗi cuối phiên"*. ⇒ nghĩa-vụ SỐNG, nấc (b) = `agreed`, **L1 KHÔNG nâng hộ** (C-b thuộc L6).
|
||||
- Nếu parser cần 1 nấc: file ghi rõ lấy **`agreed`** (thấp nhất) — thà tụt nấc còn hơn `executed` che nợ.
|
||||
|
||||
### Đo lại residue (b) bằng tay — KHÔNG chép số lane khác
|
||||
- `grep -c "bypass\|whitelist" scripts/governance-detectors.ps1` = **0** ⇒ chưa có bộ-dò. Kết-luận `sub-invest-backlog.md:15` **ĐỨNG VỮNG**.
|
||||
- ⚠️ **Nhưng phép đo giòn:** thêm `-i` → **1 hit** = `scripts/governance-detectors.ps1:35` `powershell.exe -ExecutionPolicy Bypass -File …` = **cờ chạy script**, không phải detector. Ai re-measure bằng `-i` sẽ thấy 1 và tưởng claim sai ⇒ đã neo cả case-sensitivity vào evidence report #3.
|
||||
- Lỗ **mode-A** xác-minh tại chỗ: `.claude/workflows/runs/_ledger.md:9` (note S98) — mode-A *"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ệ vs chạy-ngoài-engine. Ràng buộc này L6 phải xử hoặc khai.
|
||||
|
||||
### Phát-hiện phụ — token trường G-011 KHÔNG thống-nhất toàn corpus
|
||||
LOCK `adap-report.md:16` viết ASCII **`nac G-011`**; corpus 93 report thực tế:
|
||||
`## 2. nấc G-011` = **29** · `## 2. nac G-011` = **13** · còn lại ≥8 biến-thể (`## Nấc (G-011)`, `## 2. nấc (G-011)`, `## 4. Nấc trạng thái (G-011)`, `## Nấc per-pattern/per-vế/per-lesson`…).
|
||||
- L1 dùng `## 2. nấc G-011` = **dạng modal của corpus** (29/93) ⇒ giữ nguyên, KHÔNG sửa (sửa sang LOCK-literal sẽ làm 6 file lệch khỏi đa-số).
|
||||
- Suy ra: `/adap-audit` không thể key theo 1 literal (nếu có, nó đã trượt đa-số corpus từ lâu).
|
||||
- 🔴 **PROPOSE (canonical — em main/hub quyết, L1 KHÔNG tự sửa):** hoặc chuẩn-hoá 1 token cho report MỚI, hoặc hub khai parser tolerant. Đây là rủi-ro "vắng-mặt trông giống ổn": parser trượt = 0 finding, nhìn y hệt sạch.
|
||||
|
||||
## ③ Isolation (B6) — git status sau khi xong
|
||||
|
||||
L1 ghi ĐÚNG **7 file**: 6 report trên + `sub-apply-L1.md`. **0 file canonical, 0 agent-memory, 0 sub-MD lane khác, 0 code.**
|
||||
`git status --short` lúc đo có 22 mục nhưng phần còn lại là **lane khác đang chạy song song** — KHÔNG phải L1:
|
||||
- `M .claude/commands/session-start.md` · `M .claude/workflows/hmw.js` · `M scripts/spawn-model-audit.ps1` · `M scripts/governance-detectors.ps1` (= C-b của L6, spec `:13` giao L6 độc-quyền file này) · `M sub-apply-L2.md` · `?? sub-apply-L3.md` · `?? sub-apply-L4.md` · các report của L2/L3.
|
||||
- 🔴 Ghi để lead khỏi quy sai tác-giả khi audit diff sau P2.
|
||||
|
||||
## ④ Log tiến-trình
|
||||
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC (lượt 1) + đọc spec/format-LOCK.
|
||||
- [L2] đọc `sub-invest-backlog.md` + ls run-folder + ls 93 adap-report.
|
||||
- [L3-4] đọc 4 report gốc ĐẦY-ĐỦ + git log/wc đo commit-sha & dòng + xác-minh 6 broadcast tồn tại đúng tên trong hub outbox.
|
||||
- [L5] đọc frontmatter 6 broadcast (sha/gate/type) + verify H15-v2 `:45-49` + định-vị hub-answer 07-03.
|
||||
- [L6] đọc thư h10-refine để tách đúng khoản (a)/(b) + đọc report v1 checklist-9-10 (precedent house-style).
|
||||
- [L7] tự đo residue (b): grep detector 2 chiều case + `_ledger.md:9` mode-A.
|
||||
- [L8] ghi 6 report (Write tool, no shell-append per `adap-report.md:43`).
|
||||
- [L9] acceptance parse-check 5-trường + git-status isolation + coverage-check `all-update-v-2-0` (đóng flag) + đo token G-011 toàn corpus.
|
||||
@ -0,0 +1,31 @@
|
||||
# sub-apply-L2 — 6 adap-report nhóm-A (pointer-dedup)
|
||||
|
||||
> Label: {ai: implementer-L2 · gì: 6 report A · nhịp: S149-wave · phiên: 2026-07-25} · model tự-report: **opus** (tier:'opus', effort max)
|
||||
> Khung rỗng ghi TRƯỚC khi đọc report gốc (lượt 1). VERDICT: **6/6 LAND · 5/5 trường × 6 · 0 file canonical đụng.**
|
||||
|
||||
## ① Format-LOCK (đọc `.claude/commands/adap-report.md:14-19`)
|
||||
5 trường: id-broadcast · nac G-011 · evidence · tailored+skip · honest-caveat. Nấc `verified` = AI_INFRA chấm, CẤM tự phong (`:31`). Idempotent, KHÔNG đè (`:33`). Ghi bằng Write-tool, KHÔNG shell-append (`:43`).
|
||||
|
||||
## ② 6 report — đối chiếu report gốc (MỞ THẬT, không chép sub-invest)
|
||||
| # | id | nấc | pointer evidence (đã mở + verify) | verdict |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 2026-06-19-…-harness-all-update-v-2-0 | **n-a** | `…harness-14.md:5` verbatim "SKIP n-a … superseded" + `…H15-v2:48` + frontmatter thư `content_sha256:` = ghi-chú KHÔNG hash + `status: 🔵 PLAN-ANNOUNCE` | ✅ n-a đúng |
|
||||
| 2 | 2026-06-20-…-checklist-harness-15 | executed | `…harness-15-memory-budget.md:4` sha `94267ab5…` **KHỚP EXACT** frontmatter thư hôm nay + `…H15-v2:49` (tái dùng review v2) + gate 8/8 `:28` | ✅ verify-aid tiêu-thụ 2 lần |
|
||||
| 3 | 2026-06-20-…-harness-15-v2-hot-feed-update | executed | report gốc **đề 06-21** `:3` (id) ⟂ `:4` (source 06-20, sha `e028537b…` KHỚP) — **name-drift NGÀY**, slug trùng 100% | ✅ +§NAME-DRIFT riêng |
|
||||
| 4 | 2026-06-29-…-harness-16-cd-judge-sub-update | executed (🟡 tách đôi) | `…mfe.md:2` brace 3-in-1 · Branch A `:34` SCAFFOLD ⟂ Branch B `:35` ĐO-THẬT 94/85/88 · `:36` probed | ✅ nấc tách nhánh |
|
||||
| 5 | 2026-06-29-…-harness-16-memory-fidelity-eval | executed | `…mfe.md:2` + floor 5 mục `:16-26` + WF1 `wf_4c63e1bd-99e` / WF2 `wf_13e3d35a-023` `:47-48` | ✅ |
|
||||
| 6 | 2026-06-29-…-harness-16-mfe-update | executed | `…mfe.md:2` + sub-branch `:32`(trần live) `:33`(N/A sub-tier) + floor(4) `:25` wire lệnh-biến | ✅ |
|
||||
|
||||
## ③ Re-ground ĐĨA hôm nay (KHÔNG chép claim cũ)
|
||||
`memory-budget.json:123/137/138/139` (4 delta v2 còn sống) · `session-start.md:220` (§2.1.6 %-print) `:228` (MFE opt-in) · `session-end.md:68`/`:73` · `mfe-eval.ps1` **305 dòng/17311B** + `:19`/`:279`/`:302` scorer VẪN rỗng · `eval/mfe/sample-questions.json` **12 câu** · `.gitignore:124`. Commit: `33d519e`(S79) `0bc2112`(S81) `aa3f0fe`(S82) `9580098`(S93).
|
||||
|
||||
## ④ KHÔNG CHẮC / PROPOSE
|
||||
1. **Drift số:** `mfe-eval.ps1` 305 dòng vs `…mfe.md:60` khai **302** (+3, refinement `:37` sau smoke). KHÔNG tự sửa report gốc (isolation) → **PROPOSE lead enrich 1 số**.
|
||||
2. **Nợ sống:** judge 2-agent khác-phiên **chưa từng chạy** 26 ngày kể từ S93 (sample-q đã đủ tuổi, thiếu mỗi người chấm) — ngoài scope lane, đề-xuất lead xếp lịch.
|
||||
3. **PROPOSE ngược hub:** nếu `/adap-audit` khớp **slug** (bỏ đoạn ngày) trước full-id thì report #3 là **thừa**; SE vẫn tách vì chưa biết parser hub.
|
||||
4. Nấc #3/#5/#6 kế thừa `VERIFIED-pending-restart` (cmd `.md` no hot-reload) — hôm nay chỉ chứng **còn trên đĩa**, KHÔNG chứng đã chạy ⇒ giữ `executed`, KHÔNG nâng.
|
||||
5. Số smoke S93 (29 item · 1.5% · 94/85/88) **không đo lại** trong wave — đã dẫn-nguồn rõ, không trình như số tươi.
|
||||
|
||||
## Log tiến-trình
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC khi đọc. [L2] format-LOCK + glob 77 report. [L3] MỞ 4 report gốc thật (h14 · H15-mem-budget · H15-v2 · mfe) + frontmatter 6 thư outbox + `git log` 4 sha. [L4] re-ground đĩa 8 điểm. [L5-8] ghi 6 report. [L9] acceptance: 5/5 trường × 6 · git status isolation.
|
||||
- 🔴 **Isolation:** git status có `M session-start.md · hmw.js · governance-detectors.ps1 · spawn-model-audit.ps1` — **KHÔNG phải lane này** (L2 chỉ Write 6 report + file này; 4 file kia của lane khác/lead).
|
||||
@ -0,0 +1,152 @@
|
||||
# sub-apply-L3 — wave Opus-5-MAX apply: 4 adap-report nhóm-B + C-c + C-e
|
||||
|
||||
> Lane: L3 · Agent: implementer (Opus 5, effort MAX) · Ngày: 2026-07-25 · Run: `2026-07-25-S149-adap-backlog`
|
||||
> Đề-bài (spec `spec-adap-backlog-25-07-2026.md:10`): 4 report-B (spawn-label · depth-axis · goi-chot · dong-du-vong) — **bảng per-khoản theo C14, CẤM số-tổng**; evidence commit/run THẬT (tự `git log` lấy sha, CẤM bịa); phần dở = `verified-pending`/DEFER 🔒. + **C-c** label-falsifier + **C-e** masthead codify (PROPOSE-only, KHÔNG sửa canonical).
|
||||
> **Khung rỗng ghi đĩa TRƯỚC khi làm** (chống #53 return-garble: ghi-đĩa-TRONG-lúc-làm).
|
||||
|
||||
## ⓪ Ghi-chú tên file (khai lệch, không tự ý im)
|
||||
|
||||
Prompt lane có **2 tên khác nhau** cho cùng một sub-MD: chỉ-thị đích-danh của lead ghi `sub-apply-L3.md`; khối boilerplate RUN-TRACE ghi `sub-task-2.md`. Lane chọn **`sub-apply-L3.md`** (chỉ-thị đích-danh + đúng khuôn đặt tên `sub-apply-L*` mà L1/L4 đang dùng — `git status` cho thấy `sub-apply-L1.md`, `sub-apply-L4.md` cùng có mặt). Cả 2 đều nằm trong run-folder ⇒ **không vi phạm isolation**. Trả `subMdPath` = tên đã chọn.
|
||||
|
||||
## ① Ground-truth đo hôm nay (2026-07-25, trước khi viết report)
|
||||
|
||||
| # | Phép đo | Lệnh / công cụ | Kết quả | Ý nghĩa |
|
||||
|---|---|---|---|---|
|
||||
| G1 | Khuôn label đã codify chưa | đọc `.claude/commands/fable-clone.md:62-71` | **CÓ** — 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` | khoản ①③ spawn-label có vật-chứng |
|
||||
| G2 | Label trong run 07-25 | `grep -ic "label" runs/2026-07-25-S149-adap-backlog/run.md` | **0** | 🔴 acceptance C3 "neo artifact" (`spec-…-v2.md:110`) **TRƯỢT** trên chính run này |
|
||||
| G3 | Trần WIDTH | `memory-budget.json:9-13` + `hmw.js:148` | `cap: 20` · `mechanism: loud-skip` · `ratified: 2026-07-24` ⟂ `const WIDTH_CAP = 20` | mirror khớp, 0 drift |
|
||||
| G4 | Cơ-chế LOUD-skip | `hmw.js:149-156` | in `🔴 VƯỢT TRẦN WIDTH` `:152` + `🔴 LANE BỊ BỎ` `:154` + `slice(0, WIDTH_CAP)` `:156`, **0 throw** | khớp `depth-axis:43` "không văng lỗi" |
|
||||
| G5 | Ratify-attribution | `memory-budget.json:14` `_ratified_by` | **"OWNER-DELEGATED → LEAD-DECIDED @S149. KHONG PHAI 'owner chot'"** | 🔴 cấm nâng thành owner-chốt |
|
||||
| G6 | K2 vế (a) | `grep -rn "BLOCKED-by-O-2" **/*.md` | **14 hit**, 0 hit trong spec 07-25; 14/14 nằm trong run-folder LỊCH SỬ S144/S149 | vế (a) **ĐẠT** (spec-mới sạch) |
|
||||
| G7 | K2 vế (b) | `grep -ic "trục sâu" docs/governance/harness-11-engine.md` | **0 hit** | 🔴 vế (b) **TRƯỢT** — posture-A chưa codify ở engine-doc |
|
||||
| G8 | Bảng gate 5 vòng | đọc `.claude/commands/session-end.md:175-181` | 5 dòng V1–V5, đủ cột con-KIỂM + cột bằng-chứng-phải-dán | khoản ① dong-du-vong có vật-chứng |
|
||||
| G9 | writeGuard | `grep -n writeGuard .claude/workflows/hmw.js` | `:225` (khai báo) · `:252` (truyền) · `:208` (lineage S72) | khoản ② có vật-chứng |
|
||||
| G10 | Máy eval use-side | `ls -la scripts/applied-eval-nokey.ps1` | **tồn tại, 19.045 B** | khoản ④ máy THẬT, không phải dự-định |
|
||||
| G11 | Đường `/pause` còn tiến-trình ngoài? | `grep -i "powershell\|nhip-no-probe" .claude/commands/pause.md` | **`:89` VẪN gọi** `powershell.exe … nhip-no-probe.ps1`, kèm khai *"probe KHÔNG chặn điểm dừng"* (fail-open) | 4.3 vi-phạm-theo-chữ còn sống |
|
||||
| G12 | Chi-phí bước dừng mới | đọc `pause.md:44-46` | `machine-block` ~**140ms** · `secrets-sweep` ~**64ms** (3 lượt, tb); ròng ~64ms + 1 write | có SỐ, **không có NGƯỠNG** ⇒ chưa chấm được |
|
||||
| G13 | masthead ở rule-file | ripgrep glob `{docs/**,.claude/commands/*.md,.claude/skills/**,CLAUDE.md}` | **0 match** | C-e: claim invest HOLD, và mở rộng hơn phạm vi invest tự khai |
|
||||
| G14 | masthead toàn repo | `grep -rn` (nguồn 2, độc lập) | **22 hit** — toàn bộ ở run-note + inbox-copy + chính file này | 2 nguồn khớp: rule-file = 0 |
|
||||
| G15 | Neo commit | `git log --oneline -2 -- <file>` + `git merge-base --is-ancestor` | `hmw.js`/`session-end.md`/`fable-clone.md`/`pause.md` → **`72d2d1b wal: pause`** · `memory-budget.json` → `611b41f wal: flush` · `hoi-tu-synthesis.md` → `f33d729 wal: flush`. `72d2d1b` **KHÔNG** ancestor `origin/main` (=`2f39a7e`) | 🔴 **CẤM cite sha `wal:`** — neo bằng file:dòng |
|
||||
|
||||
**Kết luận G15 (quan trọng nhất về evidence):** spec bắt "evidence commit/run THẬT, tự `git log` lấy sha". Lane đã chạy `git log` — và kết quả là **không có sha nào hợp lệ để cite**: mọi thay-đổi S144/S149 còn nằm trong commit `wal:` sẽ bị squash ở closeout. Cite chúng = tái phạm đúng class **`bằng-chứng-tự-huỷ-sau-squash`** đã ghi ở `adap-reports/2026-07-18-Governance-model-tier-h23-precedence-tested-update.md:26`. ⇒ 4 report đều neo **file:dòng trên đĩa** + khai thẳng "commit-anchor pending closeout-squash". **Không bịa sha, cũng không im lặng bỏ trường evidence.**
|
||||
|
||||
## ② VIỆC A — 4 report nhóm-B (đã ghi, mỗi thư 1 file, format-LOCK 5 trường)
|
||||
|
||||
Đường dẫn: `docs/governance/adap-reports/<id>.md`.
|
||||
|
||||
### A1. `2026-07-18-Governance-spawn-label-panel-audit-khung`
|
||||
Nấc **executed**, khoản-④ **verified-pending**. Bảng 4 khoản: ① executed (codify `fable-clone.md:62-64` + dogfood `C14:14`) · ② executed (đo lại ký tự: 25 / 24 / 34, 3/3 ≤40) · ③ executed-luật, **0 phép đo máy** · ④ 🔴 **verified-pending** (G2: run 07-25 có 0 label ⇒ trượt neo-artifact C3:110).
|
||||
Caveat nặng nhất khai trong report: **lane không tự verify được label của chính nó** — label nằm ở phía gọi, không có trong prompt gửi xuống ⇒ người duy nhất verify được là lead lúc spawn, và hiện không có vết bắt buộc.
|
||||
|
||||
### A2. `2026-07-19-Agent-ensemble-depth-axis-deepen-on-contested`
|
||||
Nấc **executed**. Bảng F1–F4: **F1 KÉP** executed-WIDTH (G3/G4) + **N/A-by-posture** phần SÂU (posture-A, `gate-synthesis.md:3`) — 🔴 kèm **1 vế acceptance TRƯỢT**: K2(b) đòi ≥1 dòng posture ở `harness-11-engine.md`, đo được **0 hit** (G7) · **F2/F3 n-a by posture** (đổi lý do từ *"chưa có"* → *"cố ý không dựng"*) · **F4 executed** (LOUD-skip, 0 throw).
|
||||
Caveat nặng nhất: **nhãn "O-2 RESOLVED" đã có, vật-chứng codify thì chưa** — posture-A chỉ sống trong run-folder, không có ở nhà canonical ⇒ đúng lớp *"vắng-mặt trông giống ổn"*. + giữ nguyên phân biệt **OWNER-DELEGATED ≠ owner-chốt** (G5).
|
||||
|
||||
### A3. `2026-07-19-Governance-goi-chot-owner-nam-khoan`
|
||||
Nấc **executed** cho 4.1/4.2/4.4/4.5; **4.3 KÉP executed-luật + verified-pending-đo**. Bảng 5 khoản (không phải 4 — `C14:4`): 4.1 nhãn O-5 **đóng bằng #23** (`run.md:7`) · 4.2 ADOPT-có-phạm-vi + C15 xong, còn vế *lane workflow `tier:`-override* **chưa đo** · **4.3 🔒 ngưỡng-rẻ = owner-SỐ, lane KHÔNG đặt** (G11/G12) · 4.4 cổng-người ADOPT, **máy quét = dự-định** · 4.5 ĐÃ-CÓ (worker-tier-pin S124).
|
||||
Caveat nặng nhất: 4.1 nấc `executed` **tựa trên file đã sửa, KHÔNG tựa trên runtime đã chứng** — bằng-chứng lớp thi hành là **lời khai của lead** (`run.md:7`), probe thật thuộc **L6**; L6 probe lệch thì dòng 4.1 phải hạ nấc.
|
||||
|
||||
### A4. `2026-07-19-Governance-harness-dong-du-vong-audit-va-eval-use-side`
|
||||
Nấc **executed** ①②④(cơ-chế); **③-thực-thi + ④-vòng-chạy-thật = verified-pending**. Bảng 4 khoản: ① executed (O-3 tập-rỗng @S149 + bảng gate G8) · ② executed **kèm caveat có răng** (whitelist `tools:` KHÔNG chặn ghi runtime, backstop thật = git-diff commit-gate) · ③ KÉP luật-land / thực-thi-chờ · ④ máy wire @S149, máy THẬT 19.045 B (G10), **ghost-wire 18 ngày** trước đó.
|
||||
Caveat nặng nhất: **chưa có lượt bookend THẬT nào chạy end-to-end** (`hoi-tu-synthesis.md:29`) ⇒ khung 5-vòng mới verify bằng fault-inject + smoke. + dải JUMP 🔒 FROZEN · M8 V5-counter DEFER (V5 **không có máy đếm**, số do người điền) · trio giữ CONSENT chờ #12.
|
||||
|
||||
## ③ VIỆC B — PROPOSE (KHÔNG sửa canonical; lead single-writer áp)
|
||||
|
||||
### C-c — label-falsifier: 3 task thử + negative-control
|
||||
|
||||
**Vì sao phải thay phép của hub:** falsifier gốc (`spawn-label:47`) là *"mở bảng Background-tasks → chọn 3 task → chỉ đọc label"*. Panel là bề-mặt của **owner**; sub-agent không thấy panel, và panel **ephemeral không grep được** (chính C3:110 đã nhận). ⇒ phép phải chuyển sang bề-mặt **grep được** = `runs/<id>/run.md`, giữ nguyên FUNCTION (đọc-label-là-đủ-hiểu).
|
||||
|
||||
**Phần TÍCH-CỰC — 3 task thật của SE, chỉ đọc label, không mở transcript:**
|
||||
|
||||
| # | Label (thật, có trong repo) | ai | gì | nhịp | phiên | Ký tự | Verdict |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| T1 | `Vòng-3 harness-eval w1 @start s144` (`fable-clone.md:70`, `runs/2026-07-22-S144-trio-first-run/run.md:13`) | `harness-eval` | đo memory (wave-1 của bộ-ba đo→đề-xuất→kiểm) | Vòng-3, `@start` = đầu phiên | s144 | **34** | ✅ 4/4 |
|
||||
| T2 | `Gate reviewer anchor s144` (`fable-clone.md:70`, `C14:14`) | `reviewer` | cổng review nhánh *anchor* | `Gate` = cổng review trước phát | s144 | **25** | ✅ 4/4 |
|
||||
| T3 | `Gate reviewer teeth s144` (`C14:14`) | `reviewer` | cổng review nhánh *teeth* | `Gate` | s144 | **24** | ✅ 4/4 |
|
||||
|
||||
⇒ **3/3 đọc được cả {ai · gì · nhịp · phiên}, 3/3 ≤ 40 ký tự.** Khoản ①② ĐẠT trên tập này.
|
||||
|
||||
**Phần ÂM (negative-control) — bắt buộc phải TRƯỢT, nếu "đạt" thì phép đo là rác:**
|
||||
|
||||
```text
|
||||
[NEGATIVE-CONTROL SAMPLE — KHÔNG phải label đang dùng, KHÔNG copy đi nơi khác]
|
||||
NC-1 "Vòng-3 harness-audit" → thiếu {pha, phiên} ⇒ đọc ra: ai ✔ nhịp ✔ | pha ✘ phiên ✘ ⇒ TRƯỢT ✅(đúng kỳ vọng)
|
||||
NC-2 "audit tài liệu" → dạng tự-do (verbatim ví dụ xấu của hub, spawn-label:20)
|
||||
⇒ đọc ra: 0/4 ⇒ TRƯỢT ✅(đúng kỳ vọng)
|
||||
NC-3 "Gate reviewer anchor" → thiếu {phiên} ⇒ 3/4 ⇒ TRƯỢT ✅(đúng kỳ vọng)
|
||||
```
|
||||
|
||||
⇒ **3/3 negative-control TRƯỢT đúng chiều** ⇒ phép đọc **phân biệt được** label đủ và label thiếu (không phải phép luôn-xanh).
|
||||
|
||||
**Phần ÂM THẬT (không phải mẫu dựng) — chạy trên chính run hôm nay:**
|
||||
`grep -ic "label" runs/2026-07-25-S149-adap-backlog/run.md` = **0** ⇒ 6 lane của wave này **không có label nào neo vào artifact** ⇒ **khoản ④ (phủ MỌI loại spawn) TRƯỢT tại chỗ**, ngay trong phiên áp chính khuôn đó. Đây là bằng-chứng mạnh hơn mọi mẫu dựng.
|
||||
|
||||
**PROPOSE-diff (KHÔNG áp trong lane này):**
|
||||
1. **`runs/<id>/run.md`** — thêm 1 mục `## Label lane` liệt kê label từng lane, ghi **lúc scaffold @P1** (không phải lúc đóng run). Lý do: đó là thời-điểm duy nhất lead còn cầm label trong tay; ghi sau = chép lại trí-nhớ.
|
||||
2. **`.claude/commands/hmw.md`** (hoặc chỗ mô-tả `args.run` của RUN-TRACE) — 1 dòng: *"scaffold run-folder ⇒ ghi `## Label lane` với label đủ 4 thành-phần cho từng task; thiếu = run-folder chưa scaffold xong"*. Đây là chỗ **chặn từ lúc VIẾT**, đúng tinh thần `goi-chot:38`.
|
||||
3. **Nếu muốn có máy** — detector INFORM-only: với mỗi `runs/<id>/run.md` mới, regex `^-?\s*\S+\s+\S+\s+\S+\s+s\d+` trên mục `## Label lane`; 0 dòng khớp ⇒ FLAG. 🔴 **Bắt buộc kèm fault-inject 2 chiều** (cây tạm `-RepoRoot`): run-folder có label đúng ⇒ **không được** FLAG; run-folder 0 label ⇒ **phải** FLAG. Không có vế âm thì detector này vô nghĩa (bài C6: neo literal *"máy sẽ"* xanh cả khi cắm câu giả).
|
||||
4. 🔴 **Cảnh báo citation-trap (S-lesson `feedback_citation_trap_selfreference`):** chính file này chứa 3 mẫu NC là **label sai có chủ đích**. Detector nào quét "label xấu trong repo" sẽ bắt đúng file định nghĩa negative-control — và lây qua mọi doc trích lại. Discriminator phải là **enclosure use ⟂ mention** (chỉ quét trong mục `## Label lane`, bỏ qua fenced-block gắn nhãn `NEGATIVE-CONTROL SAMPLE`), **KHÔNG** vá bằng charset/regex-tinh-vi hơn.
|
||||
|
||||
**Không tự áp vì:** cả 3 đích đều là canonical (`run.md` của run đang chạy do lead sở hữu · `hmw.md` là command · detector là `scripts/governance-detectors.ps1` — spec `:13` giao **L6 là lane DUY NHẤT** đụng file đó).
|
||||
|
||||
### C-e — masthead codify 1 dòng
|
||||
|
||||
**Trạng-thái đo được (2 nguồn độc lập, khớp):** ripgrep glob rule-file = **0 match** (G13) · grep repo-wide = **22 hit**, toàn bộ ở run-note / inbox-copy / chính file này (G14). ⇒ luật masthead **có trong sổ ghi việc, KHÔNG có trong file luật**. Đây đúng bệnh mà chính khoản-2 của thư 3-khoan đặt tên: **implement-home ⟂ discoverability-home** (`sub-invest-8-thu-bind-3.md:17`). Lưu ý phạm-vi: invest S149 tự khai chỉ grep `.claude/commands/*.md` + `docs/rules.md` (`sub-invest-8-thu-bind-3.md:82`); lane này **mở rộng thêm** `docs/**`, `.claude/skills/**`, `CLAUDE.md` — vẫn 0.
|
||||
|
||||
**PROPOSE-diff — 1 dòng, đích CHÍNH: `docs/rules.md` §6.3 (chèn sau dòng 282):**
|
||||
|
||||
```diff
|
||||
- Phase đổi → update `STATUS.md` + `HANDOFF.md` + `changelog/migration-todos.md`
|
||||
+ - **Sửa body doc nào → đọc lại dòng-1 + masthead/tiêu-đề của CHÍNH doc đó** trước khi tuyên sweep xong (tiêu-đề là "view của doc về chính nó", không nằm trong danh mục của ai nên sống sót lâu nhất — `2026-07-20-…3-khoan:19-27`)
|
||||
```
|
||||
|
||||
**Vì sao chọn §6.3 chứ không chỗ khác:**
|
||||
- §6.3 (`docs/rules.md:276-282`) là danh sách **"sửa X → phải update Y"**, luôn-áp-dụng, không gắn với chu-kỳ. Luật masthead đúng dạng đó ⇒ vào **cùng hình-thức với các dòng anh em**, không phải mục lạ.
|
||||
- §6.4 (`:284-296`) là **cadence audit định kỳ** (cuối session / cuối phase / đầu tháng). Nhét vào đó sẽ ngầm biến luật *"mỗi lượt sửa doc"* thành *"việc của đợt audit"* — **thu hẹp sai** phạm vi, đúng cái bẫy làm khoản này chết 5 ngày qua.
|
||||
- `.claude/commands/session-end.md` **không** phải nhà đúng: sweep xảy ra bất cứ lúc nào ta sửa doc, không chỉ lúc đóng phiên; đặt ở đó lại tái tạo lỗ *implement-home mà không có discoverability-home*.
|
||||
- `docs/rules.md` được `CLAUDE.md` trỏ đích danh (*"⭐ Coding conventions"*) ⇒ đạt vế **discoverability-home**.
|
||||
|
||||
**Tuỳ chọn thứ hai, TÁCH RIÊNG để anh/lead duyệt độc lập (KHÔNG bó vào cái trên):** thêm 1 dòng vào checklist §6.4 (`docs/rules.md:298-305` khối ```) — `6. Doc nào sửa body trong lượt này → dòng-1 + masthead khớp chưa?`. Giá trị: biến luật thành **mục phải tick** ở lượt audit. Nêu riêng vì gộp 2 diff thành "1 dòng" là tự nói dối về khối lượng.
|
||||
|
||||
**Acceptance sau khi lead áp:** `rg -i masthead docs/rules.md` ≥ **1 hit** (hiện 0). 🔸 Đây là acceptance **đếm-chữ**, yếu — nó chứng *dòng đã tồn tại*, **không** chứng *có ai làm theo*. Phép mạnh hơn (positive-control): lấy 1 doc vừa sửa body trong phiên, kiểm dòng-1 có nói điều cũ không. Lane này **không tự nâng** acceptance vì đó là quyết định của lead.
|
||||
|
||||
## ④ Honest-caveat + verified-pending / DEFER 🔒 (gom, không giấu trong report)
|
||||
|
||||
| Mục | Trạng-thái | Ghi chú |
|
||||
|---|---|---|
|
||||
| Neo commit 4 report | 🔴 **pending closeout-squash** | Mọi vật-chứng đang ở commit `wal:`, không phải ancestor `origin/main`. Hub clone repo về **chưa thấy** các dòng được cite. Cần re-anchor sang commit closeout S149 |
|
||||
| Khoản ④ spawn-label (phủ mọi loại spawn) | **verified-pending** | G2 = 0 label trong run 07-25 |
|
||||
| Posture-A codify ở engine-doc (K2 vế b) | 🔴 **TRƯỢT — còn 1 dòng phải land** | G7 = 0 hit. Trùng phạm vi C-f của **L4** ⇒ lead đối chứng 2 nguồn |
|
||||
| 4.3 ngưỡng "rẻ" | 🔒 **owner-SỐ, DEFER — lane KHÔNG đặt** | Có 2 số đo (G12) nhưng không có ngưỡng ⇒ không chấm được. Từ chối suy ngưỡng từ chính số vừa đo |
|
||||
| 4.2 lane workflow `tier:`-override qua resume | **chưa đo** | C15 chỉ kết luận cho Agent-tool |
|
||||
| 4.4 máy quét lời-hứa-máy | **dự-định, chưa có** | Khai đúng dạng theo chính khoản 4 |
|
||||
| Bookend lượt ĐẦU | **verified-pending — phiên sau** | `hoi-tu-synthesis.md:29` |
|
||||
| M8 V5-counter | **DEFER** | `hoi-tu-synthesis.md:27`; V5 hiện không có máy đếm |
|
||||
| Dải JUMP {4,3,3} + view-residual-asym | 🔒 **FROZEN chờ anh** | `hoi-tu-synthesis.md:26`; `_frozen_until_owner` chưa ghi vào file |
|
||||
| Trio consent #12 | 🔒 **owner-held** | Khoảng cách với 2 sister là CÓ CHỦ ĐÍCH |
|
||||
| sha 4 thư | **chưa tái-đo hôm nay** | Kế thừa frontmatter inbox theo brief; hub sửa file sau 07-24 thì lệch |
|
||||
| Probe model #23 | **KHÔNG thuộc lane này** | L6 làm; A3 không chép claim lead làm evidence |
|
||||
| Fault-inject cho `WIDTH_CAP=20` | **kế thừa, chưa tái-chứng hôm nay** | Luật SE đòi re-run khi số đổi; lane không chạy lại (ngoài phạm vi) |
|
||||
|
||||
## ⑤ Acceptance-checklist evidence
|
||||
|
||||
| Ràng (spec `:10`, `:16-19`) | Đo | Verdict |
|
||||
|---|---|---|
|
||||
| 4 file report nhóm-B, đúng id outbox | `docs/governance/adap-reports/` +4 file, tên khớp `broadcasts/inbox/ai_infra/<id>.md` 1:1 | **ĐẠT** |
|
||||
| Format-LOCK 5 trường (`adap-report.md:14-19`) | mỗi file có `## 1. id-broadcast` → `## 5. honest-caveat` | **ĐẠT** |
|
||||
| Bảng per-khoản theo C14, **CẤM số-tổng** | A1 4 dòng · A2 4 dòng (F1–F4) · A3 **5** dòng (không ép về 4) · A4 4 dòng; **0 dòng "tổng"**, 0 câu dạng "x/y khoản đã xong" | **ĐẠT** |
|
||||
| Evidence commit/run THẬT, CẤM bịa sha | Đã chạy `git log --oneline` + `merge-base --is-ancestor` (G15); phát hiện **không có sha hợp lệ** ⇒ neo file:dòng + khai lý do, **0 sha bịa** | **ĐẠT (theo cách khai thẳng)** |
|
||||
| Nấc G-011 đúng, CẤM nấc ảo | 4/4 dừng ở `executed`, **0 file claim `verified`**; phần dở gắn `verified-pending`/`n-a`/🔒 | **ĐẠT** |
|
||||
| honest-caveat bắt buộc | 4/4 có §5 với ≥4 gạch đầu dòng, mỗi file ≥1 mục 🔴 | **ĐẠT** |
|
||||
| C-c falsifier | 3/3 task thật đọc được 4/4 thành-phần · **3/3 negative-control TRƯỢT đúng chiều** · 1 phép âm THẬT trên run 07-25 = 0 label | **ĐẠT (và phát hiện khoản ④ hở)** |
|
||||
| C-e propose | 1 diff chính (`docs/rules.md` §6.3) + lý do bác 3 đích khác + 1 tuỳ-chọn TÁCH RIÊNG + acceptance kèm tự-phê "yếu vì đếm-chữ" | **ĐẠT** |
|
||||
| Ghi ngoài phạm vi cho phép? | Chỉ 4 file `adap-reports/` + `sub-apply-L3.md`. **0** file canonical bị sửa; **0** ghi `agent-memory/`; **0** đụng `governance-detectors.ps1` (của L6) | **ĐẠT** |
|
||||
|
||||
## Log tiến-trình
|
||||
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC khi đọc/viết.
|
||||
- [L2-3] đọc spec + run.md + sub-invest §② (spec THẮNG sub-MD ⇒ tập 4 thư = spawn-label · depth-axis · goi-chot · dong-du-vong, KHÔNG phải tập ở `sub-invest:64`).
|
||||
- [L4-5] format-LOCK `adap-report.md:14-19` + C14 17-khoản + 1 report mẫu (`h23-precedence`) → rút luật cite-sha.
|
||||
- [L6-8] ground-truth G1–G15 (2 lượt grep độc lập cho masthead; git log + ancestor-check cho neo commit).
|
||||
- [L9-12] ghi 4 report.
|
||||
- [L13] ghi C-c + C-e + acceptance vào file này.
|
||||
@ -0,0 +1,160 @@
|
||||
# sub-apply-L4 — wave Opus-5-MAX apply (lane L4)
|
||||
|
||||
> Agent: implementer (L4) · run `2026-07-25-S149-adap-backlog` · Ngày: 2026-07-25
|
||||
> Nhãn lane: {ai: L4-apply · gì: 5 adap-report (B×2 + D×3) + C-d bảng-cost + C-f verify-K2 · nhịp: wave-apply W2 · phiên: S149(+1)}
|
||||
> Khung rỗng ghi ĐĨA TRƯỚC khi làm (lượt 1-2, theo lệnh lead + bài-học S123 "ghi-đĩa-TRONG-lúc-làm" chống #53).
|
||||
> Format-LOCK đọc từ `.claude/commands/adap-report.md:13-19` (5 trường) + `:28-32` no-fake §C5 + `:43` corruption-clean (ghi bằng Write, KHÔNG shell-append).
|
||||
|
||||
## ⓪ Ghi chú lệch-lệnh (khai TRƯỚC)
|
||||
- **Lệch tên sub-MD:** thân lệnh lead nói *"tạo `sub-apply-L4.md` khung rỗng TRƯỚC"*; footer RUN-TRACE (boilerplate) nói ghi `sub-task-3.md`. **Chọn `sub-apply-L4.md`** — (a) là chỉ-thị đích danh cho lane này, (b) khớp convention đang có trên đĩa của cùng run (`sub-apply-L1.md` … `sub-apply-L6.md`), (c) `sub-task-3.md` sẽ thành file mồ-côi không ai đọc. Theo luật *"spec tự-mâu-thuẫn → chỉ-thị mới/cụ-thể thắng boilerplate cũ + KHAI trong report"*. `subMdPath` trả về = file NÀY.
|
||||
- **Lệch phân công so với `sub-invest-backlog.md:65`:** invest xếp L4 = {depth-axis · depth-cost · cost-lens · hub-tu-danh-gia · dong-du-vong}. Lệnh lead (mới hơn) đổi thành {3-khoan · auto-toan-vong · cost-lens · depth-cost · hub-tu-danh-gia}. **Theo lệnh lead.** ⇒ `depth-axis` + `dong-du-vong` **KHÔNG** thuộc L4 (kiểm tra chéo với L3 trước khi lead đóng run, tránh 2 thư rơi khe).
|
||||
- **Lệch line-ref trong chính lệnh:** lệnh + spec trỏ bảng cost ở `agents/README.md:249-257`. **Đo hôm nay: SAI** — `:249-257` là mục *"💾 Memory discipline"*; bảng cost thật ở **`:261-294`** (`## 📊 Cost reality — re-ground S144`, bảng `:268-273`). Propose-diff bên dưới neo theo số ĐO, không theo số trong lệnh.
|
||||
|
||||
## ① VIỆC A — 5 adap-report (ĐÃ GHI, 5/5)
|
||||
|
||||
| # | File tạo | nấc G-011 | 1 dòng chốt |
|
||||
|---|---|---|---|
|
||||
| A1 | `docs/governance/adap-reports/2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params.md` | **executed** (K2+K3) · **K1 = agreed** | K2 `CLAUDE.md:23-28` (926B) · K3 `memory-budget.json:23` `_unit_note` · K1 masthead **0 rule-file** |
|
||||
| A2 | `…/2026-07-20-Governance-auto-toan-vong-distill-2-tang.md` | **executed** (khoản 2+4 có máy · khoản 3 luật-không-máy · khoản 1 tailored INFORM-consent) | +1 **residual ghost-wire ĐO ĐƯỢC**: probe wire 1/2 call-site |
|
||||
| A3 | `…/2026-07-19-Agent-ensemble-cost-lens-khan-hiem-va-routing.md` | **n-a** (4 dòng tự-khai không-floor) | khoản① absorbed `agents/README.md:263` · khoản③ **0 vết = gap tự nhận** |
|
||||
| A4 | `…/2026-07-19-Agent-ensemble-depth-cost-update-so-do-thuc.md` | **n-a** (2 dòng) | bài-học-2 absorbed **thành code** `hmw.js:269-272` · mang kết quả C-d |
|
||||
| A5 | `…/2026-07-19-Governance-hub-tu-danh-gia-3-goc-va-chuyen-pha.md` | **n-a** (3 dòng) | lesson `:27` absorbed = luật-chung #9 `spec-adap-dot-11-…v2.md:131` · trả lời 3/3 câu kiểm §6 |
|
||||
|
||||
### A1 — `3-khoan-title-tier-posture-home-distill-params` (nhóm B)
|
||||
- **K1 masthead (`:19-27`) = `agreed`** — `grep -rni "masthead" .claude docs scripts` = **15 hit**, lọc `grep -v "workflows/runs/"` = **0** ⇒ 0 rule-file. Vết quyết-áp: `runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026.md:123` (P3-4) + `:120` + `:162` (C12). **Không** khai `n-a` dù thư nói optional (`3-khoan:59`) — nợ do SE tự nhận, không mượn chữ "tùy chọn" của hub để xoá.
|
||||
- **K2 posture-home (`:31-41`) = `executed`** — `CLAUDE.md:23-28`, **926 byte** (`awk 'NR>=23&&NR<=28' CLAUDE.md | wc -c`), `:23` cite `3-khoan:31-41`. FORM tailored: ghi **con-trỏ NƠI TRA**, cố ý KHÔNG chép giá-trị ON/OFF (`:24` verbatim) vì SE có mode toggle giữa phiên.
|
||||
- **K3 distill-params (`:47-53`) = `executed`** — `memory-budget.json:23` `_unit_note` cite `3-khoan:47-53`; khoá thật `min_pending_shards`(:24)/`bulk_note_shards`(:25) ⇒ đủ 2 vế (tên mang đơn-vị + chú-thích cạnh số). Khối `:20-32` = **5.259 byte**. Số **15/30** = SE-neo, KHÔNG copy `1/10` của hub.
|
||||
- **sha evidence:** cả 3 anchor introduce tại `git log -S` ⇒ **`8b6df0a`** (2026-07-23, `[CLAUDE] Docs: S146 closeout…`), `git merge-base --is-ancestor 8b6df0a origin/main` ⇒ **ancestor** (hub clone resolve được; bài học S143 dangling-sha).
|
||||
|
||||
### A2 — `auto-toan-vong-distill-2-tang` (nhóm B) — 🔴 có residual THẬT
|
||||
- khoản 2 `executed`: `memory-budget.json:21` cite `auto-toan-vong:21-27` verbatim · `:22` `mode: shard_count` · `:29` `_dinh_nghia_shard` (loại `_INDEX.md` + `*.gist.md`; bộ đếm đầu 20 → 5 là `_INDEX` = 25% dương-giả) · `:31` `_acceptance` đo **HÀNH VI** không đo chữ (chống Goodhart). Máy: `scripts/distill-shard-probe.ps1` **3.415 byte**.
|
||||
- khoản 4 `executed`: `memory-budget.json:30` `_lineage` cite `auto-toan-vong:35`, đủ 4 vế (bản cũ · ngày · chữ-ký owner · khác-biệt kỹ-thuật); vết cũ KHÔNG xoá (`sleep-recovery-memory-l2.md:52` hạ 7-ngày thành 🧊 ghi-chú-phụ).
|
||||
- khoản 3 `executed (LUẬT) — CHƯA CÓ MÁY`: `agents/README.md:283-287` (`:283-292` = **1.125 byte**), luật `:286` re-đo khi roster đổi **hoặc** lệch >30%; `:287` tự khai 30% = AI-tự-đặt.
|
||||
- khoản 1 **tailored → INFORM + owner-consent** (KHÔNG auto-execute): `session-start.md:184` *"🔴 KHÔNG auto-run — anh consent mới chạy"*.
|
||||
- 🔴 **RESIDUAL ĐO ĐƯỢC (mới, chưa ai ghi):** `grep -c "distill-shard-probe" .claude/commands/session-end.md` = **0**, trong khi `sleep-recovery-memory-l2.md:52` khai *"`/session-start §2.1.2` + `/session-end §L.b(c)` chạy `scripts/distill-shard-probe.ps1`"*. `session-end.md:68` §L.b(c) vẫn fire theo vị-ngữ CŨ `last_sleep_at null hoặc ≥7d`. ⇒ **wire 1/2 call-site + 1 dòng doc over-claim** (lớp ghost-wire H18 *declared-but-not-wired* — trớ trêu: chính dòng `:52` kết bằng cảnh báo ghost-wire). **KHÔNG tự sửa** (canonical) → PROPOSE-3 §④.
|
||||
- Residual đã-tự-khai (không phải phát hiện mới): trục TUỔI chưa có máy — `memory-budget.json:28` + 6 cặp gist stale (25,7 / 13,2 / 12,0 / 8,5 / 4,1 / 2,0 ngày).
|
||||
|
||||
### A3 — `cost-lens` (nhóm D, n-a)
|
||||
- 4 dòng tự-khai không-floor: `:10` *"Cả 3 = owner-side chia-sẻ, KHÔNG floor."* · `:11` *"(FYI, không bắt làm gì)"* · `:20` *"KHÔNG floor mới"* · `:50` *"FYI owner-side — KHÔNG floor, không bắt làm gì"*.
|
||||
- Absorbed khoản①: `agents/README.md:263` cite **đích danh** `cost-lens:28`; FORM = khai đơn-vị ở **header bảng** thay vì **cột** (bảng SE chỉ 1 đơn-vị cho mọi hàng).
|
||||
- khoản② = trùng chiều độc lập (engine-đắt per-invocation, owner gõ), KHÔNG codify — đúng khuyến cáo `:42` (cực-1 bị owner hub RÚT).
|
||||
- khoản③ suggest-1-dòng = **CHƯA có vết**, grep 0 hit khớp nghĩa ⇒ **gap SE tự nhận** (thư nói khoản này áp được cho MỌI nhà).
|
||||
|
||||
### A4 — `depth-cost` (nhóm D, n-a + absorbed + mang số C-d)
|
||||
- 2 dòng: `:20` *"Không floor mới; FYI-số + bài học"* · `:63` *"FYI-số + bài-học — KHÔNG floor mới"*.
|
||||
- Absorbed **thành CODE**: `hmw.js:263-274` (**1.263 byte**) — `:269-270` cite `depth-cost:53`, `:271-272` cite `depth-cost:59` + tự khai *"trước bản vá này SE trả lời: thấy SẠCH"*. Lineage giữ (`:264-266`), CỐ Ý không throw (`:273-274`).
|
||||
- Skip bài-học 1/3/4 (`:52`/`:54`/`:55`): SE **không có trục-sâu/tầng-2** (posture-A) ⇒ n-a **vì cấu trúc**, không phải behind.
|
||||
|
||||
### A5 — `hub-tu-danh-gia-3-goc` (nhóm D, n-a FYI)
|
||||
- 3 dòng: `:10` *"FYI, KHÔNG floor."* · `:20` *"FYI + câu kiểm nhanh, KHÔNG floor mới"* · `:62` *"điểm số và findings là của hub, không áp"*.
|
||||
- Absorbed `:27` → **luật-chung #9** `runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026-v2.md:131`: *"Phán quyết của lead KHÔNG đi vào file sub đọc được (O-4a `hub-tu-danh-gia:27`)"* (khối `:126-131`).
|
||||
- Trả lời 3/3 câu kiểm §6 bằng số SE: (1) lỗ-1 **có** — carry-age `7/9/13` đứng yên qua 5 nhãn phiên (`lead-gap-auditor/MEMORY.md:36`); (2) có LUẬT #9 nhưng **0 máy**; (3) lỗ-4 **một nửa** — `runs/2026-07-24-S149-owner-gated-3-khoan/run.md:16` đếm được **4/7 khoản O-\* có đường về owner · 3/7 câm**, nhưng chưa đếm dòng-chảy/phiên.
|
||||
|
||||
## ② VIỆC B — C-d bảng cost 2 đơn-vị (đo THẬT từ run-folder S149)
|
||||
|
||||
### (a) Trả lời falsifier `depth-cost:59`
|
||||
- **Vế 1 (đơn-vị):** SE dùng **đơn-vị THỨ BA** = `subagent_tokens` harness báo per-run (1 số gộp, **gồm cache-read**) — đã khai `agents/README.md:264-266`.
|
||||
- **Vế 2 (tỉ lệ vào+ra ⟂ phía-ra):** 🔴 **KHÔNG ĐO ĐƯỢC** — harness chỉ phơi 1 số gộp, không tách in/out. Khai đúng: *không đo được bằng instrument hiện có*, **KHÔNG** phải "đang ước" (SE **có** số thật, chỉ khác trục). ⇒ residual `agents/README.md:291` **thu hẹp**, không xoá.
|
||||
- **Bù:** SE đo được cặp 2-đơn-vị KHÁC cùng hình dạng bài học `:36` — **`token/lane-PHÓNG` ⟂ `token/lane-SỐNG`**.
|
||||
|
||||
### (b) Bảng đo (nguồn = run-folder S149, không ước)
|
||||
|
||||
| Run S149 | wf | lane phóng | lane sống | tier | token (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 | `…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ố** | — | — | `…owner-gated-3-khoan/run.md:30` |
|
||||
|
||||
- **Đơn-vị 2 — `lane/run`:** fan-out opus = **8** và **5**; engine-đắt fable = **1** ×3 run.
|
||||
- **Gộp opus (2 run):** 2.007.899 tok / **13 lane phóng** = **154.454**/lane · / **11 lane sống** = **182.536**/lane.
|
||||
- **Gộp fable (2 run có số):** 474.000 / 2 = **237.000**/lane.
|
||||
- **Tỉ lệ lệch 2 cách đọc:** `wf_c6a08b12-f36` → **1,33×**. Ca cực đoan trong sổ SE: `wf_491c05a8-6dc` (S144, 3/5 chết) → 163.996 vs 409.991 = **2,50×**.
|
||||
- **Đối chứng chéo:** `memory-budget.json:15` khai độc lập *"8 lane @S149 ton ~1,06M"* ⇒ khớp `run.md:40`.
|
||||
|
||||
### (c) 🔴 Defect phát hiện trong chính bảng SE
|
||||
`agents/README.md:272` publish *"Lane invest ~164K/lane, n=5, `wf_491c05a8-6dc` 819.982 / 5"* = chia **lane-PHÓNG**, trong khi `:280` (5 dòng dưới, cùng mục) ra luật ngược: *"phải đếm token/lane-SỐNG, không phải token/lane-phóng"*. **Luật ⟂ bảng mâu thuẫn trong cùng mục** (lớp *chú-thích tự-mâu-thuẫn*). Không phải sai số — là **2 cách đọc cùng 1 số** bị publish lẫn.
|
||||
|
||||
### (d) Kiểm luật tự-làm-tươi (`auto-toan-vong:29-31`, ngưỡng 30% `agents/README.md:286`)
|
||||
Lane-invest S149 `132.737` vs số ghi S144 `164.000` ⇒ **−19,1% < 30%** ⇒ **luật KHÔNG fire**. ⇒ Bảng **không stale theo tiêu chí của chính nó**; cái thiếu là **thiếu HÀNG** (0 hàng fable · 0 hàng wave-implement · 0 cột lane-SỐNG), không phải lệch số. Khai đúng, không thổi.
|
||||
|
||||
## ③ VIỆC B — C-f verify K2 (`spec-owner-gated-3-khoan-24-07-2026.md:67`)
|
||||
|
||||
| Vế K2 | Lệnh đo | Kết quả | Verdict |
|
||||
|---|---|---|---|
|
||||
| (i) `grep -rn 'BLOCKED-by-O-2' .claude docs scripts` = 0 | như lệnh lead | **14 hit** (`grep -rno … \| wc -l` = 14, cùng số dòng) | ⚠️ **PASS theo K2-gốc · FAIL theo lệnh mở-rộng** — xem phân rã |
|
||||
| (i-phân rã) | `grep -rn … docs` / `… scripts` / `.claude` / `.claude` lọc `-v workflows/runs/` | **docs = 0 · scripts = 0 · .claude = 14 · .claude NGOÀI `runs/` = 0** | ⇒ **100% hit nằm trong `.claude/workflows/runs/` = kho vết run-trace** |
|
||||
| (ii) `grep -in "trục sâu\|truc sau" docs/governance/harness-11-engine.md` ≥1 | + biến thể `posture` · `width-only` · `WIDTH` · `deepen` | **0 / 0 / 0 / 0 / 0** (8 token thử, chỉ `tầng-2` = 1 hit, khác nghĩa) | 🔴 **FAIL — dòng posture CHƯA CÓ** |
|
||||
|
||||
**Verdict C-f:** K2 **half-done**.
|
||||
- Vế (i) **ĐẠT theo đúng chữ của K2** (*"grep `<spec-mới>` = 0"*): 0 hit ở mọi file luật/script; 14 hit còn lại là **lineage run-trace** — mà `auto-toan-vong:35` (khoản 4) **cấm xoá lineage**. Phân loại use ⟂ mention: 1 hit là **nhãn disposition cũ** (`spec-adap-dot-11-…v2.md:116` C8a — spec của run ĐÃ ĐÓNG, giữ làm vết), 13 hit là **trích-dẫn/lệnh-kiểm/ghi-chú audit** (gồm 4 hit do CHÍNH đợt verify này sinh ra — bẫy citation-trap: doc kiểm nhãn X tất yếu chứa X).
|
||||
🔴 **Cảnh báo Goodhart:** nếu ai "vá" bằng cách xoá 14 hit đó → **rời tập-đo**, mất chứng-nhân lineage, và vi phạm khoản-4 của chính thư `auto-toan-vong`. **KHÔNG đề xuất xoá.**
|
||||
- Vế (ii) **KHÔNG ĐẠT** → PROPOSE-1 §④.
|
||||
|
||||
## ④ PROPOSE-diff (KHÔNG tự sửa canonical — em-main single-writer áp)
|
||||
|
||||
### PROPOSE-1 (C-f, bắt buộc để đóng K2) — `docs/governance/harness-11-engine.md`
|
||||
**Chèn khối mới sau dòng `353` (cuối K.E), trước `**Honest nấc tổng §K:**` ở `:355`:**
|
||||
|
||||
```markdown
|
||||
**K.F — POSTURE trục-SÂU = WIDTH-ONLY (O-2 RESOLVED @S149 · 🟡 form · 0 dòng code):**
|
||||
`hmw.js` fan-out chỉ có **trục WIDTH** (N lane song song; trần = `memory-budget.json → hmw_width.cap`, cơ-chế LOUD-skip). SE **KHÔNG dựng trục SÂU** (tầng-2 đào-lại / thử-phá-2) — chiều sâu đi qua **engine-đắt per-invocation** (`/fable-real` · `/fable-clone`, §K.E). ⇒ khoản C8a (`assert tổng-lượt ≤ trần`) = **N/A-by-posture**, KHÔNG phải BLOCKED. Căn cứ: `depth-cost:44-46` đo mode "thật" thắng hiệu-quả/token ở **1/10 giá** + SE đã có mode thật owner-gated; quyết @S149 owner-delegated (`runs/2026-07-24-S149-owner-gated-3-khoan/spec-owner-gated-3-khoan-24-07-2026.md:44` · `gate-synthesis.md:3`).
|
||||
```
|
||||
**Acceptance sau khi áp:** `grep -ic "trục sâu" docs/governance/harness-11-engine.md` ≥ 1 **và** `grep -ic "width-only" …` ≥ 1 (đo 2 token, tránh Goodhart 1-token).
|
||||
|
||||
### PROPOSE-2 (C-d) — `.claude/agents/README.md` mục `## 📊 Cost reality` (`:261-294`, **KHÔNG phải `:249-257`**)
|
||||
**(a) Thay bảng `:268-273`** bằng bảng có **2 cột đơn-vị** + hàng S149 (giữ nguyên 4 hàng S144, chỉ thêm cột + nhãn):
|
||||
|
||||
```markdown
|
||||
| Lớp spawn | token/lane-PHÓNG | token/lane-SỐNG | n | Run · ghi chú |
|
||||
|---|---|---|---|---|
|
||||
| Probe tối thiểu (cấm gọi tool) | ~28.0K | ~28.0K | 3 | registry-probe trio (S144) — sàn dưới 1 lần spawn |
|
||||
| Monitor audit đầy đủ (H1/H2) | ~223–232K | ~223–232K | 2 vai × 2 lượt | S144, gồm lượt resume sau #53 |
|
||||
| Lane invest (S144) | **164.0K** | **410.0K** | 5 phóng / 2 sống | `wf_491c05a8-6dc` 819.982 — 3/5 cháy `maxTurns` ⇒ 2 số lệch **2,50×** |
|
||||
| Lane review (S144) | ~144K | ~144K | 3 / 3 | `wf_301d3943-144` 432.515 |
|
||||
| **Lane invest fan-out (S149, opus)** | **132.7K** | **177.0K** | 8 phóng / 6 sống | `wf_c6a08b12-f36` **1.061.899** (exact) — lệch **1,33×** |
|
||||
| **Lane implement wave (S149, opus)** | **~189.2K** | **~189.2K** | 5 / 5 | `wf_4cbcd392-9db` ~946K |
|
||||
| **Engine-đắt 1-lane (S149, fable)** | **~218–256K** | như trái | 2 run có số / 3 run | `wf_e9d970e1-85e` ~256K · `wf_9bf14de2-eef` ~218K · `wf_5ee94a60-784` **không ghi số** |
|
||||
```
|
||||
|
||||
**(b) Sửa mâu thuẫn `:272` ⟂ `:280`** — thêm 1 dòng ngay dưới bảng:
|
||||
```markdown
|
||||
🔴 **Đọc bảng đúng đơn-vị:** cột **PHÓNG** = tổng ÷ lane đã phóng (tốc-độ đốt); cột **SỐNG** = tổng ÷ lane có sản phẩm (giá thật của kết quả). Hai cột lệch nhau **1,33×–2,50×** trên chính sổ SE ⇒ trích 1 cột mà không nói tên cột = tự lừa (bài `depth-cost:36` "khai 2 đơn-vị hoặc sai 3×").
|
||||
```
|
||||
|
||||
**(c) Cập nhật residual `:291`** (thu hẹp, KHÔNG xoá):
|
||||
```markdown
|
||||
- 🔴 **Falsifier `depth-cost:59` — đóng NỬA @S149(+1):** vế "bảng ghi đơn-vị nào" = **trả lời được** (`subagent_tokens`, gồm cache-read). Vế "vào+ra vs phía-ra lệch mấy lần" = **KHÔNG ĐO ĐƯỢC bằng instrument hiện có** (harness chỉ phơi 1 số gộp, không tách in/out) — khai *không đo được*, KHÔNG phải *đang ước*. Cặp 2-đơn-vị SE đo được thay thế = **PHÓNG ⟂ SỐNG** (bảng trên).
|
||||
```
|
||||
|
||||
**(d) `+50% budget` `:294`** — số cũ `~1.05M opt / ~2M heavy ceiling` so với đo thật S149: **1 workflow 8-lane = 1,06M**; arc S149 (2 wave opus) = **2,01M** ⇒ trần "heavy" **đã chạm** bởi 2 workflow chứ không phải cả phiên. Đề nghị em-main **hỏi anh** trước khi đổi số (đây là **núm ngân-sách = quyền owner**, `auto-toan-vong:19`); lane KHÔNG tự đặt.
|
||||
|
||||
### PROPOSE-3 (residual A2, ghost-wire) — `.claude/commands/*`
|
||||
- **Chọn 1 trong 2, KHÔNG được để nguyên:**
|
||||
- **(A) wire cho đúng lời khai:** thêm vào `session-end.md:68` §L.b(c) 1 câu chạy `scripts/distill-shard-probe.ps1` (đối xứng `session-start.md:184`, INFORM-only, KHÔNG auto-run) ⇒ khoản-1 *"HAI ĐẦU mỗi phiên"* đạt 2/2.
|
||||
- **(B) hạ lời khai cho đúng wire:** sửa `sleep-recovery-memory-l2.md:52` từ *"`/session-start §2.1.2` + `/session-end §L.b(c)` chạy …"* → *"`/session-start §2.1.2` chạy … ; `/session-end §L.b(c)` hiện vẫn dùng vị-ngữ 7-ngày (chưa wire probe)"*.
|
||||
- **Khuyến nghị: (A)** — vì `session-end` là nơi shard MỚI sinh ra (bước dời-kho), đúng chỗ thư `auto-toan-vong:40` mô tả *"bước dời-kho tạo 1 mảnh mới → máy đếm thấy 1 ≥ ngưỡng → nén luôn trong phiên"*. Nhưng **(A) đổi hành vi cuối phiên** ⇒ em-main quyết/hỏi anh; lane không tự chọn.
|
||||
- **Acceptance:** `grep -c "distill-shard-probe" .claude/commands/session-end.md` ≥ 1 (nếu A) **hoặc** `grep -c "session-end §L.b(c)) chạy" .claude/commands/sleep-recovery-memory-l2.md` = 0 (nếu B).
|
||||
|
||||
## ⑤ KHÔNG CHẮC / honest-caveat
|
||||
1. **`content_sha256` của cả 5 thư = ĐỌC từ frontmatter, KHÔNG re-verify tươi.** Lane không chạy `stamp_verify.py` (script nằm ở repo hub — thực thi cross-repo ngoài phạm vi lane). Kế thừa `sub-invest-backlog.md §③.1`. Hub tự đối chứng phía mình.
|
||||
2. **`8b6df0a` là closeout-SQUASH S146** gộp work S144/S145 ⇒ sha đúng + sống sau squash + ancestor `origin/main`, nhưng **không** đọc thành "phiên áp". Mọi report đã ghi caveat này.
|
||||
3. **Số `946K`/`256K`/`218K` đã làm tròn tại nguồn** — chỉ `1.061.899` exact. Mọi phép chia thừa kế sai-số ⇒ đọc như **bậc độ lớn**.
|
||||
4. **`wf_5ee94a60-784` không có số trên đĩa** ⇒ 1/5 run của arc S149 vắng khỏi bảng. Không suy ra.
|
||||
5. **n = 5 run, 1 phiên-logic, 1 lớp việc (governance/adap)** — `depth-cost:38` cảnh báo cost scale theo kích-thước đề ⇒ **không** dùng dự báo phiên product.
|
||||
6. **Phép đo K1 (masthead) mù biến-thể chữ** — chỉ token `masthead`; nếu SE codify bằng `dòng-1`/`tiêu-đề` thì phép đo không thấy.
|
||||
7. **C-f vế (i): 2 cách đọc đều đúng theo chữ khác nhau** — K2-gốc chấm `<spec-mới>` (đạt), lệnh lead chấm `.claude docs scripts` (14 hit). Đã phân rã use⟂mention để lead tự chấm, **không tự chọn cách đọc nào có lợi**.
|
||||
8. **Không lane nào (kể cả L4) đã áp propose-diff** ⇒ tại thời điểm đóng file này, `agents/README.md` **vẫn** mang số S144 + mâu thuẫn `:272`⟂`:280`, và `harness-11-engine.md` **vẫn** 0 dòng posture. Đừng đọc report A4 thành "bảng đã sửa".
|
||||
9. **Chưa kiểm chéo với L3** về 2 thư `depth-axis` + `dong-du-vong` (đã rời khỏi phân công L4 theo lệnh lead) — lead phải xác nhận không rơi khe.
|
||||
|
||||
## Log tiến-trình
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC khi đọc thư (chống #53).
|
||||
- [L2] đọc 2 con-trỏ (spec + sub-invest §②) + format-LOCK `adap-report.md:13-19`.
|
||||
- [L3-4] đọc 5 thư gốc verbatim ở `AI_INFRA/broadcasts/outbox/all/` (read-only) → chốt dòng tự-khai-không-floor.
|
||||
- [L5-7] ground đĩa: `CLAUDE.md:23-28` (926B) · `memory-budget.json:20-32` (5.259B) · `hmw.js:263-274` (1.263B) · `distill-shard-probe.ps1` (3.415B) · `agents/README.md:283-292` (1.125B) · `spec-…v2.md:131` luật #9.
|
||||
- [L8] `git log -S` 6 anchor ⇒ đều `8b6df0a`; `merge-base --is-ancestor` ⇒ ancestor `origin/main`.
|
||||
- [L9] C-f 2 vế: 14 hit phân rã 4 scope + 8 token thử trên engine-doc ⇒ 0 posture.
|
||||
- [L10] phát hiện phụ: probe wire 1/2 call-site (`session-end` = 0 hit) + bảng cost line-ref trong lệnh SAI (`:249-257` → thật `:261-294`) + mâu thuẫn `:272`⟂`:280`.
|
||||
- [L11] C-d đo 5 run S149 → 2 đơn-vị (token/lane PHÓNG⟂SỐNG · lane/run) + tỉ lệ 1,33× / 2,50×.
|
||||
- [L12] ghi 5 report (Write, không shell-append) + 3 propose-diff + file này.
|
||||
@ -0,0 +1,143 @@
|
||||
# sub-apply-L5 — C-a eval-của-eval (thư 2026-07-21 eval-quality-audit)
|
||||
|
||||
> Lane L5 · run `2026-07-25-S149-adap-backlog` · agent tier `opus` effort MAX
|
||||
> Label (khuôn-④ C3): **ai** = L5-apply · **gì** = C-a bảng eval-của-eval + report eval-quality-audit · **nhịp** = wave-apply S149 · **phiên** = S149 (2026-07-25)
|
||||
> KHUNG RỖNG ghi ĐĨA TRƯỚC khi đọc/đo (chống #53 return-garble — ghi-đĩa-TRONG-lúc-làm).
|
||||
> Thư nguồn đọc TRỌN: `AI_INFRA/broadcasts/outbox/all/2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval.md` (55 dòng, `content_sha256: c04d39dbc8f5…`).
|
||||
|
||||
## ⓪ Fact-0: giải LỆCH 2 nguồn về trio — KẾT LUẬN: **trio ĐÃ chạy thật; cả 2 nguồn "pending" là VĂN-BẢN STALE, không phải sự-thật khác**
|
||||
|
||||
Lệnh giao nêu 2 nguồn. Đo ra **3** nguồn — và nguồn thứ 3 nghiêng cùng phía nguồn thứ 2.
|
||||
|
||||
| # | Nguồn | Nói gì | Đo được |
|
||||
|---|---|---|---|
|
||||
| 1 | `runs/2026-07-22-S144-trio-first-run/` | trio ĐÃ chạy | **5 file**: `harness-eval-return.md` (10.907 B) · `harness-refine-return.md` (14.321 B) · `harness-audit-return.md` (11.251 B) · `run.md` · `trio-synthesis.md`. Commit **`8b6df0a` 2026-07-23** |
|
||||
| 2 | `.claude/agent-memory/memory-budget.json:186-188` | "S141 seed - **first-run pending restart+consent**" | Văn-bản **STALE** — chưa ai sửa sau S144 |
|
||||
| 3 | 🆕 chính diary của trio, vd `agent-memory/harness-refine/MEMORY.md:16` | "S141 seed — **CHƯA chạy lần nào**; first-run chờ restart-CLI + spawn-probe + anh consent" | Cũng **STALE**, cùng gốc |
|
||||
|
||||
**Kết luận (khai đúng cái đo được):** trio **ĐÃ CHẠY** first-run thật @S144 (2026-07-22), tuần-tự eval→refine→audit, verdict trong `trio-synthesis.md:7` = `executed-file` → **`verified-runtime`**. Hai nguồn "pending" **không mâu thuẫn với nguồn 1 về sự-kiện** — chúng chỉ **chưa được cập-nhật**, vì đúng lý-do đã tự khai ở `trio-synthesis.md:35`: *"phiên S144→S145 chạy tiếp việc khác rồi `/pause`, harvest-gate chưa kịp gom"*.
|
||||
|
||||
**Nhưng có một vế "pending" VẪN ĐÚNG theo nghĩa hẹp** — và đây là chỗ dễ nhập nhằng, nên tách bạch:
|
||||
|
||||
| Nghĩa của "first-run" | Trạng thái THẬT | Bằng chứng |
|
||||
|---|---|---|
|
||||
| trio **chạy task** lần đầu | ✅ **RỒI** | 3 return-file + synthesis |
|
||||
| trio **ghi diary** lần đầu | ❌ **CHƯA** | eval 1.547 B (mtime **2026-07-20**) · audit 1.513 B (mtime **2026-07-20**) — đứng y nguyên từ ngày seed |
|
||||
|
||||
⇒ Con-số `l1_hot` trong budget.json **vẫn khớp đĩa** (eval 1547 = 1547 ✔ · audit 1513 = 1513 ✔); chỉ **câu chữ `rollout`** là sai. Lý do 3 vai không tự ghi: `run.md:9` khai *"3 vai khai không có Write/Edit"* — nên first-run KHÔNG thể sinh diary; phải lead harvest, mà harvest bị cắt.
|
||||
|
||||
**Drift phụ đo được:** `harness-refine` = **1.611 B** ≠ 1.616 B ghi trong budget.json (−5 B, mtime 2026-07-24 23:11). Truy `git log -p`: commit `9abc2e1` **không phải** entry first-run mà là **đổi tên vai** `lead-omission-auditor` → `lead-gap-auditor` trong dòng split-boundary. ⇒ diary bị chạm vì lý-do khác, con số budget.json lệch 5 B từ đó.
|
||||
|
||||
> 🔴 **Đây chính là ca mẫu của cả đợt rà:** việc ĐÃ chạy, nhưng **bề-mặt-đo không đổi** ⇒ mọi thước đọc `memory-budget.json` sẽ báo "pending" **vĩnh viễn**. Không thước nào trong 17 thước dưới đây đo được ô `rollout` (văn xuôi tự-do, không máy nào parse). Cf. `feedback_absence_looks_like_clean` — vắng-mặt trông giống ổn.
|
||||
|
||||
## ① Bảng eval-của-eval — 4 câu của thư + verdict
|
||||
|
||||
**Quy ước cột:** **Q1** = đã bắt lỗi THẬT chưa (trích dòng, "chưa từng" cũng là dữ liệu) · **Q2** = activity ⟂ integrity ⟂ **efficacy-outcome** (hệ kiểm bắt được lỗi?) ⟂ **use-outcome** (tri-thức có được DÙNG?) · **Q3** = tự-nói-chuyện-với-mình {(a) token-hoá-thạch · (b) đếm-chính-dòng-định-nghĩa · (c) nhãn-hứa-không-ép · (d) chú-thích-tự-mâu-thuẫn} · **Q4** = bỏ thì lọt gì {dormant-đúng-thiết-kế ⟂ thừa-thật}.
|
||||
|
||||
🔒 **2 cột thẩm-quyền ĐỂ TRỐNG — owner điền.** AI chỉ được tự quyết cột "AI-tự-sửa" (vá máy/nhãn/filter); *"AI không tự quyết hai cột sau"* — thư `:24` verbatim.
|
||||
|
||||
### A. 7 thước ĐỘC-LẬP (script riêng)
|
||||
|
||||
| # | Thước | Q1 — bắt lỗi thật? | Q2 — lớp đo | Q3 — tự-nói? | Q4 — bỏ thì lọt gì | Verdict | 🔒 owner-SỐ | 🔒 owner-LUẬT |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| A1 | `mfe-eval.ps1` (Memory-Fidelity) | **CÓ, hôm nay** — fault-inject 3-arm ĐỎ đúng 2/2 (§②). Trước đó: chưa ca tự-nhiên nào | **efficacy-outcome** (nhánh GOODHART-WARN) + activity (span/FIT). Tự tách đúng H6.7 ở `:8-9` | 🔴 **CÓ — dạng MỚI, ngoài 4 dạng của hub: "tự-ăn-nhân-chứng"** (§②.3) | dormant-đúng-thiết-kế cho FIT; **nhưng WARN đang bị tự vô-hiệu** | **SỬA** (bỏ ghi-đè state khi chỉ đọc) | | |
|
||||
| A2 | `applied-eval-nokey.ps1` | Có — `:276` tự khai *"caught by fault-injection: a sabotaged gate printed CASE FAIL yet the summary…"* | **efficacy-outcome** thuần (gate + 3-case selftest) | **KHÔNG** — mẫu-mực ngược: tự in *"This file is a MECHANISM, NOT a number"* + 4 caveat + từ-chối phát số | thừa-thật nếu bỏ = mất **positive-control duy nhất** dạng gate | **GIỮ** (mẫu chuẩn cho cả bộ) | | |
|
||||
| A3 | `spawn-model-audit.ps1` | Có — S126 2026-07-16 đo spawn-param THẮNG frontmatter hard-pin (ghi ngay trong §E.5) | activity + integrity (20/20 model+effort); tự khai KHÔNG phải enforcement | **KHÔNG** — có hẳn §E *"what this report does NOT say"* 6 điều phủ-định | dormant-đúng-thiết-kế (retro-only, tự khai `:E.4`) | **GIỮ** | | |
|
||||
| A4 | `nhip-no-probe.ps1` | Có (gián-tiếp) — `error-ledger.md:50` liệt nó là 1 trong 2 lưới của carve-out; `:61` kiểm S142 = **SỐNG** | activity (đếm nhịp/ngày) — **không** efficacy | Chưa thấy | dormant-đúng-thiết-kế (lưới nhắc, rẻ) | **GIỮ** | | |
|
||||
| A5 | `distill-shard-probe.ps1` | Chưa từng KÊU tự-nhiên. Live: `pending=15 \| nguong=15 => IM` | activity (đếm shard chưa-gist) | ⚠️ **(d) nhẹ** — header `:3` ghi *"anh chot 7 @S144"* nhưng thân `:55-57` + config live = **15**. Header stale | dormant; **NHƯNG level-blind**: ngưỡng neo vào hiện-trạng (`-gt` cố ý, `:55-57` có lý-do owner) ⇒ chỉ kêu khi **thêm 1**, không bao giờ kêu vì "15 đã nhiều" | **SỬA** (chỉ vá comment `:3`) | | |
|
||||
| A6 | `measure-agent-memory.ps1` | Chưa từng — tool xuất JSON byte, không có verdict | **activity/integrity** thuần (byte + `l1_over_30kb`) | Chưa thấy | dormant-đúng-thiết-kế (là nguồn số cho thước khác) | **GIỮ** | | |
|
||||
| A7 | `closeout-sentinel.ps1` | Chưa đo được trong lượt này — `-Commit` là **mandatory**, không chạy trần được | efficacy-outcome (per-commit ritual) | Chưa thấy; `:35/:61-71` tự khai positive-control giới-hạn ở obs-pair | dormant-đúng-thiết-kế | **GIỮ** (chưa đủ dữ-liệu để đòi sửa) | | |
|
||||
|
||||
### B. 11 check TRONG `governance-detectors.ps1` (TOTAL live = **46**)
|
||||
|
||||
🔴 **Kể bằng THÀNH-PHẦN, không bằng số tổng** (bài Goodhart — số tổng che mất ai đang nói):
|
||||
|
||||
```
|
||||
46 = 24 C1-wikilink + 15 C2-derived-stale + 3 H24-2-carry + 3 C3-vocab-fork + 1 H24-1-title
|
||||
```
|
||||
|
||||
| # | Check | Q1 — bắt lỗi thật? | Q2 — lớp đo | Q3 — tự-nói? | Q4 — bỏ thì lọt gì | Verdict | 🔒 owner-SỐ | 🔒 owner-LUẬT |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| B1 | **C1** broken-gotcha-ref | Live **0 flag** | integrity | Không | dormant-đúng-thiết-kế | **GIỮ** | | |
|
||||
| B2 | **C1** dangling-wikilink | Live **24 flag** = **52% toàn TOTAL**. Cùng MỘT lớp: hyphen⟂underscore. Chính detector tự in *"hyphen vs underscore basename fork is common"* | integrity | ⚠️ **(c) nhẹ** — biết nguyên-nhân mà vẫn phát 24 LOW không ai đóng ⇒ **bão-hoà nhiễu**, nuốt tín-hiệu | dormant nhưng đang **che** 22 flag còn lại | **SỬA** (normalize `-`⟂`_` rồi mới đếm) | | |
|
||||
| B3 | **C2/B3** derived-staleness | Live **15 flag**; canonical khớp đĩa (mig 67 · gotcha 83) | integrity | Không — tự in caveat "soft net… can false-positive" + H18-A ratio-band hạ LOW | thừa-thật KHÔNG; đây là lưới chống drift B1 | **GIỮ** | | |
|
||||
| B4 | **C3** vocab-fork | Live **3 flag** (wave-folder⟂run-trace · Dự trù⟂Ngân sách PRO · two-tier⟂all-inherit⟂worker-tier-pin) | integrity | Không (đã vá lớp citation-trap trước đó) | dormant-đúng-thiết-kế | **GIỮ** | | |
|
||||
| B5 | **C4** self-line exclusion | **CÓ** — live: `6 paths excluded`, `0 self-match`, `0 leaked` | integrity **về chính bộ đo** (meta-guard) | Đây là **thuốc giải** dạng tự-nói, không phải bệnh | bỏ = detector tự-khớp chính mình (citation-trap đã cháy thật) | **GIỮ** | | |
|
||||
| B6 | **C5** WAL guardrail | Live `[OK] WAL.md = 30 lines (<= 40)` | integrity (hard cap) | Không | dormant-đúng-thiết-kế (H22) | **GIỮ** | | |
|
||||
| B7 | **C6** cite-2-tier (INFORM) | Live 0/48 file | integrity | Không — tách `InformCount`, không trộn TOTAL | dormant, mới | **GIỮ** | | |
|
||||
| B8 | **C9** hmw WIDTH mirror (INFORM) | Live `[ok] 20 == 20`; `:1545` khai FAIL-LOUD khi thiếu mirror | integrity | Không | dormant-đúng-thiết-kế | **GIỮ** | | |
|
||||
| B9 | **C10** logic-session folder (INFORM) | Live `[ok] session-3 is OPEN`, 0 flag | integrity | Không | dormant, mới @S149 | **GIỮ** | | |
|
||||
| B10 | **C11** H24 FLAG-khuôn (INFORM) | Live 0 — **và tự khai**: *"MEASURED NOTHING… a 0 after a skip is not a green"* | integrity | **KHÔNG** — mẫu-mực: tự tố cáo "xanh-vì-mù" của chính mình | dormant, mới @S149 | **GIỮ** | | |
|
||||
| B11 | **H24-2** carry-age | Live **3 flag** (uat-s134 ×7 · uat-s133 ×9 · hook-vs-budget ×13) | activity (đếm streak) | 🔴 **CÓ — dạng (d) chú-thích-tự-mâu-thuẫn, XÁC NHẬN TRONG CODE** (§②.4) | dormant; nhưng đang **bơm số vào TOTAL** | **SỬA** | | |
|
||||
| — | H24-1 title · H24-3 label-lag · H24-4 pending-flip · H24-5 counter-ancestor · H25-1 closeout-ritual · H25-2 role-notebook | H24-1 = 1 flag · H24-3 `[skip]` · H24-4/5 = 0 · H25-1 `[ok]` 3/3 · H25-2 roster 20, diaries-ok 18, **inert 2** | integrity | H24-3 in `[skip]` trung-thực | phụ-lục, không đủ chỗ soi kỹ lượt này | **GIỮ** (chưa rà sâu — khai thẳng) | | |
|
||||
|
||||
**Tổng verdict:** GIỮ **13** · SỬA **4** (A1 · A5 · B2 · B11) · BỎ **0** · THÊM **1 đề-xuất** (§③).
|
||||
|
||||
## ② Fault-inject THẬT (`-RepoRoot` cây tạm, khuôn S95) + 2 phát hiện phái sinh
|
||||
|
||||
### ②.1 Chọn thước: `mfe-eval.ps1` — **chưa từng bị fault-inject**
|
||||
Grep `docs/governance/ + runs/` ra 8 hit `mfe-eval` nhưng **0 hit fault-inject cho chính nó**; hit gần nhất (`adap-reports/2026-06-30…harness-17…:49`) chỉ chứng *"mfe-eval.ps1 (A2 reuse) exit-0 KHÔNG vỡ"* = happy-path, **không** chứng có RĂNG. Đủ điều-kiện "chọn thước chưa từng inject".
|
||||
|
||||
### ②.2 Kết quả — 3 arm, cây tạm ngoài git, script `scratchpad/mfe-faultinject.ps1`
|
||||
|
||||
| ARM | Bơm gì | FIT | GOODHART | Kỳ vọng | Kết |
|
||||
|---|---|---|---|---|---|
|
||||
| **0** negative-control | không bơm (bản sao sạch) | PASS | no-warn | PASS / no-warn | ✅ |
|
||||
| **A** | `.mfe-state.json.strikes_total` 23 → **3** | PASS | **WARN-FIRED** | WARN | ✅ |
|
||||
| **B** | `lead_tokens` 380000 → **100** | **OVER** | no-warn | OVER | ✅ |
|
||||
|
||||
Dòng ĐỎ thật arm A: `GOODHART-WARN: strikes rose (3 -> 23) while set still FITS -> coverage may LIE (set 'fits' but errors recur = not actually applied)`
|
||||
Dòng ĐỎ thật arm B: `FIT = OVER (worst-case exceeds cap) -> decision: INCREASE budget`
|
||||
|
||||
⇒ **`mfe-eval` CÓ RĂNG, 2/2 nhánh, im đúng lúc sạch.** Không phải "xanh-vì-mù".
|
||||
|
||||
### ②.3 🔴 Phát hiện 1 — **dạng tự-nói-chuyện THỨ 5, chưa có trong 4 dạng của hub: "thước tự ăn nhân-chứng của mình"**
|
||||
|
||||
`mfe-eval.ps1` tự khai `:16` *"a measure-and-report tool, NOT a build gate"* và `:12-13` *"READ-ONLY on token_governor"* — nhưng nó **GHI** `.claude/agent-memory/.mfe-state.json` mỗi lần chạy (`:205-209` `WriteAllText`; write-ops = **2**, là script **duy nhất** ghi trong 8 thước đọc-only đã soi).
|
||||
|
||||
Hệ quả không phải "bẩn git" mà nặng hơn — **cơ-chế cảnh-báo tự tháo ngòi**:
|
||||
- `:193` đọc `$lastStrikes` từ state → `:205-209` **ghi đè ngay** state bằng số hiện-tại.
|
||||
- ⇒ sau BẤT KỲ lần chạy nào, `last == current` ⇒ **GOODHART-WARN không thể nổ** cho tới khi strikes tăng tiếp.
|
||||
- ⇒ ai chạy MFE "chỉ để xem" (đúng như tôi làm hôm nay) là **đốt mất cửa-sổ cảnh-báo** của lần chạy chính-thức kế tiếp. **Quan-sát tiêu-thụ nhân-chứng.**
|
||||
|
||||
**Bằng chứng sống, chính tôi gây ra:** lần chạy baseline làm `git status` hiện ` M .claude/agent-memory/.mfe-state.json`; diff thật = `"at": 2026-07-22 → 2026-07-25` và `"rca_entries": 12 → 14`. **Đã `git checkout --` hoàn nguyên**, git sạch lại (giữ đúng isolation B6, và trả lại cửa-sổ warn cho lần chạy thật).
|
||||
|
||||
### ②.4 🔴 Phát hiện 2 — **H24-2 = dạng (d) nguyên-bản, xác nhận trong code**
|
||||
|
||||
- `:909` phát cờ bằng `Write-Flag` ⇒ tăng `$script:FlagCount` = **TOTAL**.
|
||||
- Nhưng nội-dung cờ ghi `gap-carry-aged **[INFORM]**` + resolve `"INFORM-only - **no action forced**"`; tiêu-đề section `:820` cũng ghi `(INFORM-only)`; docstring `:24` ghi INFORM-only.
|
||||
- Trong khi `:1818` liệt roster INFORM-ONLY = `C6 + H24-4 + H24-5 + C9 + C11` — **KHÔNG có H24-2**; và chính-sách `:65-73` nói rõ sink INFORM là để *"a brand-new net… must not move the audited TOTAL"*.
|
||||
|
||||
⇒ Cùng một output vừa nói *"không ép hành-động"* vừa **tính vào TOTAL bị siết**. Nguyên-nhân nhiều khả năng: H24-2 có TRƯỚC khi sink `InformCount` ra đời (`:65` chỉ kể C6, H24-4), lúc thêm sink **quên di-cư**.
|
||||
|
||||
**Ảnh hưởng đo được:** 3/46 = **6,5%** TOTAL là cờ tự-nhận không-ép. Nặng hơn: acceptance của chính wave này (`spec:19`) là *"detector TOTAL không tăng"* — mà một `[carry:]` owner **cố ý giữ** sẽ đẩy TOTAL lên và **đọc thành hồi-quy**.
|
||||
|
||||
⚠️ **Nhưng vá 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 (đúng bài `feedback_goodhart_leave_measurement_set`). ⇒ **KHÔNG tự vá.** Phải owner chốt: baseline mới 43 có được ratify không, hay giữ 46 và chỉ đổi nhãn? → cột 🔒 owner-LUẬT của B11.
|
||||
|
||||
## ③ THÊM-mới (đề-xuất, KHÔNG tự wire)
|
||||
|
||||
1. **Thước đo "bề-mặt-đo có được cập-nhật không"** — Fact-0 cho thấy trio chạy 3 ngày trước mà 2 chỗ văn-bản vẫn ghi "pending", **0 thước phát hiện**. Đề-xuất check: role có return-file trong `runs/**` mà `memory-budget.json.rollout` còn chữ `first-run pending` ⇒ FLAG INFORM. (Họ-hàng "first-run-role-has-diary" đã đề-xuất lên hub tại `error-ledger.md:118`, đang **chờ hub canonical** — SE không tự chế detector riêng.)
|
||||
2. **Đưa dạng-5 "tự-ăn-nhân-chứng" vào khung 4-câu** (câu 3 thành 5 dạng) — đề-xuất ngược lên hub qua `/adap-request` nếu anh duyệt.
|
||||
|
||||
## ④ KHÔNG CHẮC / honest-caveat
|
||||
|
||||
1. **A7 `closeout-sentinel` chưa đo** — `-Commit` mandatory; verdict GIỮ là **suy từ đọc code**, không phải từ chạy. Khai thẳng.
|
||||
2. **Dòng cuối bảng B (H24-1/3/4/5 + H25-1/2)** gộp 6 check vào 1 dòng — **chưa rà 4 câu từng cái**. Đây là thiếu-sót có chủ-đích do trần lượt, KHÔNG phải "đã phủ hết". Cf. `feedback_meta_count_selfcoverage_blindspot`: không lấy số tổng thay cho từng dòng.
|
||||
3. **Q1 của A4/A5/A6/A7** 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; sổ có thể ghi thiếu.
|
||||
4. **Fault-inject chỉ phủ `mfe-eval`** (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 thiếu positive-control). Không suy ra "cả bộ có răng".
|
||||
5. **Cây tạm nằm ở scratchpad NGOÀI repo** (đúng chỗ tạm được cấp) — nên `git diff` không thấy; containment chứng bằng `git status` sạch sau khi hoàn nguyên `.mfe-state.json`, không phải bằng diff cây tạm.
|
||||
6. **Số hub KHÔNG chép** (thư `:55` dặn) — mọi con số trên là SE tự đo hôm nay.
|
||||
|
||||
## ⑤ Report đã ghi
|
||||
|
||||
`docs/governance/adap-reports/2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval.md` — nấc **executed-partial**, đủ 5 trường format-LOCK, trỏ ngược file này cho bảng.
|
||||
|
||||
## Log tiến-trình
|
||||
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC khi đo. [L2] đọc spec + sub-invest §② + thư nguồn TRỌN.
|
||||
- [L3-4] Fact-0: ls+git log folder trio · budget.json:186-188 · **tự tìm ra nguồn-3** (diary trio) · đo byte 3 diary · truy `git log -p` drift −5B refine.
|
||||
- [L5-7] chạy detector suite live (TOTAL 46) + tally thành-phần theo section + soi code `:909`/`:65-73`/`:1818` xác nhận mâu-thuẫn H24-2.
|
||||
- [L8-10] map input mfe-eval → dựng `mfe-faultinject.ps1` 3-arm → vá bug PS5.1 (`if` inline không phải expression) → **PASS 3/3**.
|
||||
- [L11] `git status` bắt **chính mình** làm bẩn `.mfe-state.json` → truy `:205-209` → ra phát-hiện dạng-5 → `git checkout --` hoàn nguyên.
|
||||
- [L12] probe còn lại (nhip-no · distill-shard · spawn-model · applied-eval · measure-agent) + write-op scan 8 script → mfe là outlier duy nhất.
|
||||
- [L13] bảng 18 dòng + report.
|
||||
@ -0,0 +1,141 @@
|
||||
# sub-apply-L6 — report #23 model-opus-5 · C-b detector engine-bypass · enrich h10-S72
|
||||
|
||||
> 🔴 **PROBE-EVIDENCE (Khoản 2 broadcast opus-5) — ghi LƯỢT 1, TRƯỚC mọi việc khác:**
|
||||
> Lane L6 này được spawn với `tier:'opus'`. Lời **tự-giới-thiệu hệ thống** của chính lane này, verbatim:
|
||||
> `You are powered by the model named Opus 5 (1M context). The exact model ID is claude-opus-5[1m].`
|
||||
> ⇒ alias `tier:'opus'` **resolve ra `claude-opus-5[1m]`** tại thời điểm 2026-07-25.
|
||||
> **Caveat honest:** đây là **self-report của model** (nguồn = system-prompt của chính lane), KHÔNG phải đọc từ API-response-metadata. Đối chứng độc lập = `spawn-model-audit.ps1` do **lead chạy SAU wave** — lane này KHÔNG tự chạy và KHÔNG claim kết quả audit đó.
|
||||
|
||||
---
|
||||
|
||||
## 0. Trạng thái
|
||||
|
||||
- [x] Việc 1 — report #23 → `docs/governance/adap-reports/2026-07-25-Governance-model-default-opus-5-max.md` (**mới**, 5 trường LOCK)
|
||||
- [x] Việc 2 — C-b detector `C12 - raw-engine-bypass` → `scripts/governance-detectors.ps1` (+nhãn INFORM-ONLY) · fault-inject **6 ca**
|
||||
- [x] Việc 3 — enrich h10-S72 → `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` (**+1 dòng**, cuối file)
|
||||
|
||||
## 1. Ghi chú lệch spec (khai trước, honest)
|
||||
|
||||
- Prompt lane ra lệnh **"tạo `sub-apply-L6.md`"** (LƯỢT 1-2, đích danh L6); footer RUN-TRACE generic lại ghi `sub-task-5.md`.
|
||||
- Xử lý: theo **lệnh đích-danh lane** (mới + cụ thể hơn) → ghi DUY NHẤT file này; khai mismatch trong return. Cả 2 path đều nằm trong run-folder ⇒ isolation B6 không vi phạm.
|
||||
- Lệch thứ 2 — **enrich ghi CUỐI file, không chèn header**: xem §5.
|
||||
|
||||
## 2. Việc 1 — report #23 (nấc `executed`, 4 lớp)
|
||||
|
||||
Report: `docs/governance/adap-reports/2026-07-25-Governance-model-default-opus-5-max.md` — đủ 5 trường `adap-report.md:14-19`.
|
||||
|
||||
| Lớp | Evidence file:dòng | Nấc |
|
||||
|---|---|---|
|
||||
| ① lead pin | `~/.claude/settings.json:11` = `"model": "claude-opus-5[1m]"` (global, ngoài git) | executed + runtime-effective (probe) |
|
||||
| ② 2-key TIER2 | `.claude/workflows/hmw.js:62` `TIER2_EXPECTED_FULL_ID = 'claude-opus-5'` · `scripts/spawn-model-audit.ps1:100` `$OWNER_RATIFIED_TIER2_FULL_ID = 'claude-opus-5'` (ràng 2-key: `spawn-model-audit.ps1:91-94`) | executed-file, **uncommitted** |
|
||||
| ②b bucket legacy | `spawn-model-audit.ps1:101` `$TIER2_LEGACY_FULL_ID = 'claude-opus-4-8'` | 🔴 **ghost-wire** — §4 |
|
||||
| ③ BƯỚC 0.6 | `.claude/commands/session-start.md:41` (default Opus-5-MAX kể cả lead · Fable per-lệnh · báo-phiên rút gọn) `:42` lineage `:44` outage giữ cấu-trúc | verified-pending (command `.md` no hot-reload) |
|
||||
|
||||
**Git evidence (KHÔNG bịa sha):** `git diff --stat` 3 file = **15 insertions / 4 deletions**; `git status --short` cả 3 = ` M` (chưa commit). 2 commit hôm nay đều là `wal: flush` ⇒ **cấm cite** (luật `adap-reports/2026-07-18-…h23-precedence-tested-update.md:26` — squash làm `wal:`-sha dangling).
|
||||
|
||||
**Probe khớp hằng-số:** self-report `claude-opus-5[1m]` − hậu-tố `[1m]` (gotcha #37; `spawn-model-audit.ps1:210-212` bắt riêng hậu-tố này) = `claude-opus-5` = **đúng giá trị hằng-số lớp ②**. Hai hướng đo độc lập khớp nhau.
|
||||
|
||||
**Đóng nhãn:** khoản 4.1 `goi-chot-owner-nam-khoan` mang nhãn **BLOCKED-by-O-5** → lớp ①+③ đóng.
|
||||
|
||||
## 3. Việc 2 — C-b detector `C12 - raw-engine-bypass`
|
||||
|
||||
### 3.1 Nguồn sàn (verbatim hub, đọc trực tiếp)
|
||||
|
||||
`broadcasts/inbox/ai_infra/2026-07-03-ai_infra-to-se-batch13-ack-stamp-and-answers.md:27-29`. Tiêu đề `:27` = *"Trả lời câu hỏi 1 — detector 'workflow chạy ngoài engine chuẩn' có bắt buộc không?"*. Đáp `:29` verbatim:
|
||||
|
||||
> **Có, ở mức sàn-chức-năng; còn hình thức thì SE tự quyết.** Sàn = dự án phải CÓ một cách phát hiện được đường chạy workflow không đi qua engine chuẩn của mình (vì đường đó bỏ qua toàn bộ enforce về harvest ký ức + vai + checkpoint — đây là lớp lỗi từng gây tụt chất lượng ký ức toàn fleet, đã RCA). Hình thức đạt sàn thì tự chọn: grep transcript, quét ledger-vs-run-folder, hay "untracked-run detector nhẹ" như SE đề xuất — đều đạt, miễn chạy đều mỗi cuối phiên.
|
||||
|
||||
⇒ Vô hiệu lý-do TAILORED-OUT của S72 (`adap-reports/2026-06-18-…flat-refine-checklist-v2.md:46`: *"SE chạy qua Anthropic Workflow tool (KHÔNG có CLI-launcher bypass-surface)"*). Lý-do đó đã bị **đĩa bác bỏ**: `docs/changelog/sessions/2026-07-15-S119-adap-6-broadcast-spec-v3.md:69` — *"Đồ-thị THẬT = 3 đường (`hmw.js` gate được · raw Workflow · raw Agent) ⇒ 2 đường sau KHÔNG gate được = kẽ CÒN-LẠI"* (+ `:128`).
|
||||
|
||||
### 3.2 Hình thức chọn + code
|
||||
|
||||
Chọn **item 1 của menu hub = session-log sweep** (rẻ nhất, chạy trong chính net này ⇒ "chạy đều mỗi cuối phiên").
|
||||
Vị trí: `scripts/governance-detectors.ps1` — block `C12` chèn NGAY TRƯỚC section `Summary`; khuôn copy từ C9/C10/C11 (banner WHY + WHAT + `[!] KHAI THAT` limits + FROZEN-GATE + `Write-InformFlag` + dòng tổng `-- MEASURED NOTHING` khi window rỗng).
|
||||
|
||||
- **Luật bắt:** session-log có dòng mention spawn (`raw Workflow` | `raw Agent` | `raw-Agent` | `wf_`) **mà CẢ FILE không có dòng nào chứa `run=`** → InformFlag.
|
||||
- **`run=` là gì (đo trên đĩa, không đoán):** token đăng-ký của dòng `wf:` — dạng thật `wf: <label> run=<run-id> runId=wf_<hex>`, ví dụ `docs/changelog/sessions/2026-07-16-2250-S129-adap-errata-eol.md:8`.
|
||||
- **Hằng số land:** `$C12_LAND_DATE = [datetime]'2026-07-25'` — chỉ soi session-log `LastWriteTime >= ` ngày này.
|
||||
- **Nhãn cuối file:** đã thêm `+ C12 raw-engine-bypass` vào dòng `INFORM-ONLY (new nets …)`.
|
||||
|
||||
**Vì sao PHẢI có frozen-gate — số đo thật (dry-run toàn bộ 148 session-log, 2026-07-25):** `grep -rl "wf_"` = **36 file**, `grep -rl "run="` = **9 file** ⇒ **29 file sẽ nổ cờ ngày đầu**. 29 dòng LOW ngày đầu = cách nhanh nhất để một net bị bỏ qua. Đã ghi con số này vào banner.
|
||||
|
||||
**Chống citation-trap (bài học "doc mô tả anti-pattern tất yếu chứa chính mẫu đó"):** 2 chốt use⟂mention, **cả 2 nghiêng về im lặng**: (a) bỏ qua dòng trong khối ``` ``` ``` fence; (b) bỏ qua dòng có chứa `C12` hoặc `governance-detectors` (self-reference). **Giá phải trả đã khai trong banner:** một bypass THẬT viết trên dòng có nhắc `C12` sẽ im — ca F dưới đây chứng đúng cái giá đó, không giấu.
|
||||
|
||||
**3 LIMIT khai trong banner (không phải bug, là biên):** (1) guard mức FILE — 1 dòng `run=` bất kỳ làm im cả file ⇒ phiên đăng-ký run A rồi spawn B raw KHÔNG bắt được; (2) net đọc **lời tự-khai của phiên** — bypass không ai ghi lại thì vô hình (dạng transcript-grep mới phủ, đắt hơn nhiều) ⇒ **C12 xanh ≠ không có bypass**; (3) không chứng run-folder tồn tại, chỉ đọc token đăng-ký.
|
||||
|
||||
### 3.3 Fault-inject — 6 ca, 2 chiều + 3 biên (cây tạm `-RepoRoot`, KHÔNG chạm repo)
|
||||
|
||||
Cây tạm: `…/scratchpad/fi/<ca>/docs/changelog/sessions/…`.
|
||||
|
||||
| Ca | Nội dung inject | Kỳ vọng | ĐO ĐƯỢC |
|
||||
|---|---|---|---|
|
||||
| A-dirty | `wf_deadbeef-111`, **0** `run=` | FLAG | ✅ `[DETECTOR] LOW \| docs/changelog/sessions/2026-07-25-S999-inject.md:3 \| raw-engine-bypass … ('wf_')` · `C12 = 1` |
|
||||
| B-clean | cùng file + dòng `wf: … run=2026-07-25-S999-fake runId=wf_…` | im | ✅ `[ok] … carries a run= registration line` · `C12 = 0` |
|
||||
| C-mention | `raw Workflow` + `wf_…` **nằm trong ``` fence**, 0 `run=` | im (use⟂mention) | ✅ `[ok] … no unregistered spawn mention` · `C12 = 0` |
|
||||
| D-frozen | file dirty y hệt A nhưng mtime **2026-07-20** | im + nói rõ mù | ✅ `[note] no session log with mtime >= 2026-07-25 - window EMPTY, nothing measured (not a green)` · `C12 = 0 -- MEASURED NOTHING` |
|
||||
| E2-rawtoken | chỉ `raw Workflow` + `raw-Agent`, **0** chuỗi `wf_` trong file (sanity-check `Select-String` = 0 hit) | FLAG qua nhánh token chữ | ✅ `…S997.md:3 … mentions a spawn ('raw Workflow')` · `C12 = 1` |
|
||||
| F-selfmention | dòng bypass thật NHƯNG có chữ `C12`, 0 `run=` | im (**giá đã khai**) | ✅ `[ok] … no unregistered spawn mention` · `C12 = 0` |
|
||||
|
||||
🔸 **Ca E lần 1 SUÝT đọc nhầm thành PASS:** tiêu đề file test của tôi có chuỗi `wf_` (viết "no wf_ id") ⇒ cờ nổ ở `:1` qua nhánh `wf_`, **không** chứng được nhánh `raw Workflow`. Phát hiện vì đọc kỹ token in ra (`'wf_'` ≠ kỳ vọng). Đã dựng lại E2 với sanity-check đếm `wf_` = 0 rồi mới tin. (Đúng lớp *"phép trích RỖNG đọc thành sạch"* — test xanh vì lý do sai.)
|
||||
|
||||
### 3.4 Repo thật — TOTAL giữ nguyên
|
||||
|
||||
| Chạy | TOTAL FLAGS | INFORM | C12 |
|
||||
|---|---|---|---|
|
||||
| **Baseline** = `git show HEAD:scripts/governance-detectors.ps1` (bản chưa có C12), `-RepoRoot` = repo thật | **46** | 0 | — |
|
||||
| **Sau edit** (bản có C12), cùng repo | **46** | 0 | **0** `-- MEASURED NOTHING (no session log at/after the land date)` |
|
||||
|
||||
⇒ TOTAL **không đổi** (C12 chỉ đi qua `Write-InformFlag` → `$script:InformCount`, không chạm `$script:FlagCount`). C12 = 0 **vì window rỗng** (session-log mới nhất trên đĩa = `2026-07-24-1800-S148…`), KHÔNG phải vì "đã kiểm và sạch" — dòng tổng nói thẳng điều đó.
|
||||
|
||||
## 4. 🔴 PROPOSE-diff (KHÔNG tự áp — `spawn-model-audit.ps1` ngoài tập file được giao)
|
||||
|
||||
**Phát hiện khi verify lớp ②b, đo được, không phải nghi ngờ:**
|
||||
|
||||
```
|
||||
grep -c "TIER2_LEGACY_FULL_ID" scripts/spawn-model-audit.ps1 -> 1
|
||||
grep -n "TIER2_LEGACY_FULL_ID" scripts/spawn-model-audit.ps1 -> 101:$TIER2_LEGACY_FULL_ID = 'claude-opus-4-8'
|
||||
```
|
||||
|
||||
1 lần xuất hiện = **chính dòng định-nghĩa**; **0 nơi đọc** ⇒ ghost-wire dạng *config-key defined-but-unread* (lớp S100).
|
||||
|
||||
**Hệ quả hành-vi (đọc code, không suy diễn):** bộ phân-loại `:299-320` xử theo family — record resolve `claude-opus-4-8` **nằm trong** `$TIER2_FAMILY_PREFIX = 'claude-opus-'` (`:300`) và **khác** `$expected = 'claude-opus-5'` ⇒ vào nhánh `:309-315` `Write-Flag 'HIGH'` *alias-drift* → **cộng vào TOTAL**. Tức **ngược** với Khoản 1.4 mà chú-thích `:97-98` tuyên bố ("legacy bucket, đếm riêng, KHÔNG cờ drift").
|
||||
|
||||
**Không phóng đại — 2 điều làm nhẹ:** (i) Section B **chỉ soi phiên HIỆN TẠI** (`:258` *"scope = CURRENT session only, by design"*) ⇒ 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`.
|
||||
**Nhưng KHÔNG phải giả-định:** đó **chính là đường outage** mà `session-start.md:44` chỉ định (`/model claude-opus-4-8[1m]` khi Opus 5 không resolve). Outage ⇒ audit cùng phiên sẽ báo HIGH "alias-drift" cho đúng cái mà Khoản 1.4 muốn bucket.
|
||||
|
||||
**Đề xuất tối thiểu (lead áp, 1 nhánh):** trong `foreach ($d in $distinct)`/nhánh `$bad` ở `:308-316`, tách trước:
|
||||
|
||||
```powershell
|
||||
$legacy = @($inFamily | Where-Object { $_ -clike ($TIER2_LEGACY_FULL_ID + '*') })
|
||||
$bad = @($inFamily | Where-Object { $_ -cne $expected -and $_ -cnotlike ($TIER2_LEGACY_FULL_ID + '*') })
|
||||
# $legacy -> verdict 'legacy-bucket (Khoan 1.4, KHONG drift)', đếm riêng $legacyCount, KHÔNG Write-Flag
|
||||
```
|
||||
|
||||
Hoặc — nếu owner thấy không đáng — **xoá hằng-số `:101`** để khỏi có key chết. **Chọn cái nào = quyền owner/lead**, lane không quyết.
|
||||
|
||||
## 5. Việc 3 — enrich h10-S72 (idempotent, 1 dòng)
|
||||
|
||||
- **Kiểm trước:** id `2026-06-18-Governance-h10-flat-detector-refine` **ĐÃ có** trong file, ở `:5` (`broadcasts adopted`) — **dạng văn xuôi**, không phải trường parse per-id. Trường `- **id:**` `:3` chỉ mang 1 id. ⇒ **KHÔNG phải NO-OP hoàn toàn**: giá trị thêm = **dạng để `/adap-audit` parse**, + errata C-b. Khai đúng vậy trong chính dòng thêm, không nói quá.
|
||||
- **Đã thêm đúng 1 dòng** `- **also-covers-id (enrich @S149 …)**` — nội dung: (a) file này cũng là report của id `h10-flat-detector-refine`; (b) errata: khoản (b) TAILORED-OUT ở `:46` **hết hiệu lực từ 07-03** (cite hub `:27-29`) và **ĐÃ ĐÓNG @S149 bằng C12**; (c) `:46` giữ nguyên làm vết lịch sử, bản mới thắng.
|
||||
- 🔴 **Ghi CUỐI file, KHÔNG chèn header — lý do có chủ đích:** chèn 1 dòng vào header sẽ đẩy **mọi dòng sau đó +1**, làm hỏng ngay các cite đang sống **trong chính wave này**: `sub-invest-backlog.md:15` cite `:46`, `spec-adap-backlog-25-07-2026.md`/mục-2 cite `:33`, và các lane L1-L5 **đang viết report song song** có thể cite tiếp. Ghi cuối file = **0 dòng dịch, 0 cite hỏng**. Nếu lead muốn đúng vị trí header, di chuyển sau khi wave đóng và re-anchor `:33`/`:46` → `:34`/`:47`.
|
||||
- **Idempotent:** dòng có khoá `also-covers-id` — chạy lại thì grep khoá này thấy có ⇒ NO-OP.
|
||||
|
||||
## 6. Footprint (tự audit trước khi trả)
|
||||
|
||||
Đúng 4 file, không hơn:
|
||||
|
||||
| File | Loại |
|
||||
|---|---|
|
||||
| `docs/governance/adap-reports/2026-07-25-Governance-model-default-opus-5-max.md` | mới (report #23) |
|
||||
| `scripts/governance-detectors.ps1` | sửa (C12 + nhãn INFORM-ONLY) — lane DUY NHẤT đụng |
|
||||
| `docs/governance/adap-reports/2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` | +1 dòng cuối file |
|
||||
| `.claude/workflows/runs/2026-07-25-S149-adap-backlog/sub-apply-L6.md` | sub-MD này |
|
||||
|
||||
KHÔNG chạm: `agent-memory/*` · MD canonical (CLAUDE/STATUS/agents/session-*) · sub-MD lane khác · `spawn-model-audit.ps1` (chỉ ĐỌC + propose) · `hmw.js` (chỉ ĐỌC). Cây fault-inject nằm **ngoài repo** (scratchpad), không dọn của lane khác (thấy `fi/` đã có file lạ mtime 09:22 — lane bạn đang dùng chung scratchpad; tôi chỉ tạo namespace riêng `fi/A-dirty|B-clean|C-mention|D-frozen|E2-rawtoken|F-selfmention`).
|
||||
|
||||
## 7. Không chắc / để lead quyết
|
||||
|
||||
1. **Thư gốc #23 VẮNG trên đĩa** (`find broadcasts -name "2026-07-2[3-5]*"` = 0 hit; file mới nhất inbox = 07-22) ⇒ sha `59ce1d0f` **không tái-tính được**, số Khoản kế thừa từ chú-thích của lead. Đề nghị lead copy thư vào `broadcasts/inbox/ai_infra/` + stamp-verify, rồi sửa mục 1 report (idempotent).
|
||||
2. **C12 chưa từng bắt ca thật** — window rỗng ngày land. Phép thử thật đầu tiên = session-log S149 khi được ghi (nếu có `run=` thì im, đúng thiết kế).
|
||||
3. **Ngưỡng/severity C12**: để INFORM-only, KHÔNG fold vào TOTAL — theo quy ước repo, fold + nâng severity là **post-triage owner-gated**, lane không tự quyết.
|
||||
4. **Chốt self-mention (b)** là đánh đổi có giá (ca F). Nếu owner thấy giá đó quá đắt, gỡ `C12|governance-detectors` khỏi `$mentionRx` và chấp nhận net tự bắt chính doc mô tả nó.
|
||||
@ -0,0 +1,91 @@
|
||||
# sub-invest-backlog — S149 adap-backlog deep-pass (/fable-real invest)
|
||||
|
||||
> Agent: investigator-codebase-0 · Engine-đắt per-invocation · Ngày: 2026-07-25
|
||||
> Đề-bài: đọc kỹ 22 broadcast pending chưa có adap-report → phân loại {A đã-áp-tên-khác · B de-facto-áp-@S144/S149 · C BINDING-còn-việc · D INFORM/n-a} → propose spec cho wave Opus-5-MAX.
|
||||
> Khung tạo TRƯỚC khi đọc thư (lượt 1). Format-LOCK đọc từ `.claude/commands/adap-report.md` (5 trường :14-19 · no-fake §C5 :28-32 · corruption-clean :43 · 1 file/broadcast :14).
|
||||
|
||||
## ① Bảng phân-loại 22 thư (+#23)
|
||||
|
||||
Tally: **A = 12 · B = 6 · C = 1 · D = 3** (+#23 lead-đã-áp, wave viết report).
|
||||
|
||||
| # | id (outbox/all) | Nhóm | Evidence (file:dòng) |
|
||||
|---|---|---|---|
|
||||
| 1 | 06-18 `checklist-harness-11` | **A** | Report `adap-reports/2026-06-18-Governance-harness-11.md:4` (checklist đính kèm source, adopt S75) + `…harness-15-v2-hot-feed-update.md:48` (reconciliation: "= verify-aid H11") |
|
||||
| 2 | 06-18 `checklist-harness-9-10-v2` | **A** | Report `…harness-10-flat-refine-checklist-v2.md:5` — "broadcasts adopted: checklist-harness-9-10-v2 + h10-flat-detector-refine" (S72, 3 run-id :7) |
|
||||
| 3 | 06-18 `h10-flat-detector-refine` | **A + C-residue** | Cùng report :5 (S72). 🔴 Residue SỐNG: khoản (b) detector chống-lách TAILORED-OUT (:46) **hết hiệu lực từ 07-03** — hub answer `AI_INFRA/broadcasts/outbox/se/2026-07-03-…batch13-ack…:27-29` "sàn-chức-năng… miễn chạy đều mỗi cuối phiên"; lỗ mode-A: `_ledger.md:9` (MODE-A không folder ⇒ bypass không phân biệt) + `governance-detectors.ps1` grep `bypass|whitelist` = 0 (bind-3 c3) |
|
||||
| 4 | 06-19 `checklist-harness-all` | **A** | Report `…harness-all-update.md:4` (+checklist sha `7e6e0555`) + H15-v2 :48 |
|
||||
| 5 | 06-19 `harness-all-update-v-2-0` | **A (n-a)** | `…harness-14.md:5` — "PLAN-announce visibility-only, SKIP n-a, superseded bởi harness-14-adopt" |
|
||||
| 6 | 06-20 `checklist-harness-14` | **A** | `…harness-14.md:4` (checklist sha `e96930da` trong source-block) |
|
||||
| 7 | 06-20 `checklist-harness-15` | **A** | H15-v2 report :49 — verify-aid H15 (adopt S81 = `…harness-15-memory-budget.md`), tái dùng trong review v2 |
|
||||
| 8 | 06-20 `harness-14-adopt` | **A** | `…harness-14.md:4` — source broadcast CHÍNH LÀ file này; report chỉ khác tên (`harness-14` vs `harness-14-adopt`) |
|
||||
| 9 | 06-20 `harness-15-v2-hot-feed-update` | **A** | Report cùng slug đề ngày **06-21**, `:4` source = broadcast 06-20 (`e028537b`), adopt S82 — date-drift 1 ngày |
|
||||
| 10 | 06-29 `harness-16-cd-judge-sub-update` | **A** | `…harness-16-mfe.md:2` frontmatter 3-in-1: "harness-16-{memory-fidelity-eval, mfe-update, cd-judge-sub-update}" (S93, WF `wf_4c63e1bd`/`wf_13e3d35a`) |
|
||||
| 11 | 06-29 `harness-16-memory-fidelity-eval` | **A** | Cùng :2 (mfe = viết tắt memory-fidelity-eval) |
|
||||
| 12 | 06-29 `harness-16-mfe-update` | **A** | Cùng :2 |
|
||||
| 13 | 07-18 `spawn-label-panel-audit-khung` | **B + C-lite** | S144 `C14-disposition-per-khoan.md:14-17` (1.1/1.2 ADOPT dogfood "Gate reviewer anchor s144" · 1.3/1.4 DEFER-từ-phiên-kế) + codify `fable-clone.md:62-64` "KHUÔN LABEL 4 THÀNH-PHẦN (C3, BINDING)" + dogfood `runs/2026-07-22-S144-trio-first-run/run.md:13`. Residue đo hôm nay: run 07-25 `run.md` grep label = **0 hit** ⇒ khoản-④ phủ-mọi-spawn chưa đều |
|
||||
| 14 | 07-19 `ensemble-cost-lens-khan-hiem-va-routing` | **D** | Thư tự khai ×4 KHÔNG floor (`:10/:11/:20/:50`, bind-1 §1a). Optional: cột đơn-vị bảng cost (`agents/README.md:249-257` stale, đóng băng thời 7-sub) + suggest-1-dòng ③ |
|
||||
| 15 | 07-19 `ensemble-depth-axis-deepen-on-contested` | **B** | BINDING 4 khoản `:38-43`. C14 :68-71: F1 KÉP (width ADOPT `hmw.js` C8b · sâu BLOCKED-O-2) · F2/F3 N-A · F4 ADOPT. **O-2 RESOLVED @S149 posture-A** (gate-synthesis:3 + `spec-owner-gated…md:44` + K1 owner-delegated). Residue K2: grep `BLOCKED-by-O-2` spec-sống + 1 dòng posture engine-doc (lane verify) + nợ O-4a→đã thành luật-chung #9 |
|
||||
| 16 | 07-19 `ensemble-depth-cost-update-so-do-thuc` | **D (+1 khoản executed)** | KHÔNG floor (`:20/:63`, bind-1 §3a). Bài-học-2 ĐÃ vá: `hmw.js` C1 LANE-CHẾT-PHẢI-KÊU cite `depth-cost:53` (bind-1 §3c, repro `wf_491c05a8`). Còn: falsifier `:59` đo bảng cost 2 đơn-vị = C-lite SE-tự-đo |
|
||||
| 17 | 07-19 `goi-chot-owner-nam-khoan` | **B** | C14 :39-45 đủ 5 khoản: 4.1 KÉP (ĐÃ-CÓ thực-tế `~/.claude/settings.json` pin 07-20 · nhãn BLOCKED-O-5 → **đóng bằng #23**) · 4.2 ADOPT-có-phạm-vi + C15 khảo sát (`C15-resume-model-override.md`) · 4.3 KÉP (luật P1-5 ADOPT · đo DEFER — ngưỡng "rẻ" = owner-SỐ 🔒 chưa đặt) · 4.4 ADOPT C6 (`C6-cua-loi-hua-may.md`; máy-quét = dự-định) · 4.5 ĐÃ-CÓ (worker-tier-pin S124) |
|
||||
| 18 | 07-19 `harness-dong-du-vong-audit-va-eval-use-side` | **B** | C14 :19-26 + 2.1 đóng @S145 (3 vai-KIỂM TÁCH land, `sub-invest-owner-gated.md:51` bảng gate `session-end.md:170-176` đủ 5 dòng) + **O-3 RESOLVED @S149 tập-rỗng** (gate-synthesis:3) + 2.4 use-side **M7 wire @S149** (`hoi-tu-synthesis.md:20` — "ghost-wire 18-ngày chết") + M1-M6/M9 land (:14-21). Residue verified-pending: bookend lượt-ĐẦU = phiên sau (:29) · M8 V5-counter defer · dải JUMP frozen chờ anh 🔒 |
|
||||
| 19 | 07-19 `hub-tu-danh-gia-3-goc-va-chuyen-pha` | **D (+1 lesson absorbed)** | Thư tự khai FYI KHÔNG floor (`:10/:20/:62` — đọc trực tiếp hôm nay, thư này CHƯA ai đọc trước đó). Lesson `:27` ĐÃ absorb = O-4a luật-chung #9 `spec-adap-dot-11-v2.md:131` + fire-fixed first-person ⓪ (:23/:35). Context: hub chuyển pha BẢO-TRÌ → broadcast thưa lại (:52) |
|
||||
| 20 | 07-20 `3-khoan-title-tier-posture-home-distill-params` | **B + C-lite** | Khoản-2 LANDED `CLAUDE.md:23-30` (biến-thể cố-ý KHÔNG-chép-giá-trị, bind-3 a2) · Khoản-3 LANDED `memory-budget.json:23` `_unit_note` cite `3-khoan:47-53`. Khoản-1 masthead-sweep CHƯA codify: grep `masthead` repo = 5 hit toàn run-note/inbox-copy, **0 rule-file** (đo hôm nay). Thư tự khai "Ba việc tùy chọn" (`:59`) ⇒ khoản-1 = C-lite optional (SE tự xếp P3-4 spec-v1:123 mà chưa làm) |
|
||||
| 21 | 07-20 `auto-toan-vong-distill-2-tang` | **B** | `memory-budget.json:20-31` block `distill_trigger`: mode `shard_count` (O-6, `_lineage` :30 cite `auto-toan-vong:35`) · `min_pending_shards:15` owner-chốt-lần-2 @S144 (:27) · `bulk_note_shards:30` owner-set @S145 (:26) · máy `scripts/distill-shard-probe.ps1` sống. Residual khai thẳng :28: trục TUỔI chưa máy đo (đúng luật 4.4 dự-định-phải-khai) |
|
||||
| 22 | 07-21 `eval-quality-audit-ra-thuoc-eval-cua-eval` | **C** 🔴 | SE TỰ XẾP mà CHƯA LÀM: P3-1 spec-v1 :108-110 + C10 :160 (giao trio harness-eval/refine/audit, acceptance "bịa input sai → ĐỎ"). Đĩa: folder S144 có 13 file — C4/C6/C14/C15, **KHÔNG C10** (glob hôm nay) + 3 notebook trio còn seed-state (`memory-budget.json:186-188` 1547/1616/1513B) + grep "4 câu\|eval-của-eval\|dormant" trong notebook = 0 (bind-3 b2) |
|
||||
| — | 07-25 `model-default-opus-5-max` (#23) | lead-đã-áp | Theo brief lead (thư KHÔNG đọc lại theo lệnh). Wave viết report + probe-evidence: chính wave chạy `tier:'opus'` = alias-probe, spawn-model-audit đọc resolved. Report này đồng thời ĐÓNG nhãn O-5 của khoản 4.1 goi-chot (C14:72) |
|
||||
|
||||
## ② Spec-propose cho wave Opus-5-MAX
|
||||
|
||||
### Mục 1 — Nhóm C: việc thật per-khoản (acceptance đo được)
|
||||
|
||||
| # | Việc | File đụng | Acceptance |
|
||||
|---|---|---|---|
|
||||
| C-a 🔴 (thư 22) | **Chạy pass eval-của-eval 4-câu** trên ~10 thước SE (`governance-detectors.ps1` · `memory-archive-gate` · `memory-selfimprove-audit` · `mfe-eval` · `crystallized-backfill` · `applied-eval-nokey` · `distill-shard-probe` · `nhip-no-probe` · `agent-frontmatter-eol-check` · `measure-agent-memory`) | artifact MỚI trong run-folder wave (vd `eval-cua-eval-bang-verdict.md`) — KHÔNG sửa script | Bảng đủ ~10 thước × 4 câu; mỗi thước: (1) lần-bắt-THẬT gần nhất trích dòng sổ HOẶC khai "chưa từng" · (2) tách efficacy⟂use · (3) 4-dạng-tự-nói · (4) bỏ-thì-lọt-gì {dormant-đúng-thiết-kế ⟂ thừa-thật}; verdict {GIỮ/SỬA/BỎ/THÊM}; **2 cột thẩm-quyền {owner-SỐ·owner-LUẬT} ĐỂ TRỐNG 🔒 trình anh**. Phép-thử C10: fault-inject cây tạm (`-RepoRoot`, khuôn S95) ≥1 detector input-sai → ĐỎ; không đỏ = ghi "xanh-vì-mù" |
|
||||
| C-b (thư 3) | Đóng sàn engine-bypass (hub 07-03): chọn hình-thức nhẹ (menu hub: grep-transcript / quét ledger-vs-run-folder / untracked-run detector nhẹ) + wire cuối phiên | `scripts/governance-detectors.ps1` (code, task-giao disjoint) + PROPOSE call-site session-end (canonical → em main áp) | fault-inject: dựng vết fan-out-bypass giả trong cây tạm → FLAG; cây sạch → 0-flag. Lỗ mode-A không đóng được thì KHAI trong report (honest-caveat), nấc executed-partial |
|
||||
| C-c (thư 13) | Label khuôn-④: chạy falsifier thư `:47` (3 task panel chỉ-đọc-label {ai·gì·nhịp·phiên}) + negative-control spec-v2 C3 :110 (label thiếu {pha·phiên} → phép đọc TRƯỢT) + neo label các lane wave vào `run.md` | run-folder wave | 3/3 đọc được + negative-control TRƯỢT-đúng + `run.md` wave có label-line per lane |
|
||||
| C-d (thư 16+14) | Đo bảng cost 2 đơn-vị (falsifier `depth-cost:59`): lấy ≥1 run có số thật (S149 hoi-tu 946K, `hoi-tu-synthesis.md:4`) tính tổng-vào+ra vs phía-ra + tỉ lệ lệch | PROPOSE diff `agents/README.md:249-257` (+cột đơn-vị, số mới) — MD canonical → em main áp | report có 2 số + tỉ lệ + diff-proposal; KHÔNG lane nào tự sửa agents/README |
|
||||
| C-e (thư 20) | Masthead-sweep codify 1 dòng (khoản-1 3-khoan, optional-by-letter nhưng SE tự xếp P3-4) | PROPOSE diff vào `session-end.md` sweep-step hoặc `docs/rules.md` — canonical → em main áp | sau khi em main áp: grep `masthead` ra ≥1 hit ở rule-file (hiện 0) |
|
||||
| C-f (thư 15) | Verify residue K2 owner-gated-spec: `grep -rn "BLOCKED-by-O-2"` spec-sống = 0? + `grep -in "trục sâu" docs/governance/harness-11-engine.md` ≥1? | đọc-only; thiếu thì PROPOSE 1 dòng posture | 2 grep + verdict; thiếu → diff-proposal 1 dòng |
|
||||
|
||||
### Mục 2 — Nhóm A/B/D: viết 22 adap-report đúng format-LOCK
|
||||
|
||||
- **Mỗi thư 1 file** `docs/governance/adap-reports/<id>.md` (id = tên outbox đầy đủ `<date>-<category>-<slug>`), đủ 5 trường (adap-report.md:14-19). Idempotent — KHÔNG đè report cũ (h10 S72 = **enrich** thêm hub-answer 07-03 + C-b, giữ evidence cũ :33).
|
||||
- **Nhóm A (12):** nấc theo thực-chất = executed (adopt S72/S75/S79/S81/S82/S93, trỏ report-gốc + run-id + reviewer_gate của nó); riêng #5 = **n-a** (PLAN-announce, cite harness-14.md:5). Honest-caveat bắt buộc: "report = pointer-dedup, KHÔNG việc mới — chống double-count khi /adap-audit".
|
||||
- **Nhóm B (6):** nấc per-khoản theo C14-disposition + update S145/S149 (bảng mini trong report, KHÔNG số tổng — bài meta-count C14:51-54). Evidence THẬT: `C14-disposition-per-khoan.md` row + `memory-budget.json:9-31` + `hmw.js:148` + `fable-clone.md:62` + `CLAUDE.md:23-30` + gate-synthesis/hoi-tu-synthesis + commit S149 (lane tự `git log --oneline` lấy sha — CẤM bịa sha). Phần chưa xong = **verified-pending/DEFER ghi rõ**: bookend-lượt-đầu · M8 · dải-JUMP-frozen 🔒 · trục-TUỔI-distill · máy-quét-lời-hứa · 4.3-ngưỡng-rẻ 🔒 · lane-workflow-tier-override-phơi-nhiễm-chưa-đo (C15).
|
||||
- **Nhóm D (3):** nấc **n-a** + trích đúng dòng thư tự-khai KHÔNG-floor (`cost-lens:20/:50` · `depth-cost:20/:63` · `hub-tu-danh-gia:10/:62`); ghi kèm phần ĐÃ absorb (C1 hmw.js · O-4a luật #9) để không mất vết.
|
||||
- **#23:** nấc executed (lớp thi hành lead đã áp) + **probe-evidence từ chính wave**: các lane spawn `tier:'opus'` → spawn-model-audit đọc resolved-model, dán kết quả vào report (KHÔNG chép claim của lead làm evidence).
|
||||
|
||||
### Mục 3 — Chia lane (6 lane, model 'opus' effort MAX = đồng thời alias-probe #23)
|
||||
|
||||
| Lane | Việc | Khối lượng |
|
||||
|---|---|---|
|
||||
| L1 | Report A ×6: checklist-h11 · checklist-9-10-v2 · h10-flat-detector-refine (base, chờ L6 enrich C-b) · checklist-all · all-update-v-2-0(n-a) · checklist-h14 | 6 file |
|
||||
| L2 | Report A ×6: checklist-h15 · h14-adopt · h15-v2-hot-feed · 16-cd-judge · 16-memory-fidelity-eval · 16-mfe-update | 6 file |
|
||||
| L3 | Report B ×4: spawn-label · goi-chot · 3-khoan · auto-toan-vong + việc C-c + C-e | 4 file + 2 việc nhỏ |
|
||||
| L4 | Report B/D ×5: depth-axis · depth-cost · cost-lens · hub-tu-danh-gia · dong-du-vong + việc C-d + C-f | 5 file + 2 việc nhỏ |
|
||||
| L5 | **C-a eval-của-eval** (việc thật lớn nhất) + report eval-quality-audit | 1 file + artifact 10-thước |
|
||||
| L6 | Report #23 + probe-evidence + C-b engine-bypass + enrich report h10-S72 | 2 file + 1 enrich + 1 detector |
|
||||
|
||||
Ràng chung: lane CHỈ Write `docs/governance/adap-reports/<id>.md` + run-folder wave (+ file code task-giao disjoint L6); mọi diff file canonical (agents/README · session-end · rules · engine-doc) = PROPOSE trong sub-MD → em main single-writer áp. Sau land: em main cập nhật `broadcasts/_index.md` báo-nấc (nợ bind-1 §5.1 "hub chưa biết SE đã vá") — KHÔNG copy report sang AI_INFRA (adap-report.md:35).
|
||||
|
||||
## ③ KHÔNG CHẮC
|
||||
|
||||
1. **Hash 22 thư outbox hôm nay chưa tái-đo** vs bản S144/S149 đã đọc (kế thừa bind theo lệnh brief) — hub sửa file sau 07-24 thì verdict lệch. Wave lane nào nghi thì tự sha-compare.
|
||||
2. **K2 depth-axis residue** (BLOCKED-by-O-2 còn trong spec sống? engine-doc có dòng posture?) — chưa grep engine-doc hôm nay → giao C-f.
|
||||
3. **C15 phơi nhiễm** "lane workflow có tier:-override sống qua resume chưa đo" — trạng thái sau S144 không rõ; report goi-chot ghi DEFER-đo trung thực.
|
||||
4. **#23 thư gốc KHÔNG đọc** (theo lệnh brief) — tin brief "lead đã áp lớp thi hành"; L6 phải tự probe, không chép claim làm evidence.
|
||||
5. **Trio sẵn-sàng-chạy?** — folder `2026-07-22-S144-trio-first-run/` tồn tại nhưng `memory-budget.json:186-188` còn ghi "first-run pending restart+consent" (note S141) — 2 nguồn lệch; L5 phải spawn-verify trio trước khi giao trọn C-a (fallback: L5 tự chạy 4-câu, trio chỉ audit).
|
||||
6. **Nhóm A 12 report có làm hub /adap-audit đếm trùng?** — mitigation = honest-caveat "pointer-dedup" từng file; vẫn không chắc parser hub xử lý thế nào.
|
||||
|
||||
## ④ ĐÃ CÂN NHẮC RỒI BÁC
|
||||
|
||||
1. **Gộp 12 thư A vào 1 report tổng** — BÁC: format-LOCK "1 file/broadcast" (adap-report.md:14) + /adap-audit parse per-id ⇒ 1 file gộp = fail audit.
|
||||
2. **Cho lane wave TỰ sửa agents/README + session-end.md + rules.md** — BÁC: RUN-TRACE isolation cấm sub sửa MD canonical (AS-10/E-006 residual-write có tiền lệ cháy thật S72/S93) → propose-diff, em main áp.
|
||||
3. **Xếp eval-quality (22) vào B vì "trio đã dựng + spec đã xếp"** — BÁC: bảng-kế-hoạch ≠ đĩa (S121); artifact C10 VẮNG + notebook 0-hit ⇒ CHƯA làm = C.
|
||||
4. **Nhân tiện chạy luôn 2-agent judge MFE trong wave** — BÁC: sample-Q chưa chín + judge phải KHÁC-phiên (harness-16 report caveat :53); nhét vào wave = tự-chấm-cùng-phiên vô nghĩa.
|
||||
5. **Coi h10-flat-detector-refine = A thuần, khỏi việc** — BÁC: hub-answer 07-03 vô hiệu tailored-out ⇒ nghĩa vụ sàn SỐNG; bỏ qua = đúng lớp "vắng-mặt trông giống ổn" (S146).
|
||||
6. **Wave tự điền 2 cột thẩm-quyền bảng eval-của-eval** — BÁC: thư `:24` verbatim "AI không tự quyết hai cột sau" — để trống 🔒 trình anh.
|
||||
|
||||
## Log tiến-trình
|
||||
|
||||
- [L1] khung rỗng ghi đĩa TRƯỚC khi đọc. [L2-3] glob outbox 91 + reports 79 + format-lock. [L4] 7 report cũ → chốt A-12 (reconciliation có sẵn trong H15-v2:45-49 + mfe:2 3-in-1). [L5-6] kế thừa bind-1/bind-3 + 2 spec S149 + hoi-tu/gate/invest-synthesis. [L7-8] đọc trực tiếp 2 thư chưa-ai-đọc (spawn-label + hub-tu-danh-gia) + sub-invest-owner-gated (goi-chot 5-khoản verbatim). [L9-11] ground đĩa: budget.json hmw_width cap-20 ratified + distill O-6 + hmw.js:148 mirror khớp + spec-v2 C3:110 + masthead 0-rule-file + run.md 07-25 0-label + C14-disposition 17-khoản + O-4a luật-#9 + P3-1/C10 vắng-artifact. [L12] bảng + spec + ghi file này.
|
||||
@ -0,0 +1,14 @@
|
||||
# sub-review-gate — S149 adap-backlog (REVIEW-workflow RIÊNG, Harness-9 mandate)
|
||||
|
||||
**VERDICT: GO** *(em-main-solo re-do — khai provenance dưới)*
|
||||
|
||||
> 🔴 **PROVENANCE:** lane reviewer gốc (`wf_f4e4c006-b86`) #53 KÉP: return schema-fail VÀ file chỉ còn skeleton 274B ("(đang đo)" không bao giờ append — 35 tool-use 0 vết đĩa). Resume fail (transcript không truy được). ⇒ path-4 recovery: **em-main-solo re-do phần gate cơ-khí** (tiền lệ S116). Đây là ca ĐẦU TIÊN đo được "skeleton-có-mà-ruột-rỗng" — khác L7 (mất cả hai): ép-ghi-khung-rỗng tạo VẬT nhưng không bảo đảm RUỘT.
|
||||
|
||||
## Findings (em-main đo tay)
|
||||
- Format-LOCK sweep: **5-heading 23/23 · id-khớp 23/23 · caveat 23/23**.
|
||||
- Falsify-sha: `72d2d1b` trong report dong-du-vong = commit thật (wal: pause hôm nay) — **HELD**.
|
||||
- h10 khoản (b): C12 tồn tại (grep 13 hit) + chạy trong nghi thức detector ⇒ **nâng `agreed`→`executed`** (addendum lead trong report — L1 đúng khi không tự nâng).
|
||||
- Probe #23: 2 nguồn khớp (L6 self-report + spawn-model-audit 6/6 match) + legacy-bucket 13→0.
|
||||
|
||||
## KHÔNG CHẮC (khai thẳng — phần lane chết mang theo)
|
||||
- Spot-check nấc SÂU (mở nguồn từng pointer 6 ca) + thách-CLEAN trio-lệch của L5 = **CHƯA re-do đủ độ sâu lane gốc dự kiến** — gate này là bản CƠ-KHÍ + 2 phán quyết; phần thẩm sâu = nợ khai cho hub trong email báo-nấc.
|
||||
Reference in New Issue
Block a user