[CLAUDE] Docs: owner quyet 4 khoan hau-wave — rename san-5 (Q3) + memory edit-must-predate-review (Q2) + email hub xin review Q1a/Q4a khuon chung cross-project (chi-dao dong-bo owner)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-18 08:50:06 +07:00
parent c7bcf75a80
commit d3fe28141a
6 changed files with 68 additions and 3 deletions

View File

@ -10,8 +10,10 @@ chain:
[x] 5. wf: L3-review runId=wf_65e5cf1e-397 **XONG done=1/1 — VERDICT: GO 0C/0M/3-LOW-nit** (return CLEAN 0-garble; về KỊP sau pause-commit `3a394b0`, harvest-liền per /pause bước-1). Reviewer re-measure MỌI acceptance từ git HEAD độc-lập: L1 8/8 PASS · L2 fault-inject re-run C6 8/8 + H24-4 8/8 byte-exact + live TOTAL=45/exit-0 · 4 EM-edit đúng (4-cấp-mark self-catch GIỮ) · đảo-thứ-tự = SOUND · M-1 chứng SỐNG trên HANDOFF thật (:7 vs :9). Evidence: `sub-reviewer-0.md` (EM-scribe TOOL-AWARE) + diary reviewer APPENDED. 3 nit KHÔNG chặn: nit-1 sàn-5 vocab-collision (owner) · nit-2 mirror-C1 (B1-ok) · nit-3 G-011 wording
[x] 6. Ship XONG @S139`implement-synthesis.md` đóng run (dạng-1) · adap-reports ×3 đủ 5-trường (nấc: `624c378d`=verified-pending [agent-md restart] · `cadd24ae`=executed [2/4 cửa runtime-proven trong phiên] · `123d8272`=executed [2 detector fault-inject 13/13 ×2]; K3 bảng 3-hit/3-traced candidate RỖNG; re-grep 5-nhãn TƯƠI 0 hằng-số) · STAGE-2 move 3 file → inbox/ai_infra + `_index` 3 row processed · email `2026-07-18-se-to-ai_infra-adap-wave-3-ban-17-07-bao-nac` SELFTEST-PASS `c5ea71b1b136` + `_index` OUTBOUND row CÙNG LƯỢT · commit ship `[CLAUDE] Docs:` — 🔴 PUSH ĐỂ @CLOSEOUT (§5.0/§5.2 squash→count→push; nhất-quán caveat 3 report). nit-3 unify wording: SKIP-nhẹ (L3 chấm trivial-optional; gộp lượt sửa nit-1 khi anh quyết)
next: mạch wave ĐÓNG TRỌN. Còn phiên-cấp: (a) /session-end khi anh muốn đóng phiên (squash→push + STATUS/HANDOFF + monitor H1/H2 + counter) — cho tới đó mọi thứ durable local qua Dropbox; (b) 4 khoản chờ anh (carry dưới).
carry (ANH): 1) dangling-head FAIL-LOUD ×3 (S127/S133/S139) chờ anh/hub quyết · 2) đảo-thứ-tự micro-edits-trước-L3 theo m-3 — L3 đã chấm SOUND, chờ anh OK hình-thức · 3) nit-1 sàn-5 vocab-collision session-end :72(H22) vs :108(S138): rename bản mới HAY alias-map (L3 đề-xuất rename — S138 claimant yếu hơn) · + 8 mục HANDOFF segment S135-S137 + MFE strikes 21→23 + hook-cap ×2 S138.
[x] 7. Owner quyết 4 khoản @S139 (1a · 2-OK · 3-rename · 4=map-tầng-5) + chỉ-đạo ĐỒNG-BỘ cross-project "hub review lại" → SE thực-thi: 3-rename XONG (session-end.md:108 "Luật đánh-số chờ-anh" — token sàn-5 hết đụng) · 2-ratify ghi memory `feedback_edit_must_predate_review` (1909B) · 1a + 4a KHÔNG tự áp — email hub xin review/khuôn-chung `2026-07-18-se-to-ai_infra-owner-quyet-4-khoan-xin-hub-review` SELFTEST-PASS `21b71a1e8e5b` + _index row CÙNG LƯỢT · 4b để-sau-triage (FYI trong email)
next: chờ hub reply email 4-khoản (check-email lượt tới) → 1a đổi contract + 4a thêm câu cửa-duyệt THEO BẢN HUB. Phiên-cấp: /session-end khi anh muốn đóng (squash→push + STATUS/HANDOFF + monitor H1/H2).
carry (ANH): 1) [chờ-HUB] dangling-head 1a — anh đã chọn, hub đang review khuôn chung · 2) [chờ-HUB] 4a cửa-duyệt hứa-máy — map Vòng-5, hub phán floor · + 8 mục HANDOFF segment S135-S137 + MFE strikes 21→23 + hook-cap ×2 S138.
verify:
- git log --oneline -3 # 2 commit `wal: pause` S139 (3a394b0 diff-wave + commit harvest-L3 này)

