[CLAUDE] Infra: W3 file 4-9 - TRI-ACCEPT authority + GAP#6 tier:opus + roster sweep + ACTIVE-MARKS chu-thich
FILE 4 fable-clone.md -- GAP#6: lane ensemble PHAI mang tier:'opus'.
Thieu => inherit lead => lead=Fable thanh N x Fable = dot quota gap N lan VA pha dung
ly-do lenh ton tai (ensemble RE de THAY 1 luot Fable dat). lead=Opus thi tier:'opus'
≡ inherit => loi VO HINH, chi lo khi Fable UP (dung loi reviewer bat @S108).
+ khai CHUA VERIFY precedence spawn-param vs frontmatter (H23 §2(2)) => DEFER phien lead=Fable.
+ grep tier:'opus' = DIEU-KIEN CAN, KHONG DU (do CHU trong file, Goodhart-able 100%).
FILE 5 agents/README.md -- bo SO khoi 8 cho (khong doi so: doi thi roster ke lai stale).
File nay chinh la VI-DU minh-hoa cho class view-stale-role-desc trong lead-view-auditor.md:47.
+ canh-bao bay glob: `ls .claude/agents/*.md` bat LUON README.md => thua 1 (R2-C1).
+ khai: doi roster = doi 2 BE-MAT DOC-LAP (agents/*.md -> registry | VALID_ROLES -> agentType).
FILE 6 fable-real-runbook.md -- 14 hit (lead bao 8 = SAI, xem duoi). + hmw.js:22-30 -> :22-36 (stale line-ref).
FILE 7 sleep-recovery-memory-l2.md -- `all` tu hardcode 9 -> DAN-XUAT TU DIA (do ra 10).
Danh-sach cung 9 da ROT office-document (them S107) suot tu do. Tro-treu: chinh doc do
da ghi "luon quet dia that" cho con-so 4/9 ngay duoi, nhung hardcode roster phia tren.
FILE 8 workflows/README.md -- TRI-ACCEPT vao ORPHAN-AUTHORITY (:19-20) + B1 pointer.
FILE 9 ACTIVE-MARKS.md -- chu-thich cho mark RC-...20-42-01 (anh CHOT: giu ban ky nguyen ven,
them chu-thich; P4/P8). "roster 12" trong than mark = anh chup luc ky, KHONG phai gioi-han.
+ STATUS.md:25 -- STALE THAT trong chinh file CANONICAL: row ghi | Sub-agents | 14 | nhung
narrative CUNG DONG ghi "ca 12 sub model: inherit" (W2 sua row, bo sot narrative).
Bay mega-line TAI HIEN: grep -c = 1 vs grep -o|wc -l = 2.
+ spec v3-PATCH -- SUA ACCEPTANCE FIX#6 (ban goc BAT-KHA-THI, tien-le WAL:29):
"0 hit song" do CA phan CO Y khop => implementation DUNG van truot. Lan thu BA cung ho
R2-C1 (ls=14) + R3-M3 (TOTAL>=46). Acceptance moi = disposition TUNG DONG theo 6 nhom.
Sweep that sau W3: 14 hit song, 0 cai la stale-can-va (vi-du co chu-dich / trich lich-su /
ban da ky / so tam / W5 chua toi luot / canonical history-delta).
LEAD TU BAT 2 LOI DEM (deu o truc dem-ve-viec-minh, -> adap-report):
(a) bao "fable-real-runbook 8 hit" -- that la 14; lay output `head -40` DA BI CAT lam so tong.
(b) bao "do lai tai-hien CHINH XAC du-bao FIX#4" roi lay trung-khop lam cho dua, trong khi
CA FIX#4 LAN LEAD deu dang do TEN FILE. Con-so dung, huong do sai.
=> khop feedback_meta_count_selfcoverage_blindspot: lead DO tot, lead DEM VE MINH thi sai.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -44,6 +44,28 @@ Trước khi gọi Workflow `hmw`, lead **PHẢI** @P1:
|
||||
- **N lane RETURN-only**; em-main **single-writer** (B3) ghi **1 MEMORY entry** đúng vai đó + **gắn nhãn engine đã dùng** (hmw SCHEMA `memoryDelta` KHÔNG field engine → em-main stamp @P3 harvest).
|
||||
- **Một vai = một trí-nhớ** dù N lane (chống AS-10 fragment N-lane).
|
||||
|
||||
## 🔴 GAP#6 — lane ensemble PHẢI mang `tier:'opus'` (KHÔNG để inherit)
|
||||
|
||||
🔴 **Lệnh này tự định-nghĩa mình là "ENSEMBLE **tier-2**" ⇒ lane BUỘC phải chạy tier-2, KHÔNG phải tier của lead.**
|
||||
|
||||
```js
|
||||
taskList: [ { role:'<vai anh gán>', tier:'opus', label:'lens-1', prompt:'…' },
|
||||
{ role:'<vai anh gán>', tier:'opus', label:'lens-2', prompt:'…' }, … ]
|
||||
```
|
||||
|
||||
**Vì sao BẮT BUỘC** (`hmw.js:63-64` `resolveModel()`: `if (tier==='fable'||tier==='opus') return tier`):
|
||||
- **Thiếu `tier`** ⇒ role-có-frontmatter → `model: inherit` → lane ăn **model của LEAD**.
|
||||
- ⇒ **lead = Fable** thì ensemble 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 tier-2 RẺ để **thay** 1 lượt Fable đắt; cặp `/fable-real` mới là đường single-top-model).
|
||||
- ⇒ **lead = Opus** thì `tier:'opus'` ≡ inherit ⇒ **KHÔNG phân-biệt được** ⇒ lỗi này **vô-hình** ở phiên lead=Opus và **chỉ lộ khi Fable UP**. Đúng lỗi 🟥 reviewer bắt @S108.
|
||||
|
||||
### 🔴 CHƯA VERIFY — precedence spawn-param ⟂ frontmatter (H23 §2(2), khai bắt-buộc)
|
||||
|
||||
**Ở 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** (`hmw.js:46-49` mang cùng ghi-chú này).
|
||||
🔴 **Nếu frontmatter thắng ⇒ TOÀN BỘ fix GAP#6 = NO-OP** ⇒ floor-2 vẫn thủng khi Fable UP.
|
||||
**Phép thử phân-biệt được (H23 §6 #3):** chạy 1 lane `tier:'opus'` **KHI lead=Fable** → đọc model **THỰC-TẾ resolve** → lệch ⇒ báo anh. ⚠️ **DEFER tới phiên lead=Fable** — lead=Opus thì 2 nhánh ra **cùng kết-quả**. 🔴 Khai thẳng: **CHƯA test**, đừng bán quá nấc.
|
||||
**Đang có (PA-2, anh chốt O1) = 2 lớp GIÁN-TIẾP, KHÔNG thay được phép thử trên:** PA-2a hằng-số `TIER2_EXPECTED_FULL_ID = 'claude-opus-4-8'` (`hmw.js:50`) + PA-2b `scripts/spawn-model-audit.ps1` so resolved-vs-expected. 🔸 Neo-tại-spawn = **bất-khả-thi** (param chỉ nhận enum alias) — và **chính mệnh-đề đó cũng CHƯA thử** truyền full-id xem có bị từ-chối không (fix#8a).
|
||||
> ⚠️ **Grep `tier:'opus'` ≥1 hit = ĐIỀU-KIỆN CẦN, KHÔNG ĐỦ** — nó chỉ đo **CHỮ trong file**, không đo runtime ⇒ **Goodhart-able 100%**.
|
||||
|
||||
## 🔴 Floor model-tier v3 + lead-discipline
|
||||
- **Lead = frontier-class do ANH chọn per-session** {Fable 5 | Opus 4.8 — **1M MAX**}; **CẤM Sonnet/Haiku-class ghế lead**. Engine-đắt per-invocation = đường DUY NHẤT nâng 1 vai lên hạng-nhất.
|
||||
- ⚠️ **Lead KHÔNG tự ý gọi engine-đắt** — **kể cả khi HMW-mode ON**; chỉ chạy khi anh gõ lệnh.
|
||||
|
||||
@ -31,11 +31,18 @@ Nén **verbatim L2 cũ** thành **gist súc-tích** mà KHÔNG mất signal-quan
|
||||
|
||||
## 👥 SE roster — target hợp-lệ
|
||||
|
||||
`all` = **9 sub có-ký-ức** của SE:
|
||||
`investigator-codebase · investigator-api · implementer-backend · implementer-frontend · test-specialist · reviewer · cicd-monitor · frontend-designer · database-agent`.
|
||||
🔴 **`all` = MỌI sub product/quality có-ký-ức — DẪN-XUẤT TỪ ĐĨA, KHÔNG hardcode danh-sách** (B1; roster canonical → [`docs/STATUS.md`](../../docs/STATUS.md) §Sub-agents):
|
||||
|
||||
> 🟡 **harvest-curator + tooling-auditor = INFORM-only monitor** (KHÔNG vào `all` mặc-định). CHỈ xử-lý nếu chúng **thật-sự có** `archive/<period>.md` verbatim (Phase 0.2 phát-hiện) — gọi tay đích-danh tên.
|
||||
> ℹ️ Thực-tế hiện-tại (đo S71, `memory-budget.json`): chỉ **4/9** sub có archive-content — `cicd-monitor · implementer-backend · investigator-codebase · reviewer`. 5 sub còn-lại archive rỗng/chưa-có → `all` tự skip (Phase 0.2 guard-rỗng). Con-số này = báo-cáo runtime, KHÔNG hardcode: luôn quét đĩa thật.
|
||||
```bash
|
||||
ls -1d .claude/agent-memory/*/ | xargs -n1 basename | grep -vE '^(tooling-auditor|harvest-curator|lead-view-auditor|lead-omission-auditor)$'
|
||||
```
|
||||
|
||||
Hiện-hành = `investigator-codebase · investigator-api · implementer-backend · implementer-frontend · test-specialist · reviewer · cicd-monitor · frontend-designer · database-agent · office-document`.
|
||||
|
||||
> 🟡 **4 monitor INFORM-only KHÔNG vào `all` mặc-định** — `tooling-auditor` (H1) · `harvest-curator` (H2) · `lead-view-auditor` (H24) · `lead-omission-auditor` (H24). CHỈ xử-lý nếu chúng **thật-sự có** `archive/<period>.md` verbatim (Phase 0.2 phát-hiện) — **gọi tay đích-danh tên**.
|
||||
> ⚠️ **Vá @S122 — danh-sách này TỪNG STALE:** nó cứng-hoá "9 sub" và **rớt `office-document`** (vai thêm **S107**, có ký-ức thật, là product/quality **chứ không phải monitor**) suốt từ đó. Trớ-trêu: chính doc này đã ghi *"luôn quét đĩa thật"* cho con-số `4/9` ngay dưới, nhưng lại **hardcode danh-sách roster** phía trên ⇒ nay **quét cả hai**.
|
||||
> ℹ️ **Số sub CÓ archive-content = báo-cáo RUNTIME, luôn quét đĩa** (đo S71: 4 — `cicd-monitor · implementer-backend · investigator-codebase · reviewer`; số còn-lại archive rỗng/chưa-có → `all` tự skip qua Phase 0.2 guard-rỗng). **KHÔNG chép con-số này thành hằng-số.**
|
||||
> 🧹 **Ghi-chú S122:** trước đó `agent-memory/` còn **2 dir RỖNG** `_crlf-probe` + `_lf-probe` (tàn-dư probe W0.6) ⇒ lệnh quét trên **đếm 16 thay vì 14**. Đã `rmdir`. Bài học: **git MÙ với thư-mục rỗng** ⇒ `git status` sạch **KHÔNG** chứng-minh đĩa sạch. Con-số này = báo-cáo runtime, KHÔNG hardcode: luôn quét đĩa thật.
|
||||
|
||||
## Trigger (2 đường)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user