5 ADAP-REPORT (nac cham TUNG DONG, khong gop 1 nhan; KHONG tu phong `verified`): - H22 wal-defect-fix : executed. 4/6 san co runtime; San-2 + San-5 CHUA chay lan nao. - H23 model-at-spawn : executed. 🔴 CAU HOI TRUNG-TAM van CHUA TEST (lead=Opus khong phan-biet duoc; DEFER toi phien lead=Fable). Khai thang. - H24 lead-self-audit: executed + spawn-probe 14/14 runtime. 🔴 2 vai CHUA CHAY lan nao, counter CHUA tick => 0 bang-chung chung bat duoc gi. - EOL/CRLF notice : executed. SE BAC phan (b) bang thuc-nghiem. - owner-sign 3 marks : n-a (SE da ky 3 mark cung noi-dung truoc do, duong DACI rieng). 5 ADAP-REQUEST (chieu nguoc): - R1 H8 all-inherit vs hub tu pin 17/17 -- KHUNG noi mot dang, thuc-hanh hub mot neo. SE khong tu chon duoc: 3 nhanh dan toi 3 hanh-dong NGUOC nhau. - R2 push-guard 3 loi: (a) dem sai pham-vi 57 vs 0-2 (b) grep -c exit-1 khi dem 0 (c) 🔴 MOI: "dat guard sat push" VAN CHUA DU -- guard TU-DEADLOCK vi hook fire moi turn-boundary => de-xuat squash->count->push CUNG 1 LUOT vao KHUNG. - R3 hook side-ref vs floor N.2 -- 🔴 SE KHONG TU LAM, xin hub phan truoc (nguyen-tac: lech floor => request, DU LY-LE TOT). Khai: chua verify plumbing. - R4 CRLF-tolerant bac phan (b) EOL-notice. Disposition TUNG DONG: (a) GIU chan rieng (c) GIU chan rieng (b) BI BAC. + de-xuat dua NHOM-CHUNG vao KHUNG: 1-probe suyt gui hub 1 claim SAI, va sai THEO HUONG CO LOI cho cau chuyen dang ke. - R5 🔴 "orphan" do TEN FILE khong do NOI DUNG -- 32% duong-gia / 25 run. Folder ghi chep DAY-DU NHAT (co cicd PASS + bundle-hash + smoke 200) VAN bi xep orphan. 0/7 la viec mat. De-xuat: sua DINH-NGHIA, va "nhan != cho phep". EMAIL hub: broadcasts/outbox/ai_infra/2026-07-15-...-wave-report.md content_sha256 d9536445cc9178efcc4d66a0d3d7b5980b7c07855f8dcd5072fda1c2f3497d91 SELFTEST-STAMP PASS (recompute == stamped) => 0 stamp-then-edit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
65 lines
5.6 KiB
Markdown
65 lines
5.6 KiB
Markdown
# adap-report — H23 explicit-model-at-spawn (PA-2)
|
||
|
||
## 1. id-broadcast
|
||
`2026-07-13-Governance-harness-23-explicit-model-at-spawn`
|
||
|
||
## 2. nấc G-011
|
||
**executed** — 2 lớp PA-2 đã land và chạy. 🔴 **NHƯNG câu hỏi TRUNG-TÂM của broadcast vẫn CHƯA TEST** (xem §5(a)) ⇒ **KHÔNG được đọc đợt adopt này thành "H23 đã đóng"**.
|
||
|
||
| Phần | Nấc |
|
||
|---|---|
|
||
| PA-1 (a)(b)(c)(d) — 4 file `.md`, 0 frontmatter, 0 config, 0 số, H8 nguyên-vẹn | **executed** |
|
||
| PA-2a — hằng-số `TIER2_EXPECTED_FULL_ID` | **executed + runtime-verified** (detector đổi trạng-thái đúng, §3) |
|
||
| PA-2b — `spawn-model-audit.ps1` so resolved-vs-expected | **executed + runtime-verified** (fail-loud ĐÚNG lúc thiếu → OK khi land; teeth-inject FLAG) |
|
||
| **Precedence spawn-param ⟂ frontmatter** (H23 §2(2)) | 🔴 **n-a TẠM — CHƯA TEST ĐƯỢC** ở phiên lead=Opus. **DEFER**, không phải skip |
|
||
|
||
## 3. evidence
|
||
|
||
**Commit (ĐÃ PUSH, range `4727d16..c39ba9d`):**
|
||
- `d07bbb9` — `scripts/spawn-model-audit.ps1` (PA-2b, 25 606 B)
|
||
- `00a1c67` — `hmw.js:50` `const TIER2_EXPECTED_FULL_ID = 'claude-opus-4-8'` (PA-2a) — trong **1 commit nguyên-tử** 9 file
|
||
- `53765b0` — `fable-clone.md` GAP#6 + `fable-real-runbook.md`
|
||
|
||
**Đo thật — PA-2b đổi trạng-thái ĐÚNG theo thiết-kế (2 mốc, đo bằng chính script):**
|
||
| Mốc | Output |
|
||
|---|---|
|
||
| TRƯỚC W2 land | `FAIL-LOUD: expected constant missing (W2 chưa land)` |
|
||
| SAU W2 land | `[OK] claude-opus-4-8 = owner-ratified` |
|
||
| **Teeth-inject** (lead tự tiêm `claude-opus-9-9`) | **FLAG mismatch** → sửa → hết FLAG |
|
||
|
||
⇒ script **có răng thật**, không phải happy-path xanh.
|
||
|
||
**GAP#6 land (`fable-clone.md`):** lane ensemble PHẢI mang `tier:'opus'`; `hmw.js:63-64` `resolveModel()`: `if (tier==='fable'||tier==='opus') return tier`.
|
||
|
||
## 4. tailored-gì + skip-gì-vì-sao
|
||
|
||
**TAILORED:**
|
||
|
||
1. **PA-2 KHÔNG neo-tại-spawn — vì neo-tại-spawn BẤT-KHẢ-THI ở SE.** Param `model:` của Agent-tool chỉ nhận **enum alias** (`sonnet|opus|haiku|fable`), không nhận full-id; và SE **0 full-id** vì H8 all-inherit. ⇒ anh chủ-dự-án chốt (O1) đổi **hình-thức** sang **PA-2a hằng-số + PA-2b audit so resolved-vs-expected**. 🔴 **Đây là đổi HÌNH-THỨC một quyết-định owner đã ký** ⇒ đã report-before-stamp và **anh ack riêng** (fix#8a).
|
||
|
||
2. **GAP#6 diễn-giải theo project-fit SE:** `/fable-clone` tự định-nghĩa là *"ENSEMBLE **tier-2**"* ⇒ lane **BUỘC** mang `tier:'opus'`. Thiếu ⇒ lane `inherit` lead ⇒ **lead=Fable thì thành N× Fable** = vừa đốt quota top-model gấp N lần, vừa **phá đúng lý-do lệnh tồn-tại** (ensemble rẻ để **thay** 1 lượt Fable đắt).
|
||
|
||
3. **Acceptance v1 `grep tier:'opus' ≥1 hit` giữ làm ĐIỀU-KIỆN CẦN, KHÔNG ĐỦ** — nó chỉ đo **CHỮ trong file**, không đo runtime ⇒ **Goodhart-able 100%**.
|
||
|
||
**SKIP / n-a:** không skip điểm nào của broadcast.
|
||
|
||
## 5. honest-caveat
|
||
|
||
🔴 **(a) LỖ TRUNG-TÂM CHƯA TEST — chính thứ H23 §2(2) BẮT BUỘC phải khai.**
|
||
Nguyên-văn broadcast đòi khai: *"thứ-tự ưu-tiên giữa **'tham-số tại spawn'** và **'pin ở tệp định-nghĩa'** khi **CẢ HAI cùng hiện-diện** — rất có thể **chưa từng được test**."*
|
||
**Ở SE cả hai ĐANG cùng hiện-diện:** `hmw.js` trả alias vào `agent(…, {model:…})` **TRONG KHI** frontmatter **toàn roster** = `inherit`. **Chưa ai test bên nào THẮNG.**
|
||
🔴 **Hệ-quả nếu frontmatter thắng: TOÀN BỘ fix GAP#6 = NO-OP** ⇒ floor-2 vẫn thủng khi Fable UP — **đúng lỗi 🟥 reviewer đã bắt @S108**.
|
||
**Phép thử phân-biệt được (H23 §6 phép-thử-phá #3):** chạy 1 lane `tier:'opus'` **KHI lead=Fable** → đọc model **THỰC-TẾ resolve** → lệch ⇒ báo owner.
|
||
⚠️ **Phiên adopt này lead=Opus** ⇒ `tier:'opus'` ≡ `inherit` ⇒ **2 nhánh ra CÙNG kết-quả** ⇒ **KHÔNG phân-biệt được** ⇒ **DEFER tới phiên lead=Fable**. 🔴 Khai thẳng: **CHƯA test, KHÔNG giả-vờ đã test.**
|
||
⇒ **PA-2a/PA-2b là 2 lớp GIÁN-TIẾP, KHÔNG THAY được phép thử trên.** Chúng chứng *"hằng-số đúng và audit đọc được"*, **không** chứng *"param có thắng frontmatter không"*.
|
||
|
||
🔴 **(b) Chính mệnh-đề "param chỉ nhận alias" cũng CHƯA THỬ.** Cổng-cuối `/fable-real reviewer` bắt đúng: bullet *"param `model:` chỉ nhận enum alias"* trong `owner-decisions` **dán nhãn "Đo" nhưng KHÔNG nêu phép đo**. Nấc trung-thực đã hạ xuống: *"theo tài-liệu harness (Agent-tool `model` enum = `sonnet|opus|haiku|fable`), **CHƯA thử truyền full-id để xem có bị từ-chối không**"* (fix#8a — anh đã ack hình-thức PA-2a+PA-2b trên nền nấc đã hạ này).
|
||
🔸 Đây là **tiền-đề** biến PA-2-nguyên-bản thành "bất-khả-thi" ⇒ nó **đỡ cả kết-luận O1**. Nếu tiền-đề sai, hình-thức PA-2 cần xét lại.
|
||
|
||
🔴 **(c) `hmw.js:46-49` mang cùng ghi-chú này trong mã** — không chỉ ở report. Có chủ-đích: người đọc mã phải thấy lỗ ngay chỗ có thể bị lừa.
|
||
|
||
🟡 **(d) → adap-request R1 (GIỮ, evidenced):** H8 all-inherit ⟂ pin-simple ⟂ H23 — **hub tự pin 17/17** trong khi broadcast nói all-inherit. SE giữ H8 nguyên-vẹn (0 frontmatter đổi) và đề-nghị hub làm rõ.
|
||
|
||
---
|
||
*Ghi @S122 (2026-07-15) · lead **Opus 4.8** — 🔴 chính vì lead=Opus mà §5(a) KHÔNG test được phiên này · chain ĐÃ PUSH `4727d16..c39ba9d`, tree clean*
|