Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6.7 KiB
adap-report — 2026-07-10-Governance-harness-21-spec-file-invocation (SE)
Broadcast:
2026-07-10-Governance-harness-21-spec-file-invocation.md(outbox/all AI_INFRA). Adopt S110 (2026-07-11), anh-directed (/check-email AI_INFRA+ lệnh anh nguyên văn:"/fable-real inves và review — chủ đề các vấn đề trong email nhận được. hmw cho đám Opus 4.8 MAX xử lý"— chính lệnh này ĐÃ đúng khung H21: owner gõ + vai đích-danh + worker hạng-hai). Integrity gate: whole-fileGet-FileHashcopy==nguồn ✓ + bodycontent_sha256re-compute19cc954b…MATCH ✓ (canonical split-frontmatter + strip-1-leading-newline + SHA256-UTF8).reviewer_gate: PASS-WITH-FIXES(gate-outward AI_INFRA WF-3wf_61e7fc76).supersedes_scope: partial(trên H19 "model ảo ensemble" — 2 khoản thay: 2-vai-cố-định + mode-switch; định-nghĩa 2 engine + ký-ức-đúng-vai + chất-lượng GIỮ). Harness-9 mandate 2-workflow + engine-đắt lượt này: invest = investigator-codebase Fable-real single-deep-pass (spawn-direct; ⚠️ #53-garble → SendMessage-resume recover, verdict PASS đầy đủ) → lead verify + ghi spec-file 3-mục.claude/workflows/runs/2026-07-11-h21-mtv3-adopt/spec-h21-mtv3-adopt-11-07-2026.md(dogfood khoản-① NGAY lượt adopt — run-1) → WF implementwf_0c3b307f-a64(3 worker Opus 4.8 MAXmodel:'opus'edit-direct, 3/3 DONE 0-error schema-clean) → review = reviewer Fable-real single-deep-pass (⚠️ #53-garble lần 2 → SendMessage-resume recover) → PASS_WITH_FIXES (0 Critical · 5 Major M1-M5 · 9 minor) → em-main fix trọn M1-M4 + minors cùng phiên, M5 = chính file này + file MTv3 (khớp filename đã cite trong 3 supersede-note).
Nấc per-khoản (G-011: agreed / executed / verified)
| Khoản (sàn 🔴) | Nấc | Evidence |
|---|---|---|
| ① Spec-file 3-mục mỗi run engine-đắt (engine propose-only → lead verify → LEAD ghi → worker theo spec) | executed + dogfood run-1 CÙNG LƯỢT | Template + pipeline codify harness-11-engine.md §K.E(ii); 2 command fable-real.md:25-32 / fable-clone.md:23-30; runbook §2.1-bis; spec thật runs/2026-07-11-h21-mtv3-adopt/spec-h21-mtv3-adopt-11-07-2026.md (3-heading, provenance ghi rõ engine-propose → lead-verified-2-chỉnh → lead-ghi) |
| ② Owner-gõ-kèm-vai; BỎ mode-marker + BỎ 2-vai-cố-định; lead không tự ý | executed | Marker .claude/fable-real-mode.on ĐÃ XÓA (Test-Path=False; .gitignore:92 giữ pattern phòng-hờ + comment 🧊); 2 command redesign per-invocation <vai> <đề-bài> (vai ∈ roster 12, thiếu/sai → hỏi anh); session-start BƯỚC 0.5b reword reader-H21; engine K.A/K.B/K.D 🧊-supersede + K.E mới; runbook ~30 point-edit ($mode→$engine/INVOCATION, AP-4-mới "chạy ngoài lượt-lệnh = vi phạm") |
| 4 ghi-chú trung-thực a-d | executed (hiện diện đủ) | K.E(iii) 4 note nguyên ý; fable-real.md:22-23,31-32 + fable-clone.md:21,29-30; runbook §2.1-bis note-block. (a) giữ đúng nấc "owner-gated tầng lệnh + kỷ-luật lead, KHÔNG code-enforced" — grep "code-enforced" toàn bộ = phủ-định |
| Migration khoản 5 (gỡ marker · grep token cũ toàn repo kể cả persona) | executed + reviewer-verified | 12 persona .claude/agents/*.md = 0 hit (SẠCH — ngược bài học hub "chỗ sót ở persona phụ"); grep-suite post-fix: Test-Path marker 4/4 hit đều dòng-🧊, "LUÔN top-model" ACTIVE=0; HISTORY (session-log/archive/diary/adap-report-body-cũ/dogfood-form S108) giữ nguyên văn |
| Sàn 5-điểm §6 | executed 5/5 | Reviewer Fable bảng-đối-chiếu: ①spec-file ✓ ②worker-theo-spec (bơm args, hmw.js không đọc file) ✓ ③chỉ-chạy-khi-owner-gõ ✓ ④vai-owner-gán ✓ ⑤lead-không-tự-ý (kể cả HMW-ON; hmw.js:38-40 comment reword tier:'fable' chỉ trong lượt lệnh) ✓ |
Tailored / phát-hiện-riêng / honest-caveat
- Tailored form: giữ TÊN 2 lệnh cũ
/fable-real|/fable-clone(= lệnh-A/lệnh-B; H21 §6 "tên lệnh tự quyết") — đổi semantics toggle→per-invocation; spec-file đặt trong run-trace H10 sẵn có (.claude/workflows/runs/<run-id>/git-TRACKED → owner audit qua git, đúng mục-đích khoản ①); namingspec-<tên-tính-năng>-<dd-mm-yyyy>.md. - Phát-hiện-riêng #1 (boundary-gap M2): lệnh-B × 2 vai monitor (
tooling-auditor/harvest-curator) — 2 vai ∉hmw.jsVALID_ROLES (10) → ensemble fail-soft default-subagent mất persona (H19 2-vai-cố-định che edge này; roster-12 promise mở ra mới lộ). Xử: document limitation ởfable-clone.md+ K.E(i); bổ sung VALID_ROLES = đổi code, chờ anh quyết (không tự sửa trong đợt docs-only). → RESOLVED CÙNG PHIÊN: anh-directed (AskUserQuestion S110) bổ sung 2 monitor → VALID_ROLES 12 đủ roster (hmw.js:28-29, node --check PASS; supersede điểm H6-design "monitor ngoài workflow" — monitor vẫn INFORM-only, lane RETURN-only). - Phát-hiện-riêng #2 (worker-đổi-fact M1): worker Opus khi reword tự đổi "10 vai"→"12 vai" trong câu mô tả VALID_ROLES = sai fact code — reviewer Fable bắt, em-main fix. Lesson: worker-draft đụng CON SỐ về code → cross-check code thật trước commit.
- Phát-hiện-riêng #3 (sweep-theo-token mù semantics M3): acceptance "grep
Test-Pathngoài 🧊 = 0" PASS trong khi ~16 cụm semantics-cũ chưa-đánh-dấu vẫn sống (nặng nhất: P5 "2 vai EXCLUDED" mâu thuẫn ROLE_VALID roster-12 TRONG CÙNG checklist) — đúng lớp lỗi broadcast §5 cảnh báo, bắt bởi reviewer-Fable đọc-semantics (không phải grep). Fix point-edit trọn. - Honest-caveat: (i) "lead không tự ý" = kỷ-luật + owner-gated tầng lệnh, KHÔNG code-enforced —
hmw.jskhông gate vai, đườngtier:'fable'còn nguyên (đúng note-a broadcast); (ii) dogfood = run-1 duy nhất (chính lượt adopt này) — chưa có số-liệu N-run pipeline spec→worker (không claim); (iii) command.mdsửa = restart CLI mới ăn runtime (registry hot-reload description ĐÃ thấy giữa phiên nhưng body-execution chưa re-verify — đồng bộ caveat ENV-DEPENDENT triage-S5); (iv) markRC-…17-46-35(H19) = quyền anh — em đề xuất mark mới supersede, CHƯA stamp, chờ anh (P8). - #53 return-garble ×2 trong CHÍNH lượt này (cả invest lẫn reviewer Fable-lane — đúng correlation reasoning-lane adap-request
2026-07-06-se-53-garble…): SendMessage-resume recover 2/2 sạch — data-point mới củng cố mitigation-set đã gửi hub (S6 triage-reply đã ACCEPT codify).