--- name: edit-must-predate-review description: Quyết anh S139 — edit nào cần được review thì phải TỒN-TẠI trước lượt review (no-self-exempt); footer/spec cũ mâu-thuẫn với fix mới hơn thì fix thắng + khai trong report metadata: node_type: memory type: feedback originSessionId: 09780401-25c1-438b-9fe5-f3f39ea69a07 --- Wave adap-3-bản S139 (2026-07-18): spec v2 tự mâu-thuẫn — footer thi-công (sót từ v1) ghi "EM micro-edits SAU L3 GO", nhưng fix m-3 (thêm sau gate) đòi "L3 diff-check PHỦ CẢ edit `reviewer.md` của EM" (lead tự sửa file định-nghĩa của chính vai reviewer → không được miễn review). Hai câu không thể cùng đúng: edit sau L3 thì L3 không thể chấm nó. Lead đảo thứ-tự (4 micro-edits TRƯỚC → L3 chấm TRỌN diff kể cả 4 edit), L3 chấm "SOUND, no new hole", anh ratify S139 ("2 - OK đúng"). **Why:** Lỗ no-self-exempt chỉ bịt được khi vật-cần-review nằm trong diff lúc reviewer chạy — thứ-tự là điều-kiện tồn-tại của review, không phải chi-tiết trình-bày. Footer v1 là leftover chưa đồng-bộ khi áp fix; nếu máy-móc theo footer thì chính fix m-3 thành vô-nghĩa. **How to apply:** (1) Mọi edit của lead vào file governance/agent — nhất là file định-nghĩa vai reviewer — phải LAND TRƯỚC lượt review độc-lập, để reviewer chấm nó như phần diff bình-thường. (2) Khi spec tự mâu-thuẫn giữa câu-cũ và fix-mới-hơn: fix thắng, khai quyết-định trong report cho reviewer chấm luôn (đừng lặng-lẽ chọn). (3) Cùng họ với bài "áp luật vừa viết cho nhánh anh-em — vỡ thì luật sai" ([[goodhart-leave-measurement-set]] · di-sản retire-luật S123). Liên-quan: [[root-cause-over-symptom]], [[review-presentation-and-stale-config]].