# Lead-View-Auditor Agent — Persistent Memory

> **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-omission-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]`

## 🔄 Curate trigger
- Hook-cap >17.1KB → archive L2 `archive/<period>.md` (move-not-cut + seal-verify) + `_INDEX.md` pointer. Entry ≤1.5K.
