Files
solution-erp/docs/governance/adap-reports/2026-07-10-Governance-harness-21-spec-file-invocation.md

6.5 KiB
Raw Blame History

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-file Get-FileHash copy==nguồn ✓ + body content_sha256 re-compute 19cc954b… MATCH ✓ (canonical split-frontmatter + strip-1-leading-newline + SHA256-UTF8). reviewer_gate: PASS-WITH-FIXES (gate-outward AI_INFRA WF-3 wf_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 implement wf_0c3b307f-a64 (3 worker Opus 4.8 MAX model:'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 ①); naming spec-<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.js VALID_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).
  • 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-Path ngoà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-enforcedhmw.js không gate vai, đường tier:'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 .md sử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) mark RC-…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).