Files
solution-erp/.claude/agent-memory/lead-stale-auditor/MEMORY.md
2026-08-07 17:37:03 +07:00

62 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Lead-View-Auditor Agent — Persistent Memory
- **S179 (2026-08-07) @open`LEAD-STALE: 9 FLAG`, máy-nền 51 giữ 0 `[LEAD SEED ON-BEHALF]`:** **9/9 FLAG đều NGOÀI tập máy phán được** — đó là chỗ vai người còn giá trị. Lead vá **8 ô**: FLAG-1 `view-stale-status` 4 slot HANDOFF (68)-(71) mang dấu 🔴 mở suốt S173→S179 dù **đã ratify + land @S172** (`git log -1 -- HANDOFF` = `3a6eb92`, **0 commit chạm suốt quãng**) · FLAG-2/3 roster 23 vs đĩa **26** ở 2 site `README` · FLAG-4 Tests 644 (lead **chạy thật** `dotnet test` ra **45+600=645**, breakdown cũ "599" cũng lệch) · FLAG-5 Mig 71→**72** + Gotchas 86→**87** · FLAG-6 header CURRENT S168→**S179** · FLAG-9 user-mem 59→**60**. FLAG-7 lead vá **đúng chỗ hỏng = CON-TRỎ** (`§In Progress` tự nó stale-by-design, cái đứt là con-trỏ giải-cứu trỏ vào ô cũng đã ô-nhiễm). FLAG-8 lead **CỐ Ý KHÔNG vá** (`_mind:63` nằm trong block cũ BẤT BIẾN — sửa đè để lấy số đẹp là phạm luật; đính chính thuộc MIND-8). 🔴 **#53:** return đầu **garble giữa câu**, vớt trọn bằng `SendMessage` resume — mảnh garble vẫn mang datum thật (`TOTAL 51 / 2 HIGH`). 🔸 **Bài:** *"đã đính chính TRONG PHIÊN" ≠ "đã LAND trên đĩa"* — chính lỗi 4-slot này đã được `run.md` S173 khai là "lead đã đính chính", mà đĩa nói không. Tag `[s179, 9-flag-ngoai-may, 4-slot-song-6-phien, tests-do-that-645, con-tro-cuu-ho-dut, #53-resume, seed-on-behalf]`
- **S173 (2026-08-05) @open bookend L11-w1 — `LEAD-STALE: 11 FLAG (SAN, khong phai TONG) + 1 INFORM + 7 VERIFIED-CLEAN` (`view-stale-count` 5 · `view-stale-status` 4 · `view-stale-header` 2; HIGH 1/MED-HIGH 2/MED 4/LOW-MED 1/LOW 3) `[LEAD SEED ON-BEHALF — INFORM-only, single-writer = lead (B3)]; nguon `runs/2026-08-05-S173-bookend-open/sub-lead-stale-open-S173.md` 27.244 B, 11/11 dung khuon C11`:** 🔴 **FLAG-4 (HIGH)** `6730eb4` land 5 slot vao **6 nha MAY** (`pause.md`·`session-end.md`·`memory-budget.json`·`.session-counter.json`·`h24-signal-write.ps1`·`.mfe-state.json`) va **0 nha SO**`grep -c HANDOFF` = **0**, `grep -c "✅"` trong khoi `HANDOFF:9-25` = **0**. **Lan thu 4 lien tiep cung hinh dang** (S162·S166·S172·S173): *so dung o noi lead lam viec, so cua owner giu ban cu* — va lan nay **da tieu mot luot quyet-dinh cua owner THAT**. `ring2` tai-dung **HELD 4/4** (suyt phan BROKE vi diary cua chinh no ghi nguoc dau ⇒ **luat moi: claim chuoi ≥3 ky CAM cham bang diary**). 🔴 **FLAG-10** diem mu **tu-quy-chieu**: persona cua CHINH VAI NAY `.claude/agents/lead-stale-auditor.md:45` day "canonical `STATUS.md:19` = 54" trong khi canonical la `:471` = **113**; tien-de vi-du (`CLAUDE.md` ~60) **0 hit** tren dia. Luat bat phai soi file nay nam **cach cho vi-pham 12 dong**. **FLAG-8/9** khai "da va 4 site @S172" nhung dia chi **2/4** (`:102` `DUE hom nay` + `:442` `8d qua han` con nguyen); 3/3 con-tro `HANDOFF:<n>` chet vi file **chen segment len DAU** (+40 dong) ⇒ **moi con-tro so-dong viet cho luot nay chac chan thoi o luot sau**. **INFORM-1** do lai `find -type d -empty` = **4** (bac claim "0" cua `lead-gap`) nhung **co y KHONG nang thanh FLAG** (return vai ngang hang, chua vao so nao) ⇒ nhuong turf `ring2`**ky-luat dung**. 🔴 **`ring2` bat 1 nac ✅ SAI:** khai coverage `STATUS` = ✅ CHAM, that chi **3,5% (30/853 dong)**, va dung vung bi ✅ che giau 1 FLAG that: `STATUS:672` mang nhan **L8** khi dang **L11** trong khi khoi ganh 4 viec song. Coverage tu khai thung 4/4 trung thuc (chua cham ACTIVE-MARKS · migration-todos · WAL/_mind; 19/23 persona moi grep so-cung) ⇒ **11 = can-duoi**. Tag `[s173, 11-flag-san, lan-4-lien-tiep-may-khong-so, tu-quy-chieu-persona-minh, con-tro-so-dong-tu-thoi, nac-clean-sai-che-flag-that, chuoi-3-ky-cam-cham-bang-diary]`
- **S172 (2026-08-05) @close bookend L10-w4 — `9 FLAG (SÀN, không phải TỔNG) + 1 ESCALATE + 11 VERIFIED-CLEAN` · `view-stale-count` 6 · `view-stale-status` 2 · `view-residual-asym` 1 · SEV HIGH 1/MED 4/LOW 4 `[LEAD SEED ON-BEHALF @closeout M9 — vai INFORM-only, single-writer = lead (B3 VERIFY→APPEND)]; nguồn `runs/2026-08-05-S172-bookend-close/sub-lead-stale-close-S172.md` 27.633 B + return`:** 🔴 **FLAG-1 (HIGH) đắt gấp đôi:** `STATUS:479` giữ bundle đời cũ trong khi artifact của chính lead hôm đó đo live `Ajv-MaCz`/`YsXRkBSR` + chứng 2 hash cũ **rơi về `text/html`**. (a) `STATUS:6` cố ý KHÔNG chép số mà trỏ *"canonical ở :479"***con-trỏ B1 nhắm vào ô nhiễm**; (b) chính ô đó **tự viết quy trình cập nhật của nó** (*"nguồn = cicd-verify lượt kế"*) — lượt kế đã đáp, **0 người thi hành**. **Lần thứ hai cùng ô** (S166 F-2). `ring2` F-2 HELD bằng **nguồn NGOÀI repo**. 🔴 **ESCALATE-1 — gặp ca KHÔNG xếp được vào enum ĐÓNG và TỪ CHỐI ép-vừa** (đúng thứ bị TRƯỢT @S162 FLAG-16): lead tuyên *"role thường có đủ Read+Update"* dựa trên 2 tài-khoản mà slot (64) khai **cả hai mang vai cấp riêng**, 0/2 user trần ⇒ nhánh *"vai thường KHÁC vẫn 403"* (hình dạng gốc #85) chưa loại. Báo verbatim + đề nghị *"sửa câu chữ HOẶC mở enum"*; `ring2` phán **đủ cho CA, không đủ cho CLASS**. 🔴 **Sợi chỉ rút ra:** lead **ĐO rất tốt**; trượt nằm ở **quãng đường từ phép đo VỀ SỔ** — số đúng dừng ở artifact, còn `STATUS:479` (owner đọc) và WAL (`/tiep` nạp) giữ số đợt trước. **Lần thứ ba liên tiếp cùng hình dạng** (S162 · S166 · S172). **Khai coverage thủng, cấm đọc thành sạch:** chưa chạm `gotchas.md`/`migration-todos.md`/`ACTIVE-MARKS.md`/21-23 persona ⇒ **9 là SÀN**; `ring2` chấm: khai-thủng làm số **MẠNH hơn**, dùng được chiều cận-dưới, cấm chiều độ-phủ. Tag `[s172, flag1-canonical-o-nhiem-lan-2, tu-choi-ep-vua-enum, do-tot-chep-so-kem, 9-la-san]`
- **S166 (08-01) DEEP giữa-phiên (OVERDUE 15/15 trả tại cửa /tiep) — `11 FLAG (4H/5M/2L), coverage 8/8 chạm (2 PARTIAL) ⇒ SÀN` `[LEAD SEED ON-BEHALF TẠI-CỬA — mày #53 ×2 giữa chừng, artifact 23.8KB + resume-3 chốt COVERAGE/END; nguồn: sub-lead-stale-deep-S166.md + return CLEAN cuối]`:** Sợi chỉ xuyên 4 HIGH lặp đúng câu S162: **số đo ĐÚNG nằm ở WAL/run-folder, không tới bảng canonical STATUS/HANDOFF**. Nặng mới: **F-8 slot (59) ĐẢO DẤU** — đo tươi `tiep_reload` 5-nguồn = **180.649 B ≈ 45-60K tok = ĐÃ ĐẠT dải mục tiêu** (tờ trình đang mời anh chọn trên tiền-đề "underfill ½ sàn" ĐÃ CHẾT — trả lời theo tờ trình hiện tại là CHỌN SAI); **F-7 slot (57) hết "sắp vỡ"**: `_INDEX` **101,23% / 251 B** = ĐÃ VỠ. **F-1 canonical-poison chuỗi máy**: STATUS:465-472 rows cũ làm `governance-detectors` Get-StatusValue resolve 55/220 → detector ĐỀ NGHỊ sửa `ef-core-migration/SKILL.md:93` từ **97 (đúng) xuống 96 (sai)** — view-stale không chỉ lừa người, nó **lây qua máy** thành đề-xuất phá số đúng. F-2 bundle :479 0/2 khớp (`B43R6Y17`/`NLI5umBg` chết — thật `mySTlx42`/`CZAYiWWa`; chính cicd đã đính-chính TRÊN ĐĨA @k3 §5 mà chưa ai lật sổ). 2 mục SẠCH kèm control (roster 23/23 · mirror 3-commit-K) — NEXT-em #5 hoá ra ĐÃ XONG mà chưa lật (F-6). Tag `[s166, deep-11-flag-san, dao-dau-slot-59, da-vo-slot-57, canonical-poison-lay-qua-may, so-dung-o-wal-khong-toi-status, seed-on-behalf-tai-cua]`
- **S162 (07-30) @close bookend L8 — `16 FLAG (SÀN, chưa phải TỔNG)` `[LEAD SEED ON-BEHALF @closeout M9 — nguon: sub-lead-stale-close-S162.md 22.035 B + return]`:** class view-stale-count 8 · view-stale-header 3 · view-residual-asym 2 · view-stale-status 2 · view-stale-role-desc 1. Nặng nhất **FLAG-1 `view-residual-asym`**: commit `a8027c0` vừa tạo Mig 69 + 7 bảng **vừa MỞ bảng canonical STATUS**, chỉ vá 2/5 row (policy 220, menu 55) và **bỏ đúng 3 row chính nó làm sai** ⇒ không phải “closeout chưa chạy” mà là **sửa một phía**. **FLAG-7/8 = 2 slot đang CHỜ OWNER trình bằng THƯỚC CŨ**: (51-bis) ghi 97,45%/522 B trong khi tươi **99,18%/167 B** · slot (45) vẫn “RÚT — báo động giả” (đo trên `_mind-s-7` đóng băng) trong khi file SỐNG **89,06%**. **FLAG-11** `agents/README.md:242` tự xưng “ĐỦ roster” liệt **20 tên**/thật **23** — grep-theo-số IM vì file cố ý không chép số ⇒ **phải ĐẾM PHẦN TỬ**; sống 9 nhãn phiên, tái phạm nguyên văn bài S143 cách chính dòng bài học 214 dòng. **FLAG-15** `_context-s-8` PAUSE-3 ghi menu “135→142” trong khi cicd đo **142→142, 0 row thêm** — file nằm trong `tiep_reload.sources`**sai số TÁI SINH mỗi `/tiep`**. 🔴 Câu chốt: **khoảng cách không nằm giữa lead và sự thật, mà giữa NƠI LEAD LÀM VIỆC (WAL/`_mind` — số đúng đủ cả) và NƠI ANH ĐỌC (STATUS/HANDOFF)**. + **9 mục VERIFIED-CLEAN có lệnh bác** (roster 23 · gotcha 84 · menu/policy vừa vá @S161 · ship-synthesis khớp 8/8 sau khi lead vá F-1/3/4/6/7). Coverage khai thẳng PARTIAL/CHƯA-CHẠM (HANDOFF 383/417 dòng · 20/23 persona · run-folder cây 4-folder ~47 KB) ⇒ **cấm đọc phần chưa soi thành sạch**. Tag `[s162, 16-flag-san-khong-phai-tong, sua-mot-phia, slot-owner-thuoc-cu, dem-phan-tu-khong-grep-so, sai-so-tai-sinh-moi-tiep, seed-on-behalf]`
- **S153 (07-26) 2 LƯỢT hình-B (open + close) — vòng V2 `[lead seed on-behalf @closeout M9; nguồn = sub-file đĩa + ring2 verdict]`:** @open **5 FLAG** — FLAG-1 `view-residual-asym` MED (STATUS:454 khai 3 derived-cite `:3/:37/:113`, đo lại **3/3 sai dòng**, đúng là `:5/:48/:315`) · FLAG-2 `view-stale-header` LOW (:439 "mốc gần nhất S151" trong khi :457 re-stamp @S152; `git show c2d01f0` 3 hunk, 0 chạm :439) · FLAG-3 `view-stale-count` LOW (HANDOFF carry-age 12/9/7 vs máy 13/10/8 — lệch **+1 đều 3**, nguồn = chính đoạn carry vừa append ⇒ **self-referential count**) · **FLAG-4 `view-stale-status` HIGH** (STATUS:454 còn khai trio "consent-gated + CHƯA spawn-probe" trong khi owner (32) đã AUTO **và** chính `:466` cùng file nói ngược — bác được không cần ra ngoài file) · FLAG-5 `view-stale-status` MED (H24 nhịp-`{6/15/3}` vs hình-B vô-điều-kiện; đối-chứng hành-vi: lượt này chạy @counter 27 với light 1/6 chưa tới hạn).
**ring2 chấm 8/8 ĐẠT** + **thách-CLEAN bắt M-1 MISS THẬT của mình**: persona `lead-stale-auditor.md:51-54` còn dạy "KHÔNG chạy mỗi phiên / thuần cadence" — hình-B đã vô-điều-kiện từ S149, và `398d343` chính đợt land hình-B mở file sửa mà để nguyên câu sai. 🔴 **Bài:** mình bắt ĐÚNG class đó ở STATUS (FLAG-5) nhưng **sót chính persona mình** ⇒ điểm mù **tự-quy-chiếu**; `.claude/agents/` NẰM TRONG tập-đo (đã dùng `agents/README`), chỉ 2 file persona bị bỏ ⇒ lần sau grep tập-đo PHẢI gồm persona của chính mình.
Tag `[s153, 5-flag-open, flag4-high-tu-mau-thuan-cung-file, self-referential-count, m1-diem-mu-tu-quy-chieu]`
> 🔄 **RENAME @S149 (2026-07-24, anh ratify):** vai này TRƯỚC ĐÂY tên `lead-view-auditor` — đổi `lead-stale-auditor` đồng-bộ sister (AI_INFRA/VIPIX). Cùng vai cùng contract; nội-dung diary đã cập-nhật theo tên mới, artifact lịch-sử trong `runs/**`/counter-history giữ tên cũ làm vết. Spawn tên mới chỉ sống SAU restart (no-hot-reload).
> **Persistent diary cross-session.** Auto-injected first ~200 lines at spawn (L1 HOT). Update qua EM-MAIN VERIFY→APPEND (vai = propose-only, RETURN-only — KHÔNG tự ghi file này). Tiered Memory v1: L1 HOT cap ~17KB · entry ≤1.5K chars (#53).
> **Seeded @S132 (2026-07-17) — retro-harvest on-behalf bởi em-main** từ `runs/2026-07-15-S124-adap-wave-reply/sub-lead-view.md` (8379B, verbatim còn nguyên trên đĩa — đọc full khi cần). GAP-3 class: vai chạy S124 nhưng diary không ai seed suốt 8 nhãn phiên (per-RUN gate im ĐÚNG thước của nó; per-ROLE không ai sở-hữu — E-011/email e46863c8 GAP-3).
## 🎯 Role baseline
H24 §2(1) vai-STALE — soi VIEW LỆCH SOURCE của cái LEAD surface. Class ∈ enum ĐÓNG `lead_self_audit.flag_classes` (5 view-*): view-residual-asym · view-stale-count · view-stale-status · view-stale-header · view-stale-role-desc. KHÔNG tự chế class; không phân-loại được → verbatim + escalate anh. Chạy theo NHỊP `h24_cadence` (đọc config, CẤM hardcode). ĐỌC output máy (`governance-detectors.ps1`) làm nền — chỉ thêm lăng-kính NGỮ-NGHĨA máy không phán được. KHÔNG lấn: tooling-freshness (H1) · harvest (H2) · cái-THIẾU (lead-gap-auditor).
## 📅 Runs
- **S124 (2026-07-15) FIRST real run / dogfood [fable-clone wave · counter=3 · retro-harvest @S132]:** **9 FLAG** = view-residual-asym ×8 + view-stale-count ×1. Root = MỘT owner-flip (S124 model-tier: all-inherit → worker-tier-pin opus): hmw.js + 14/14 frontmatter = UPDATED (source) nhưng derived docs/memory KHÔNG — đúng chân-dung "sửa nguồn quên gương". Sites: agents/README:38 diagram · session-start:50/:43 (BƯỚC 0.6 chạy MỖI phiên — premise inverted) · fable-clone.md:63/:57/:43 (GAP#6 rationale INVERTED + line-drift :50→:53) · ultra-on:35 · auto-memory project_harness4 (DOUBLY-superseded mà inject mỗi phiên) · STATUS:6 + HANDOFF:5 mega-line (⚠️ caveat: TRỘN live-topology với frozen-narrative — PHẢI tách per-occurrence, frozen để yên). +1 count: README:222 "12 folder" vs đĩa 14. VERIFIED-CLEAN negative: budget/ACTIVE-MARKS bodies/roster-count-14 sạch — chống false-alarm. **Lesson:** (1) my-layer = semantic call máy mù ("2 variants coexist" → cái nào là LIVE-claim đã stale) + surfaces ngoài count-set máy; (2) mega-line = neo bằng TRÍCH không col; (3) jump_on_class_repeat đọc đúng: 8 hit cùng-class trong 1 audit = doc-sync debt của 1 flip, KHÔNG phải cross-audit recurrence (first audit = seeding tally). Tag `[s124, first-dogfood, view-residual-asym-8, one-flip-many-mirrors]`
- **[Post-S124 resolution @S132 retro-note]:** phần lớn 9 flag đã được vá S125-S126 (all-inherit sweep S126: 284 instance → 15 floor-sống/5 file vá + fault-inject 2-chiều — xem `feedback_harness4_two_tier_model` + commit lịch-sử); auto-memory project_harness4 đã relabel "Model-tier evolution → worker-tier-pin S124". Diary này seed muộn — lần chạy kế (~counter 9) ĐỌC baseline S124 ở đây thay vì mù.
- **S140 (2026-07-18) light-audit #3 [counter 14 · force-fire-debt P=3 wal:pause S139 · owner-consent]:** Machine baseline TOTAL 45 (=S139, 0 flag mới) — chỉ soi ngữ-nghĩa. **1 FLAG (view-stale-status, LOW):** `HANDOFF.md:8` NEXT-em còn liệt "spawn-probe reviewer 5-nhãn … nâng `624c378d` verified-pending→executed-runtime" như việc PHẢI-LÀM, nhưng SOURCE = adap-report `624c378d`:9 ĐÃ nâng **executed-runtime @S140** (probe agentId a56dcf6da0425e86c, 17s, 0-garble). To-do xong mid-session, chờ closeout clear. class_repeat view-stale-status 1(S137)→2 (jump@3 chưa chạm). **VERIFIED-CLEAN (chống false-alarm):** (a) report `624c378d`:9 tự-thân=executed-runtime ĐÚNG = nguồn-chân-lý nấc; (b) `_index.md:48`="processed" = email-layer KHÔNG phải adap-nấc → 0 stale; (c) `HANDOFF:5`+`STATUS:462` "624c378d=verified-pending" = narrative-recap S138-S139 đóng-băng-đúng-thời-điểm → KHÔNG flag (trap#3 frozen); (d) **3b model-flip S140→Fable**: canonical `STATUS §Sub-agents:450` dừng enumerate ở flip-8/S107 CÓ CHỦ-ĐÍCH (S106 anti-churn) ⇒ 0 re-stamp; 3 derived (agents/README:5 · session-start:37/41 · session-end:113) point-not-enumerate, 0 stale-model literal → NO FLAG. **Lesson:** nấc-adap advance ở phiên KẾ (S140) trong khi narrative-recap kẹt ở phiên GHI (S139) = staleness sống ở forward-pointer (NEXT-em), KHÔNG ở recap; report tự-thân là nguồn-chân-lý nấc, đừng flag recap. Tag `[s140, light#3, view-stale-status-1, nac-advance-vs-recap, model-flip-no-restamp]`
- **S143 (2026-07-22) DEEP-audit [counter 17 · ngưỡng 18 ⇒ FORCE-FIRE SỚM 1 NHỊP theo direction owner, KHÔNG tới-hạn tự-nhiên]** `[#53 garble ×2 → APPEND on-behalf bởi em-main sau VERIFY, B3; vai chưa tự ghi được]` — nguồn verbatim `runs/2026-07-22-S143-closeout-audit/sub-lead-view-1.md`. Machine baseline TOTAL **47** (45→46→47; +1 sau closeout S143). **3 FLAG, cả 3 cùng class `view-residual-asym`** — đều là **dư-lượng sửa-một-phía của CHÍNH phiên đó**: (1) `STATUS.md:450` ô canonical còn *"NO Write/Edit (chặn-bằng-thiếu-tool)"* trong khi `:462` cùng file + memory `feedback_monitor_residual_write_containment` đã lật (commit `3f4310f` vá memory, quên ô canonical); (2) `agents/README.md:190` còn khai "NO Write/Edit" như sự-thật tool-grant; (3) `agents/README.md:27` dòng **tự xưng "Roster THẬT"** liệt 14 vai, thiếu đúng 3 trio — `git show 2757e41` = **0 hunk** chạm dòng này. 🔴 **Lesson lớn nhất (reviewer bắt thêm site thứ 4 `:225` cùng lớp):** sweep của wave đặt acceptance = grep theo **CON SỐ** (`roster 14|14/14|14 folder|14 vai`) → 0 hit → tuyên bố sạch; nhưng 2 site nặng nhất **liệt kê TÊN, không chứa số nào** ⇒ lọt lưới nguyên wave. **"0 hit" chỉ chứng minh pattern không khớp, KHÔNG chứng minh hết drift — acceptance phải ĐẾM PHẦN TỬ rồi so canonical.** Cả 4 site đã vá `36cefcc`. class_repeat view-residual-asym 0→1 (jump@3 chưa chạm); view-stale-status không tái-hiện → reset 0. Tag `[s143, deep-force-fire-som, view-residual-asym-3, enum-ten-lot-grep-so, sua-mot-phia]`
- **S148 (2026-07-24) light-audit #4 [counter 22 · light 5/6 CHƯA tới hạn ⇒ FORCE-FIRE theo P=1 closeout-gộp, owner-direction — KHÔNG phải nhịp tự nhiên]** `[diary ghi TRONG lúc làm, anti-#53]` — Machine baseline TOTAL **46** (S143=47 → 46; canonical resolve mig=67 test=528 gotcha=83 table=89 menu=54 policy=216). **5 FLAG.** 🔴 **Ca nặng nhất = CANONICAL-POISON:** `STATUS.md:448` row `| Tests | **528 PASS** | 45 Domain + 483 Infra` NHƯNG `STATUS.md:6` cùng file + `changelog/sessions/2026-07-23-1730-S147…:38` đều ghi **532 (45D+487I, was 483I → +4)** ⇒ closeout S147 vá header quên ô canonical; hệ-quả: detector đọc canonical=528 nên **mọi flag C2/B3 test đo bằng thước sai**, `[OK] canonical matches disk` chỉ cross-check mig+gotcha, **KHÔNG** cross-check test ⇒ mù đúng chỗ. Cặp **BẤT-ĐỐI-XỨNG NGƯỢC CHIỀU** cùng 1 cặp file: `STATUS:6` ghi "gotcha 82" trong khi `STATUS:449`=83 VÀ `docs/gotchas.md` max anchor `### 83.`=83 ⇒ một file, hai row, mỗi row stale MỘT chiều khác nhau. **Lesson:** khi canonical-row và header-line cùng sống trong 1 file, closeout dễ vá 1-trong-2 → *đừng giả định canonical luôn đúng chỉ vì nó tên là canonical*; và **cross-check của máy phủ tới đâu thì mới tin tới đó** (mig+gotcha có, test/table/menu/policy KHÔNG). Tag `[s148, light#4, canonical-poison-test-count, header-vs-canonical-row, cross-check-coverage]`
- **S150 (2026-07-25) BOOKEND @close lượt ĐẦU (hình B — vô-điều-kiện, KHÔNG theo counter) · phiên-logic 3 (S149+S150) · counter 24** `[🔸 SELF-WRITTEN trong lúc làm, anti-#53 — chờ em-main VERIFY per B3]` — Machine TOTAL **46**. **6 FLAG**, và 5/6 nằm trên **cùng 1 file** `docs/HANDOFF.md`. 🔴 **Gốc chung, không phải 5 lỗi rời:** cả phiên-logic chạm HANDOFF đúng **4 dòng-diff** (toàn sweep rename) — mọi quyết-định S149 (O-2 posture-A · O-3 tập-rỗng · O-7 cap 20 · thư model `59ce1d0f` [nay = pre-re-stamp; published `9c909007` @S152] · rename 5 vai) đổ vào `WAL`+`_context-s-3`+`budget.json`+`hmw.js` nhưng **KHÔNG đổ vào sổ owner-facing** ⇒ anh vẫn đang đọc 3 mục "chờ anh chốt" mà chính anh đã uỷ-quyền chốt hôm qua. **Lesson-1 (mới):** *khi quyết-định đi qua đường UỶ-QUYỀN (anh nói "Trả lời 4 câu") thay vì owner-gõ-từng-số, nó land ở nơi lead làm việc chứ không ở nơi owner đọc* — bookend phải soi đúng cái khe đó. **Lesson-2 (đo được, đắt):** trục H24-3 session-label **hiện 0 file có hiệu-lực**`STATUS.md`**0** chuỗi `Last updated` (anchor bị đổi hình thành `CURRENT`, đúng thứ comment `:592-595` của chính detector cấm) và `HANDOFF:5` viết `(**S147**` nên regex `\(S` trượt ⇒ nhãn S147 sống trên thân S148/S149 mà máy im. **Không sửa detector (khác turf), nhưng "0 flag" ở trục này KHÔNG đọc thành sạch.** Bẫy tránh được: `grep -c "public const string"` MenuKeys ra **51**, đếm PHẦN-TỬ `All` mới ra **54** = khớp canonical (bài S143 lặp lại nguyên si). Tag `[s150, bookend-close-lan-dau, uy-quyen-land-sai-so, h24-3-anchor-reshape-blind, handoff-1-goc-5-la]`
## S151 (2026-07-25) — bookend @open hình B [M9 lead on-behalf, verify từ sub-file]
- {task: soi view-lệch-source 5 surface · nấc: verified (ring2 8/8 ĐẠT) · evidence: runs/2026-07-25-S151-h24-open-bookend/sub-lead-stale-S151.md 14.636B}
- 5 FLAG (role-desc README:249 tự-niêm-phong · stale-count thước-RAG ~3076 + counter-24 · residual-asym sha-977ba18 E-012-tái + bảng-cổ :302) — TẤT CẢ đã vá @S151 batch doc-fix.
- #53 first-return + skeleton-THUẦN (file 12-dòng lúc chết) → resume đổ trọn. Bài: append TỪNG finding ngay khi thấy, đừng dồn cuối; VERIFIED-CLEAN phải KÈM LỆNH (ring2 BROKE đúng dòng thiếu lệnh rename-residue).
## S151-deep (2026-07-25 @close S151) — deep-sweep 5-trục [bổ-ghi hồi-tố @S152 M9 — harvest-close FLAG-A: lượt này 0 sổ nào ghi tới nay]
- {nấc: executed · evidence: runs/2026-07-25-S151-h24-open-bookend/sub-lead-stale-deep-S151.md 22.056B @`1b85713`}
- Ruột đầy đủ = file trên (bổ-ghi pointer sau sự-kiện, nguồn = đĩa, KHÔNG tái-dựng thêm từ trí nhớ).
## S152 (2026-07-25→26) — bookend hình B @open + @close [M9 on-behalf]
- {nấc: verified (ring2-close: 3+6 FLAG ĐẠT 9/9 nội-dung; D-1/D-2 khuyết-tật đo) · evidence: sub-lead-stale-S152.md 22.284B + sub-lead-stale-close-S152.md 30.195B}
- @open 3 FLAG (HANDOFF(29) bộ-số ma · STATUS:455 bundle S134 · README:5 owner-choice) — vá trong phiên, @close VC-1/2/3 xác nhận vá đúng. @close 6 FLAG, ⭐F1 HIGH: adap-report khai "thư vắng cả hub" trong khi thư PUBLISHED re-stamp `9c909007` — lead vá 6/6 @closeout (sha-sweep 13 bề-mặt LIVE).
- 🔴 D-1 (ring2): lead PIN file lúc 16.911B đang-ghi → 3 FLAG cuối ngoài tầm quyết-định; tally thoát NHỜ MAY (class đã fire @open). Mọi section kết `---` làm bản-cắt trông hoàn-chỉnh → đề-xuất dòng chốt `END+TOTAL` (chờ anh). D-2: 4/4 offset `:55` số-gõ-tay không tái-dựng — output dán từ terminal, đừng gõ lại.
- #53 return-slice ×2 (first + completion) — file đĩa cứu trọn.
## S159 (2026-07-29) — H24 view-stale @open bookend L8 [M9 on-behalf]
- {nấc: verified (ring2 chấm **5/5 ĐẠT**) · evidence: `sub-lead-stale-open-S159.md` 12.054B}
- 🔴 **CHẾT #53 giữa chừng — 0 END, 0 tally.** Mới chạm **5/8 nhóm bề-mặt tự khai****"5 FLAG" là SÀN, KHÔNG phải TỔNG**; coverage vòng-stale phiên này **KHÔNG xác định được** (ring2 giữ nguyên nấc này, cấm phán sạch).
- **FLAG-1 `view-residual-asym` HIGH** — **6 site trong 2 file LỆNH** ghi cặp H24 "chạy theo NHỊP, KHÔNG mỗi phiên" trong khi CÙNG file `session-start:269` + `session-end:113` nói "VÔ-ĐIỀU-KIỆN mỗi bookend". Đối-chứng **HÀNH-VI** (không chỉ chữ): `light_at_counter=27`, `light_every=6` ⇒ S154 (≈28) và S158 (32) hiệu-số 1 và 5, **đều < 6** mà cặp VẪN chạy. Lớp persona + STATUS vá @S153, **lớp LỆNH — nơi điều-khiển spawn — sót tới S159**. → lead vá 6/6 site @S159.
- **FLAG-2 `view-stale-status` HIGH** — `STATUS:459` **row CANONICAL** vẫn ghi RAG DOWN (lead chỉ kiểm `:6`) = canonical-poison, cùng lớp khác site.
-**FLAG-3 `view-stale-count` HIGH — huỷ một câu hỏi đang chờ owner:** slot (45) "trần `_mind` CHẶN cửa /pause" đo trên `_mind-s-7.md` **ĐÃ ĐÓNG BĂNG**; file SỐNG `_mind-s-8.md` = **37,9%**, dư **gấp 8,3×**. Báo-động-giả tiêu mất một lượt quyết-định của owner. → slot (45) RÚT @S159.
- Bài: **tham-chiếu trượt khi phiên-LOGIC đóng và mở**, sổ owner không đi theo ⇒ mọi số trình owner phải đo trên artifact ĐANG SỐNG.
- **S180 (2026-08-07) @open L12 — `15 FLAG` (tự khai là SÀN)** `[LEAD SEED ON-BEHALF]`: 6/6 class `view-*` fire. **FLAG-3 bundle `STATUS:481` stale LẦN THỨ BA** (cặp S172 vs cửa-sổ-6 `CuWgMI7J`/`32bJmjpM``STATUS:6`**tự mâu thuẫn nội file**; con-trỏ B1 ghi `:479` mà row ở `:481` = **mỏ-neo tự-vô-hiệu**) — **lead ĐÃ LẤY ĐÚNG Ô CŨ đưa vào Phase 3 REPORT**. **FLAG-4** `STATUS:8` ghi `deep 6/15` mà đĩa **14/15** = dưới-báo **8 nhịp**. **FLAG-8/9 TRỌNG TÀI: LEAD ĐÚNG, `tooling-auditor` SAI** (bằng chứng mới: 3/4 nút anh-em trong cùng cây đã lật). **FLAG-15 điểm mù tự-quy-chiếu:** persona của CHÍNH vai này neo canonical menu-key vào `STATUS:19` — bắt @S173, sống thêm 7 nhãn phiên. 🔴 Coverage khai thủng **22/26 persona chưa chạm** ⇒ 15 = SÀN. `ring2` **BÁC** con số "5/6 vượt ngưỡng jump" (dựng lại 4/6, vai không khai đơn-vị). Tag `[s180, 15-flag-san, bundle-lan-3, trong-tai-lead-dung, tu-quy-chieu-persona]`