155 lines
22 KiB
Markdown
155 lines
22 KiB
Markdown
# sub-lead-stale-open-S169 — H24 §2(1) vai-STALE, bookend @open phiên S169 (L10 window-1)
|
||
|
||
> **Nhịp:** hình-B vô-điều-kiện @`session-start §2.1.8(e)`. counter **43**, light 3/6 (KHÔNG phải cổng — light_every = STATS-ONLY từ S149), deep 3/15.
|
||
> **Enum ĐÓNG đọc từ** `.claude/agent-memory/memory-budget.json` → `lead_self_audit.flag_classes` (5 view-*): `view-stale-count` · `view-stale-status` · `view-stale-header` · `view-stale-role-desc` · `view-residual-asym`.
|
||
> **Ghi LIÊN TỤC trong lúc làm** (chống #53 — S159 chết giữa chừng ở 5/8 nhóm ⇒ "5 FLAG" thành SÀN).
|
||
|
||
## Tập-đo (8 nhóm bề-mặt tự khai) — trạng thái cập-nhật liên tục
|
||
|
||
| # | Nhóm bề-mặt | Trạng thái |
|
||
|---|---|---|
|
||
| N1 | `docs/STATUS.md` dòng CURRENT `:6` + bảng CURRENT STATE `:461-482` | ✅ CHẠM |
|
||
| N2 | `docs/HANDOFF.md` slot (64)(65)(66) + "Slot cũ còn treo" + lineage-block S162 | ✅ CHẠM |
|
||
| N3 | `.claude/agents/*.md` 23 persona (số-học) | ⏳ |
|
||
| N4 | `.claude/commands/session-start.md` + `session-end.md` (dư-lượng FLAG-1 @S159) | ⏳ |
|
||
| N5 | `CLAUDE.md` root (Modules + danh-sách mig) | ⏳ |
|
||
| N6 | Dư-lượng bất-đối-xứng @S168 (GĐ3-D · K8 dry-run · số phiếu 003→004) | ⏳ |
|
||
| N7 | `.claude/skills/*/SKILL.md` + `.claude/agents/README.md` | ⏳ |
|
||
| N8 | `tiep_reload.sources` khác (WAL · ACTIVE-MARKS · `_context-s-*` · migration-todos · gotchas) | ⏳ |
|
||
|
||
## Nền MÁY (đọc, KHÔNG chạy lại)
|
||
`governance-detectors.ps1` TOTAL **48** + INFORM **14** · self-match 0 · 6 path self-exclusion.
|
||
`nhip-no-probe.ps1`: light 3/6 deep 3/15 ok · trần-bộ-nhớ 0 over-cap · l2idx 0 over · run-chưa-gom 3 · pull-cách 10 ngày.
|
||
`distill-shard-probe.ps1`: pending=17 | ngưỡng=15 ⇒ KÊU. `memory-selfimprove-audit.ps1`: GAP HCV:MED.
|
||
|
||
## Số TƯƠI làm thước (nguồn = canonical `docs/STATUS.md` CURRENT STATE, đối chiếu đĩa)
|
||
Mig **71** (`:465`) · SQL tables **97** (`:466`) · Policies **452** (`:470`) · Menu keys **113** (`:471`) · Tests **644** = 45D+599I (`:472`) · Gotchas **86** (`:473`) · Sub-agents **23** (`:476`) · bundle admin `DLRf9TeA` / eoffice `C7TGA4Kn` (`:479`) · counter **43** (đĩa `.session-counter.json`) · roster đĩa = 24 file `.claude/agents/*.md` − README = **23** KHỚP.
|
||
|
||
### Đo tươi phụ-trợ (dùng cho các FLAG dưới)
|
||
- `.claude/agent-memory/cicd-monitor/archive/_INDEX.md` = **9.682 B** / cap 20.480 = **47,3%** (sau split `628132c` @S167); `_INDEX-2026-H1.md` = 13.906 B (rotated, no-cap theo `split_rule_S167`).
|
||
- `.claude/agent-memory/harvest-curator/MEMORY.md` = **18.781 B**.
|
||
- `.claude/sessions/session-9/` = có `_end` (1.187 B) ⇒ **L9 ĐÃ ĐÓNG**; `_mind-s-9.md` = **43.411 B** (= 88,3% trần MỚI 49.152 B).
|
||
- `.claude/sessions/session-10/` = CHỈ có `_context-s-10.md` (2.942 B) — chưa có `_mind-s-10.md`.
|
||
- `.claude/agents/ring5-audit.md` = **KHÔNG tồn tại** (slot (41) còn treo ĐÚNG).
|
||
|
||
---
|
||
|
||
## FLAG (ghi dần — số thứ tự ổn định, không đánh lại)
|
||
|
||
### FLAG-1 — `view-stale-status` — **HIGH**
|
||
- **view:** `docs/HANDOFF.md:24` — dòng LIVE "**Slot cũ còn treo:**" (khối @S168, tức khối SỐNG) liệt `(47) \`_INDEX\` cap` trong danh sách các slot **còn chờ anh**.
|
||
- **source:** `docs/HANDOFF.md:22` cùng file — `(57) split \`_INDEX\` **THI-HÀNH** @S167 \`628132c\` (A7 427/427 PASS lần-đầu + fault-inject 2-chiều; luật \`split_rule_S167\` → key \`memory-budget.json\`)`; và `.claude/agent-memory/memory-budget.json:64` `split_rule_S167` (đã land, owner 'auto' 2026-08-01); đo đĩa `_INDEX.md` = 9.682 B / 20.480 = **47,3%**.
|
||
- **lệch:** view nói câu-hỏi-cap-`_INDEX` **CÒN TREO**; source nói nó **ĐÃ THI-HÀNH** (split) và số đo tươi cho thấy cap không còn áp lực (47,3% thay vì 99,18% lúc mở slot). Hai dòng **cách nhau 2 dòng trong cùng một file** nói ngược nhau ⇒ bác được không cần ra ngoài file.
|
||
- **resolve:** gỡ `(47)` khỏi danh sách treo `:24` (hoặc ghi rõ `(47) ✅ ĐÓNG @S167 cùng (57)` nếu muốn giữ lineage).
|
||
|
||
### FLAG-2 — `view-residual-asym` — **MED**
|
||
- **view:** `docs/STATUS.md:6` (dòng CURRENT, mega-line) — trích đoạn: *"bundle prod → canonical ở `:479`, KHÔNG chép số ở đây (B1). 🔴 Cặp `DXoYDy7R`/`o8KDluD1` từng ghi ở dòng này chưa bao giờ là trạng-thái cuối … **đo live @S164: admin `B43R6Y17` · user `NLI5umBg`**."*
|
||
- **source:** `docs/STATUS.md:479` — `admin **DLRf9TeA** (1.767.413B) · user/eoffice **C7TGA4Kn** (1.685.160B) — đo LIVE @S168 bởi cicd #444`.
|
||
- **lệch:** view trưng cặp `B43R6Y17`/`NLI5umBg` gắn nhãn **"đo live"**; source (canonical, cùng file) = `DLRf9TeA`/`C7TGA4Kn`. Cặp ở `:6` đã chết **từ S166** (lineage `:479` ghi rõ K4a #437 `1yiNV4VH`/`DoULfmdT` → K6 #440 `Ig1R5tAh` → K7 #442 `RgvHZkPH`/`D65FJPGd` → #444 `DLRf9TeA`/`C7TGA4Kn`) ⇒ **3 thế-hệ deploy**. Bất-đối-xứng: canonical `:479` được vá mỗi lượt cicd, mệnh-đề dẫn-xuất ở `:6` **cùng file** không ai vá.
|
||
- **tự-mâu-thuẫn nội-dòng:** chính câu đó ra lệnh *"KHÔNG chép số ở đây (B1)"* rồi **chép ngay 2 số** trong mệnh-đề kế.
|
||
- 🔸 **Khai mặt bào-chữa (không giấu):** cụm có mốc *"@S164"* ⇒ có thể đọc là errata đóng-băng. Vì sao vẫn phát: `:6` nằm trong `tiep_reload.sources` (*"dòng CURRENT"*) ⇒ nạp lại **mỗi `/tiep`**; người đọc nhận **2 cặp ứng-viên**, cặp nổi hơn (inline, chữ "đo live") là cặp CHẾT. Errata sai còn hại hơn không có errata.
|
||
- **resolve:** thay cặp inline bằng con-trỏ thuần (`:479`) **hoặc** dán nhãn 🧊 chết + lý do; hết flag khi `:6` không còn cặp hash nào mang nhãn "đo live".
|
||
|
||
### FLAG-3 — `view-residual-asym` — **HIGH**
|
||
- **view (4 site):** `.claude/commands/session-end.md:149` — *"cặp chạy @`session-start` §2.1.8 (**OVERDUE ⇒ AUTO**, KHÔNG còn cửa consent @S146) ⇒ nó chạy NGAY tại open"* · `.claude/agents/ring2-audit.md:4` — *"session-end §L.b(j) / session-start §2.1.8 **khi OVERDUE** — AUTO"* · `ring2-audit.md:25` — *"session-start §2.1.8 **khi OVERDUE ⇒ AUTO**"* · `ring2-audit.md:27` — *"cặp chạy @`session-start §2.1.8` (**OVERDUE ⇒ AUTO** …)"*.
|
||
- **source:** `.claude/commands/session-start.md:269-270` — *"cặp soi-lead spawn **VÔ-ĐIỀU-KIỆN mỗi đầu phiên** — **KHÔNG còn cổng OVERDUE(light)**; OVERDUE(deep) GIỮ"* + *"gỡ **CẢ HAI** cổng cho cặp light ⇒ auto MỖI bookend, **không chờ nhịp**"*; `session-end.md:114` *"MỌI closeout, KHÔNG cổng nhịp light"*; `session-end.md:116` *"`light_every` hạ thành **stats-only**"*; `session-start.md:170` *"cặp light = VÔ-ĐIỀU-KIỆN mỗi bookend"*.
|
||
- **lệch:** view nói lần bắn @open của cặp H24 **có điều-kiện OVERDUE**; source nói **VÔ-ĐIỀU-KIỆN**, cổng OVERDUE(light) đã GỠ từ hình-B @S149. Đây đúng **cùng mệnh-đề** mà đợt vá FLAG-1 @S159 đã diệt ở 6 site trong 2 file LỆNH — **sót 4 site**: 1 nằm **ngay trong `session-end.md`** (cách `:114`/`:116` ~35 dòng, cùng file, nói ngược), 3 nằm trong persona `ring2-audit` (auto-inject ⇒ vai đọc đúng chữ rồi tự suy *"light chưa OVERDUE ⇒ cặp chưa bắn ⇒ pin missing ⇒ NO-OP"* — **im-lặng-giả-sạch**, đúng lớp hại của bản-vá persona `lead-stale-auditor` @S153).
|
||
- **vì sao HIGH:** `ring2-audit` là vai KIỂM của chính vòng H24; tiền-đề sai ở đây làm nó có cớ **NO-OP hợp-lệ** ở mọi bookend mà light chưa tới hạn ⇒ vòng kiểm rỗng mà không ai kêu.
|
||
- **resolve:** 4 site đổi thành *"@`session-start §2.1.8` (VÔ-ĐIỀU-KIỆN mỗi bookend — hình B @S149)"*; hết flag khi `grep -n "OVERDUE" .claude/agents/ring2-audit.md .claude/commands/session-end.md` chỉ còn hit thuộc trục **deep**.
|
||
|
||
### FLAG-4 — `view-stale-header` — **HIGH**
|
||
- **view:** `docs/STATUS.md:6` — mở đầu dòng CURRENT: `**🔥 CURRENT (S161→S168, 2026-07-31→08-01 — phiên-LOGIC **L9**: …)`.
|
||
- **source (3 nguồn độc-lập, khớp nhau):**
|
||
1. `.claude/sessions/session-9/_end` dòng 1 (sổ ĐÓNG do nghi-thức `_end` ghi @S168): `summary-frozen-s9: phiên-LOGIC L9 (**S163→S168, 6 window**)`.
|
||
2. `docs/HANDOFF.md:5`: `**S163→S168** — phiên-LOGIC **L9** windows 1-6`.
|
||
3. `docs/HANDOFF.md:40`: `**S161→S162** — phiên-LOGIC **L8** window-3 … window-4`.
|
||
- **lệch:** view nói **L9 = S161→S168**; source nói **L9 = S163→S168** và **S161-S162 thuộc L8**. Hai phiên vật-lý bị gán **hai sID logic khác nhau** tuỳ bề-mặt.
|
||
- **bằng-chứng nội-tại củng cố:** ngay dưới header đó, `STATUS.md:7` = *"① 5 wave KHKK SHIP (**window-3**, S161)"* và `:8` = *"② Cây 4-folder GĐ (**window-4**, S162)"* — nhãn window-3/window-4 chỉ có nghĩa trong L8 (HANDOFF:40 gọi đúng tên); nhét chúng dưới một header L9 mà HANDOFF+`_end` khai là "windows 1-6" ⇒ **hai hệ đánh-số window chồng lên nhau trong cùng một khối**.
|
||
- **vì sao HIGH:** `:6` là con-trỏ neo của `tiep_reload.sources` (*"dòng CURRENT"*) và là nơi mọi vai đọc để biết "phiên-logic hiện hành là gì". Sai biên logic-session ⇒ mọi phép đếm theo **đơn-vị phiên-LOGIC** (tally H24 max-1/class/phiên-logic · `h24-signal-write.ps1` · nhịp bookend) neo sai gốc. Đây cũng đúng lớp bệnh **"tham-chiếu trượt khi phiên-logic sang trang"** mà đề bài xếp là chu-kỳ 4.
|
||
- 🔸 **Khai mặt bào-chữa:** `:6` chưa được re-stamp cho L10 (việc đó thuộc closeout) — nhưng flag này **không** về chuyện chưa-stamp-L10; nó về việc **biên của chính L9 bị ghi sai** trong khi L9 đã có sổ `_end` chốt biên.
|
||
- **resolve:** sửa `:6` thành `S163→S168 … L9` (giữ ①② dưới nhãn lineage L8 như HANDOFF:40 đã làm), hoặc nếu lead cho rằng `_end` sai ⇒ đó là nghi-vấn **canonical** ⇒ INFORM riêng cho anh, KHÔNG tự phán. Hết flag khi 3 bề-mặt (`STATUS:6` · `HANDOFF:5` · `session-9/_end`) khai **cùng một** khoảng cho L9.
|
||
|
||
### FLAG-5 — `view-stale-status` — **HIGH**
|
||
- **view:** `docs/changelog/migration-todos.md:4` — `**Active work (@S168):** chuỗi K SP-002 (B4) — … **GĐ3 đồng-nhất BLOCKED chờ owner slot (63)**, K8-prep còn`.
|
||
- **source:** `docs/HANDOFF.md:18` — `~~(63) GĐ3 cây-4-folder ĐỒNG-NHẤT~~ **✅ ĐÓNG @S168** — anh chốt **(b) = D** … SHIP \`081557b\`, gate PWF-10/0-blocker`; `docs/STATUS.md:488` — `**GĐ3-D** \`081557b\` — cây toàn trình vào Panel-3 cả **3 trang**`; `docs/STATUS.md:8` — `~~🔴 CÒN NỢ: trang GĐ3 chưa làm~~ ✅ **ĐÓNG @S168 \`081557b\`**`.
|
||
- **lệch:** view nói GĐ3 **BLOCKED, đang chờ owner quyết slot (63)**; source nói owner **đã quyết** ((b)=D + *"Cứ mở rộng đi nhé"*) và code **đã SHIP** với commit + gate.
|
||
- **vì sao HIGH (không phải nhiễu doc):** dòng này là **header Active-work**, tức đúng thứ được nạp lại **mỗi `/tiep`** — nó nằm trong `tiep_reload.sources` (`memory-budget.json:24`: *"migration-todos.md :: header Active-work + section Phase hien hanh"*, thêm @S168 slot 59). `CLAUDE.md:4` cũng chỉ định *"active-work đọc **TRONG file**"* ⇒ đây là con-trỏ SỐNG duy nhất cho "đang làm gì". Hệ quả cụ-thể: lead nạp lại nền sẽ thấy một món **"chờ owner"** đã được owner trả lời rồi ⇒ nguy cơ **hỏi lại anh câu đã chốt** — đúng cái hại `HANDOFF.md:107` gọi tên (*"xin anh tiêu một quyết-định owner dựa trên số đo của một artifact đã chết"*).
|
||
- **dấu-hiệu tự-tố:** cụm mang nhãn **"@S168"** — tự nhận là tươi tới S168, trong khi GĐ3-D ship **trong chính S168**.
|
||
- **resolve:** đổi thành `GĐ3 ✅ ĐÓNG @S168 (081557b)`; hết flag khi `migration-todos.md:4` không còn chữ `BLOCKED` gắn với GĐ3/slot (63).
|
||
|
||
### FLAG-6 — `view-stale-count` — **MED**
|
||
> *(cùng dòng view với FLAG-5 nhưng là **mệnh-đề độc-lập** và **class khác** — tách để tally `jump_on_class_repeat` không nuốt mất một trong hai; lead muốn gộp khi vá thì gộp, nhưng đừng gộp lúc ĐẾM.)*
|
||
- **view:** `docs/changelog/migration-todos.md:4` — `chuỗi K SP-002 (B4) — **7/8 wave K1→K7 SHIP** @S164-S167`.
|
||
- **source:** `docs/STATUS.md:6` — `chuỗi SP-002 B0→B4 **TRỌN 8/8 wave**`; `docs/HANDOFF.md:5` — `**Chuỗi SP-002 B0→B4 TRỌN 8/8 wave** [K1 \`50e6d8c\` · … · K7 \`aaed699\` · **K8 dry-run PASS toàn trình 2 nhánh**]`.
|
||
- **lệch:** view **7/8**, source **8/8**. Wave thứ 8 (K8) đã chạy và PASS toàn trình 2 nhánh @S168.
|
||
- **resolve:** `8/8`; hết flag khi con số ở `migration-todos.md:4` khớp `STATUS.md:6`.
|
||
|
||
### FLAG-7 — `view-stale-count` — **MED**
|
||
- **view:** `CLAUDE.md:141` (root, bảng 📖 Tài liệu quan trọng) — row `docs/database/schema-diagram.md` … `; **§16+ Mig 32-62 pending**)`.
|
||
- **source:** `docs/STATUS.md:465` Migrations = **71**; đo đĩa `docs/database/schema-diagram.md` — heading cuối cùng có ERD module = `## 15. PE Level Opinions V2 (Migration 26 …)` (`:867`), `## 16. Liên quan` (`:938`) ⇒ phần chưa viết thực sự trải **Mig 32→71**, không dừng ở 62.
|
||
- **lệch:** view khai khoảng-nợ **32-62**; thực-tế **32-71** (thiếu khai 9 mig: 63,64,65,66,67,68,69,70,71). Cận-trên đóng băng ở **62** = mốc S104, đứng yên qua 9 migration kế.
|
||
- **corroboration (không tính thành FLAG riêng — skill-freshness là trục của `tooling-auditor` H1):** `.claude/skills/ef-core-migration/SKILL.md:96` khai **cùng lỗ** bằng khoảng **"§16+ Mig 27-66 chi tiết pending"** ⇒ 2 bề-mặt dẫn-xuất đưa **2 cận-trên khác nhau** (62 vs 66) cho **một** khoảng nợ, và **cả hai đều < 71**. Đây là dấu-vân của kiểu vá-một-phía: mỗi lần chỉ ai đó sửa một bên.
|
||
- 🔸 **Vì sao đây là số ĐO ĐƯỢC chứ không phải cảm-giác:** cận-trên của một khoảng "pending" là hàm của canonical Mig; canonical đổi thì cận-trên PHẢI đổi — nó không có quyền đóng băng như một mốc lịch-sử.
|
||
- **resolve:** đổi thành `§16+ Mig 32-71 pending` (hoặc bỏ hẳn cận-trên, ghi `§16+ từ Mig 32 trở đi — pending`, để nó không bao giờ stale nữa — cách này diệt cả CLASS thay vì diệt 1 ca).
|
||
|
||
### FLAG-8 — `view-stale-status` — **MED**
|
||
- **view:** `.claude/commands/session-start.md:65` (§0.6b spawn-probe) — `🔴 **Đây là MỐC ĐO LỊCH-SỬ (S122), KHÔNG phải roster hiện-tại:** +3 vai trio-memory (S141) **CHƯA probe lần nào** — lần probe đầu = phiên SAU restart`.
|
||
- **source:** `docs/STATUS.md:30` (blurb S151, mục ②) — `**spawn-probe 3/3 SỐNG — nợ probe S141 đóng**`.
|
||
- **lệch:** view nói bộ-ba trio-memory **CHƯA probe lần nào**; source nói đã probe **3/3 SỐNG** và **đóng** đúng món nợ S141 — từ **S151**, tức 18 nhãn phiên trước.
|
||
- **vì sao đáng phát dù chỉ MED:** đây là file LỆNH và là câu **quyết-định có chạy probe hay không** (`:64` *"Roster ổn-định → skip"*). Một món nợ đã trả mà vẫn treo ⇒ hoặc lead tốn 1 vòng probe thừa, hoặc — nguy hơn — quen đọc lướt rồi bỏ qua CẢ dòng, kể cả khi nó nói điều đúng về roster mới.
|
||
- 🔸 **Khai phần view NÓI ĐÚNG (không vứt cả cụm):** vế *"MỐC ĐO LỊCH-SỬ (S122), N=14 KHÔNG phải roster hiện-tại"* **vẫn đúng và vẫn có giá-trị** (roster nay 23) — chỉ mệnh-đề *"trio CHƯA probe lần nào"* là chết. Vá thì giữ vế đầu.
|
||
- **resolve:** đổi thành `trio-memory probe 3/3 @S151 (nợ S141 đóng); 6 vai thêm sau S141 (ring ×3 @S145 + ctx ×3 @S153) — trạng-thái probe đọc từ log phiên tương ứng`; hết flag khi `session-start.md:65` không còn chữ `CHƯA probe lần nào` gắn với trio.
|
||
|
||
---
|
||
|
||
## Đã SOI nhưng CỐ Ý KHÔNG phát (khai để lead biết coverage, và để `ring2` thách được)
|
||
|
||
| Ứng-viên | Vì sao KHÔNG phát |
|
||
|---|---|
|
||
| `docs/STATUS.md:6` `counter 42 · light 2/6 deep 2/15` vs đĩa `43 · 3/6 · 3/15` | Header tự khoanh phạm-vi `(S161→S168)`, và `.claude/sessions/session-9/_end` chốt `h24-tick: counter=42` cho L9 ⇒ **đóng-băng ĐÚNG mốc đóng**, không phải stale-bỏ-quên. Re-stamp là việc closeout L10. |
|
||
| `.claude/agents/README.md:306` `40 mig · 84 tables · 130 test · 53 gotchas · 7 sub-agents` | Dán nhãn tường-minh `🧊 FROZEN-HISTORICAL (S38 — số CỐ Ý không cập nhật)` + trỏ canonical. Bẫy #3, flag = nhiễu vĩnh-viễn. |
|
||
| `.claude/agents/README.md:289` bảng token `roster 7 vai` | Tự khai `**đóng băng** … canonical → STATUS §Sub-agents, KHÔNG hardcode số`. |
|
||
| `.claude/agents/README.md:242` VALID_ROLES | **ĐẾM PHẦN TỬ** (không đếm chữ): 23 tên trong backtick = khớp roster đĩa 23; `13 monitor` khớp (H1+H2+2×H24+3×trio+3×ring+3×ctx). Món `agents/README:242` từng bị bắt @S162 ⇒ nay **ĐÃ VÁ**, xác nhận sạch bằng phép đếm chứ không bằng grep-số. |
|
||
| `.claude/agents/lead-stale-auditor.md:45` ví-dụ `canonical STATUS.md:19 = 54` | (a) **use ⟂ mention** — nằm trong cột "Ví-dụ SE" của bảng định-nghĩa class ⇒ mention; (b) con-trỏ `:19` mục nát (row Menu keys nay `:471`) nhưng **broken-pointer là việc MÁY** đã đo, tao không lặp; (c) đây đúng bẫy tự-quy-chiếu ACTIVE-MARKS `:25` cảnh báo lây-qua-trích-dẫn 3 đời. **Đề-xuất cho lead (không phải FLAG):** đổi `:19` → `:471` hoặc bỏ số dòng. |
|
||
| `.claude/skills/form-engine/SKILL.md:15` `Status (post Session 6 — 2026-04-30)` | **NGOÀI TRỤC** — skill/docs-freshness là lane `tooling-auditor` (H1). Không lấn (anti-pattern #5). Ghi ở đây để lead thấy nó *đã được nhìn*, không phải bị bỏ sót. |
|
||
| `memory-budget.json` `measured{}` 17/23 vai, số S107 đã trôi | `_note` khai thẳng *"MỘT SỐ ĐÃ TRÔI … chờ full re-sync bằng script @drift-audit 2026-08-01"* ⇒ stale **có khai + có hẹn**, đúng khuôn khai-thật. |
|
||
| `CLAUDE.md:121` `Audit định kỳ … Lần kế: 2026-08-01` | Hôm nay **là** 2026-08-01 ⇒ DUE, chưa quá hạn. Không stale. |
|
||
| Số phiếu `003 → 004` (dư-lượng @S168) | **VERIFY SẠCH bằng lệnh:** `grep -rn "KHKK/2026/003\|001-002-003"` → 3 hit, cả 3 đều nói đúng (`STATUS:6`, `STATUS:490` = phiếu fx3 test, `HANDOFF:15` = *"phiếu THẬT đầu tiên sẽ là 004"*); grep control-âm `"thật đầu tiên = 003"` → **0 hit**. Vá 2-site @S168 lan đủ. |
|
||
| `docs/gotchas.md` | Đếm đĩa `^### [0-9]` = **86**, heading cuối `### 86.` — khớp canonical `STATUS:473`. Sạch. |
|
||
| Bảng CURRENT STATE `:465-479` (Mig 71 · 97 bảng · 452 policy · 113 menu-key · 644 test · 23 sub · bundle) | Đối chiếu từng row với đĩa/khai-báo: **khớp hết**. Canonical đang khoẻ — mọi FLAG trên đều là **derived lệch canonical**, không có ca nào nghi chính canonical (⇒ 0 INFORM-riêng-cho-anh). |
|
||
| `.claude/WAL.md` | Rỗng đúng thiết-kế (L9 `_end` xong, sentinel `closing:` đã xoá @`4b1905d`). Không phải stale. |
|
||
|
||
## Tally
|
||
|
||
| class (enum ĐÓNG) | FLAG | tally rolling hiện có (`.session-counter.json`) |
|
||
|---|---|---|
|
||
| `view-stale-status` | **3** (FLAG-1 · 5 · 8) | 4 |
|
||
| `view-residual-asym` | **2** (FLAG-2 · 3) | 7 |
|
||
| `view-stale-count` | **2** (FLAG-6 · 7) | 7 |
|
||
| `view-stale-header` | **1** (FLAG-4) | 3 |
|
||
| `view-stale-role-desc` | **0** | 2 |
|
||
|
||
**TOTAL: 8 FLAG** — HIGH 4 (FLAG-1 · 3 · 4 · 5) · MED 4 (FLAG-2 · 6 · 7 · 8).
|
||
🔴 **Cả 4 class có FLAG phiên này đều ĐANG ở/vượt `jump_on_class_repeat` = 3** (4/7/7/3). Quyết kéo audit sớm = owner/lead, **KHÔNG phải tao** — tao chỉ đặt số lên bàn.
|
||
🔴 **Đơn-vị tally = phiên-LOGIC L10:** đây là đầu @open; nếu @close cùng L10 lại ra cùng class thì **vẫn 1 quyết-định/class** (`h24-signal-write.ps1` lo). Đừng đọc 2 lượt thành 2 tally.
|
||
|
||
## Coverage — khai THẬT
|
||
|
||
| # | Nhóm bề-mặt | Kết |
|
||
|---|---|---|
|
||
| N1 | `STATUS.md:6` + CURRENT STATE `:461-482` | ✅ SOI XONG — FLAG-2, FLAG-4 |
|
||
| N2 | `HANDOFF.md` slot (64)(65)(66) + treo + lineage | ✅ SOI XONG — FLAG-1 |
|
||
| N3 | 23 persona `.claude/agents/*.md` (gồm 2 file `lead-*-auditor` — điểm mù tự-quy-chiếu) | ✅ SOI XONG — FLAG-3 (3 site `ring2-audit`) |
|
||
| N4 | `session-start.md` + `session-end.md` | ✅ SOI XONG — FLAG-3 (site `session-end:149`), FLAG-8 |
|
||
| N5 | `CLAUDE.md` root | ✅ SOI XONG — FLAG-7 |
|
||
| N6 | Dư-lượng một-phía @S168 | ✅ SOI XONG — FLAG-5, FLAG-6; số phiếu 003→004 VERIFY SẠCH |
|
||
| N7 | `.claude/skills/*/SKILL.md` + `agents/README.md` | ✅ SOI XONG — 0 FLAG trong trục (freshness skill nhường H1) |
|
||
| N8 | `tiep_reload.sources` còn lại (WAL · ACTIVE-MARKS · `_context-s-10` · gotchas · migration-todos) | ✅ SOI XONG — FLAG-5/6 nằm ở đây |
|
||
|
||
🔴 **8 = TỔNG, KHÔNG phải SÀN** — cả 8/8 nhóm đã chạm, mỗi nhóm có kết-luận ghi ở trên (kể cả nhóm ra 0 FLAG). Đối-chứng S159: lần đó tao chết ở nhóm 5/8 nên "5 FLAG" chỉ là SÀN; lần này artifact đổ ruột sau **mỗi** FLAG nên con số đọc được là tổng.
|
||
🔸 **Cận-dưới còn lại (khai thật, không giấu):** trong N3 tao soi **số-học + mệnh-đề-nhịp** trên 23 persona, **không** đọc trọn từng file (~13-20KB/file); một sai-ngữ-nghĩa thuần không mang số có thể còn sót. Đó là giới-hạn phạm-vi tao tự chọn, không phải claim "đã quét sạch persona".
|
||
|
||
**Propose-only.** 0 Write/Edit ngoài chính file này · 0 `store_memory`/RAG-write · single-writer = lead (B3 VERIFY→APPEND).
|
||
|
||
END lead-stale-open-S169 — VERDICT=8 FLAG — coverage 8/8 nhóm
|