4.7 KiB
synthesis — SETUP-REVIEW đội STYLE 3 vai (S176, 06-08-2026)
Engine: /fable-real reviewer · run wf_264fb5c2-0db · 1 lane · 194.070 tok · 22 tool-use · 923s.
Verdict: SETUP-REVIEW: SỬA-6 — nền thiết-kế ĐỨNG VỮNG, KHÔNG BÁC.
Full-detail: sub-reviewer-0.md (15.798 B) · Kế-hoạch vá: spec-va-doi-style-3-vai-06-08-2026.md
Kết-quả 1 dòng
Đội chưa dùng được — không phải vì sai nền, mà vì 1 lỗi thước khiến nó không bao giờ được gọi ở đúng use-case chính. 5 điểm còn lại là siết chặt.
🔴 Điểm sống-chết — SỬA-1: thước dispatch MÙ working-tree
Lead viết thước là git diff --name-only origin/main...HEAD (ba-chấm) ở 4 site. Ba-chấm chỉ thấy phần ĐÃ COMMIT ⇒ mù uncommitted + mù untracked.
Mà đội là gate PRE-COMMIT (README:67 "MỖI LƯỢT REVIEW", khuôn reviewer = pre-commit). ⇒ Đúng lúc review, lệnh trả RỖNG ⇒ dispatch kết "diff không chạm ⇒ KHÔNG gọi" ⇒ 0 con spawn, và vì không con nào chạy nên cũng 0 dòng SKIP-CO-KHAI để lộ ra.
Đội chết CÂM. Chỉ nổ khi lead lỡ commit trước rồi mới review — tức đúng cái "làm đi làm lại" mà anh muốn chặn, cộng thêm chi-phí 3 persona.
Cùng lớp
dry-run bắt lời-hứa-chưa-land(S168) vàguard-chặn-không-đường-ghi: một guard không có đường chạy tới = guard không tồn tại, mà nhìn từ ngoài thì y hệt guard sạch.
5 điểm còn lại (rút gọn — chi-tiết ở spec)
| # | Cái sai | Vì sao đáng sửa |
|---|---|---|
| 2 | "mọi thứ trên origin/main = production" quá rộng |
deploy.yml:20-27 paths-ignore có 7 class chưa từng deploy; + cửa-sổ deploy-FAIL |
| 3 | Miễn-trừ chỉ đòi con-trỏ | 2/3 nguồn do chính lead viết ⇒ dấu-cao-su. Đòi trích nguyên văn ⇒ owner đọc report tự bác câu bịa |
| 4 | Thách-CLEAN nhánh DAT bẻ được |
Không bắt neo file:line ⇒ bịa "đã đối chiếu, khớp" không ai bắt. Khuôn db (kèm số đếm) mạnh hơn 2 con kia |
| 5 | 3 vai thiếu dir agent-memory/ |
Máy enumerate theo DIR ⇒ 3 vai vô hình câm trong đo/budget — vắng-mặt trông giống ổn (lead tự đo lại: 3/3 THIẾU, CONFIRMED) |
| 6 | Lead chép luật vào persona | Vi phạm chính B1 lead vừa viết trong cùng file (db:71 cấm, db:32/34-35/61 chép). fe:4 chép digits — class đã drift thật: root CLAUDE.md "React 18" vs package.json ^19.2.5 |
3 điều engine BÁC — lead lo hão (ghi để khỏi lo lại)
- Ca REVERT không phá thước — thước đo TREE, không đo HISTORY. Bằng chứng revert thật
3f339c0: code revert không còn trong tree ⇒ không thành chuẩn. Bài: phân biệt đo-tree ⟂ đo-history. - 3 script không hardcode roster —
spawn-model-audit.ps1:400-405·governance-detectors.ps1:1076-1083·mfe-eval.ps1:243đều enumerate ĐỘNG ⇒ tự nhận vai mới. Bài: đừng giả-định script hardcode, mở ra đo. roster 26 > WIDTH_CAP 20không phải hậu-quả mới — LOUD-skip có loghmw.js:165-169, không câm; pre-existing từ 23>20 @S153; use-case 1-3 lane không đụng trần. Chỉ cần nhớ: xếp 3 vai style cuối taskList sweep thì chúng bị cắt.
Nền được giữ (có đo, không khen suông)
- Trục ĐỒNG-NHẤT ⟂ ĐÚNG-SAI tách thật — 5-category của
reviewerkhông có trục khuôn. - Format nhánh
LECHbắt neo bản production = răng chính, hoạt động. - "Bê HÌNH đừng bê LỜI KHAI" (
fe:56) codify được ca thật (lũy kế0-hit). SKIP-CO-KHAI/CẤM ĐẠT-ảokhớp chuẩn ring-family.- 100% anchor FE trỏ file TỒN TẠI trên đĩa (
KhkkListPanel/PipelineTreePanel/PurchaseEvaluationsListPage×2 app) — 0 con-trỏ chết. - Bỏ
clean-code-reviewer-style= quyết-định ĐÚNG (không viết nổi câu scope-rời; 4 con cũng không phủ được seam FE↔BE).
Vết vận-hành
- 🧪 Guard
checkpointApprovedfire đúng ở lần phóng đầu (0 agent · 0 token · 36ms) — guard có răng, không phải lỗi. - 🔸
reviewertự ghisub-reviewer-0.mdthay vì để lead scribe: vai nằm trong nhánh read-only củawriteGuardnhưng runtime vẫn cấp Write (tools-whitelist-no-teeth, G-015). Ghi đúng file đích trong run-folder nên trong bờ isolation — ghi lại làm vết, không leo thang.