View File

@ -39,6 +39,7 @@
- [Return terminates agent](feedback_return_terminates_agent.md) — CẤM lệnh "trả verdict TRƯỚC, làm việc SAU" = bất-khả-thi vật-lý; sub mô-tả ý-định rồi tắt → claim-sai mà lỗi ở LỆNH lead; thứ-tự đúng = làm→verify→return, hoặc lead ghi on-behalf sau VERIFY-đĩa (S119) · **+S123: prompt-đúng KHÔNG chặn được #53** (cấm bẫy từ prompt đầu cho cả 3 sub, cả 3 vẫn garble ×4) ⇒ chặn được = **ghi-đĩa-TRONG-lúc-làm** (harvest-curator vớt ngay từ đĩa; 2 vai kia phải resume) + resume-in-session; reviewer **tự rút luật "ghi diary TRƯỚC return"** từ garble-1 và nhờ đúng nó mà garble-2 vớt được
- [Citation-trap self-reference](feedback_citation_trap_selfreference.md) — doc định-nghĩa anti-pattern TẤT-YẾU chứa mẫu đó ⇒ detector khớp-mẫu bắt chính nó, **lây qua trích-dẫn** (3 đời/1 wave); discriminator = **enclosure use⟂mention**, KHÔNG port charset-guard; vá 1 CLASS ⇒ grep MỌI matcher cùng-lớp TRONG diff (gen-2 xảy ra thật)
- [Goodhart: rời tập-đo](feedback_goodhart_leave_measurement_set.md) — "vá" bằng đổi HÌNH-DẠNG thứ đang bị đo = rời tập-đo; **flag-count giảm trông y hệt thành công** ⇒ hỏi "cái mất đi là dương-giả hay CHỨNG-NHÂN?"; kể chuyện bằng THÀNH-PHẦN không bằng tổng; +2 phép thử rẻ (trục-nào-KHÔNG-có-ca · áp-luật-cho-nhánh-anh-em)
- [Edit phải có trước review](feedback_edit_must_predate_review.md) — edit-cần-review (nhất là file vai reviewer) LAND TRƯỚC lượt L3 (no-self-exempt cần vật tồn-tại trong diff); spec tự-mâu-thuẫn → fix-mới thắng footer-cũ + khai trong report (anh ratify S139)
## Project — ongoing decisions / context
- [H22 WAL session-continuity](project_h22_wal_session_continuity.md) — sổ WAL ≤40 + Stop-hook persist VERIFIED-RUNTIME S111 (hot-reload ENV-DEP #2/#3) + /pause·/tiep 1-đường + squash wal: + FLIP run-trace ≥3-task + D10 AS-6-taxonomy-đổi; hook PS1 KHÔNG bash (PATH 3-context); pilot kill/đổi-acc pending

View File

@ -0,0 +1,14 @@
---
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]].

View File

@ -105,7 +105,7 @@ Em main PHẢI echo **TOÀN BỘ nội dung command body này** (đầy đủ Ph
**Vì sao bắt buộc:** carry-age detector đo **streak** = số segment LIÊN-TỤC mang cùng slug. Đo thật @S121: **45 logic-segment nhưng `carry-lines=1`** ⇒ streak **luôn ≡ 1** ⇒ **0 fire VĨNH VIỄN, kể cả sau W2**. Bằng-chứng: `tra-bui-relogin` chỉ đóng dấu **seg#0 (S119)**, trong khi **seg#2 (S118)** nhắc **đúng việc đó** mà **không có dấu** ⇒ **tuổi thật ≥2, máy đọc 1**. ⇒ detector **vacuous về CẤU-TRÚC**, không phải sai ngưỡng.
🔴 **Không retrofit dấu vào segment CŨ** (§Q3 no-retrofit) ⇒ **đường DUY NHẤT còn lại** = re-stamp từ nay về sau; tuổi sẽ đo đúng **từ S122 trở đi**, và **khai thẳng** rằng carry mở trước S122 có tuổi **đo-thiếu**.
**Định-nghĩa "dòng-carry" (owner O3):** = **đoạn LOGIC** `NEXT anh` / `NEXT em` trong mega-line — KHÔNG phải dòng vật-lý. ⚠️ Bẫy đếm: `grep -c` đếm **DÒNG** (=1 trên mega-line), `grep -o | wc -l` đếm **occurrence** (=n). Dùng đúng cái thứ hai.
🔢 **Luật-số sàn-5 (S138):** khối **chờ-anh** trong `HANDOFF` LUÔN **đánh số** (anh trả lời bằng số) — khớp nhóm-3 MASTER-CHECKLIST + nghi-thức re-stamp carry ở trên; số cố-định giúp anh trả lời gọn.
🔢 **Luật đánh-số chờ-anh (điểm sàn #5 master-checklist `cadd24ae`, S138 — rename S139 tránh trùng token "Sàn-5" H22 ở trên, quyết anh + L3 nit-1):** khối **chờ-anh** trong `HANDOFF` LUÔN **đánh số** (anh trả lời bằng số) — khớp nhóm-3 MASTER-CHECKLIST + nghi-thức re-stamp carry ở trên; số cố-định giúp anh trả lời gọn.
- **(v) 🔷 TICK-at-close (Item 1(d) S135 — idempotent):** tick `.claude/governance/.session-counter.json` **theo contract** — 🔴 **CON-TRỎ `session-start §2.1.8`, CẤM chép logic tick** (B1). Idempotent: cùng nhãn-phiên phiên này ⇒ **NO-OP** (nếu `/session-start` hoặc `/tiep` đã tick nhãn này). Có delta → **§5.1 add đích-danh counter-file** (file ngoài hook-3-path; bằng-chứng sống: tick S133 nằm uncommitted qua 2 closeout liên tiếp — M-7).
- **(vi) 🔥 Force-fire bù khi closeout gộp sổ (Item 3 S135 — floor B1 §3.2):** đếm `P` = số `wal: pause` gộp vào closeout này: `P=$(git log --format=%s "<closeout-liền-trước>..HEAD" | grep -c '^wal: pause' || true)` — `<closeout-liền-trước>` = commit gần nhất match **regex closeout DÙNG CHUNG Item 4** `^\[CLAUDE\] Docs: S\d+.*(closeout|session-end)` (1 regex, đừng chép 2 bản). 🔴 **so-sánh SỐ, KHÔNG dùng exit-code** (`grep -c` trả exit 1 khi đếm 0 — §5.0 (a)): `[ "$P" -ge 1 ]`. Nếu **`P >= 1` HOẶC** nhãn đóng dạng `S<a>-S<b>` (closeout gộp nhiều phiên) ⇒ coi như **`OVERDUE(light)` bất-kể counter** → in dòng-nợ (qua (i)) + **INFORM-BẮT-BUỘC** anh + **đề-xuất spawn cặp H24 (`lead-view-auditor` + `lead-omission-auditor`) NGAY closeout này**. 🔴 **DP-3 consent-gate GIỮ** (luật owner-era §L.b(j)(ii) + `session-start §2.1.8(e)` "KHÔNG auto-run — anh consent" + hẹn hub "light-run owner-triggered"): force-fire = INFORM-bắt-buộc + đề-xuất-chạy mặc-định, **anh gật mới chạy trong closeout**. Báo hub SELF-CHECK ô3 = **"PASS-với-carve-out (consent)"**, KHÔNG PASS trần.
- **(g) 🔌 tooling-freshness CHỐT (🟫 tooling-auditor H1 — Harness 1):** spawn → chốt 4-mặt (skill·sub-role·plugin·docs) đổi gì session này + **new-alloc audit** (skill/plugin MỚI chưa phân-bổ → đề-xuất gán em main + sub phù-hợp vai) + flag doc-drift/roster-lệch/count-stale. Propose → em main APPEND/sửa doc (single-writer). 🔴 G-015: 2 monitor = propose-only, em main VERIFY trước APPEND (Bash residual → KHÔNG "read-only enforced").