# sub-lead-stale-deep — H24 §2(1) vai-STALE, nấc DEEP @close S188

> OVERDUE deep 2/1 (`deep_every=1`, owner YC-019(5)). Vai INFORM-only, propose-only.
> Artifact này APPEND từng FLAG ngay khi đo xong (chống #53 garble). Kết bằng `== HẾT ==`.

## 0. Trạng thái chạy

- [ ] đọc enum ĐÓNG `lead_self_audit.flag_classes`
- [ ] chạy `governance-detectors.ps1` 1 lần làm NỀN
- [ ] PIN run-folder đích danh (CẤM glob-latest)
- [x] soi từng trục theo brief (đang chạy)

**Nền MÁY (chạy 1 lần, KHÔNG lặp lại):** `scripts/governance-detectors.ps1` → `TOTAL FLAGS: 59` + `INFORM-ONLY: 24`.
C13/C14 = 0. C15 V-5 rank-1 13 file / rank-2 15 file. 🔴 Máy KHÔNG phán được bất kỳ FLAG nào dưới đây
(bundle-hash live, nhãn khối, đáp-án owner vs "chờ anh", bảng Modules) — đó là chỗ vai người còn giá trị.

**Enum ĐÓNG đọc từ `memory-budget.json` → `lead_self_audit.flag_classes` = 12 (6 view + 6 gap), niêm phong @S181.**

---

## FLAG-1 — `view-stale-count` — HIGH

- **view:** `docs/STATUS.md:482` — `**Bundle hash live (prod):** admin **\`Ajv-MaCz\`** (1.783.465B) · user/eoffice **\`YsXRkBSR\`** (1.701.224B) — đo LIVE 2026-08-05 @S172`
- **source:** `.claude/workflows/runs/2026-08-10-S187-duyet-hd-tu-khkk/sub-cicd-cum.md:53-54` — đo trên VPS **2026-08-10 19:53:58 / 19:55:08**: `fe-admin\assets\index-BZ1PG34E.js` = **1.813.772 B** · `fe-user\assets\index-0ObPwWFB.js` = **1.728.765 B** (ship-proof tầng đĩa: chỉ còn ĐÚNG 1 `index-*.js` mỗi app)
- **lệch:** view nói hash S172 (`Ajv-MaCz`/`YsXRkBSR`, 05/08); source nói hash hôm nay (`BZ1PG34E`/`0ObPwWFB`, 10/08). **Lệch 2 ĐỜI** — giữa 2 mốc còn 1 đời nữa (`DeBPqp_c`/`CSIiQrhk` đợt-1) mà **chính artifact cụm chứng đã chết** (`sub-cicd-cum.md:50`: GET hash đợt-1 rơi về `text/html` 900 B/876 B).
- 🔴 **Tại sao HIGH, không phải LOW:** đây là **LẦN THỨ TƯ cùng một ô** — S166 F-2 · S172 FLAG-1 · S180 FLAG-3 · nay S188. Và **chính ô đó tự viết luật thoát:** *"nếu tái-diễn lần 3 thì phải wire máy, đừng vá tay nữa"* + *"nguồn cập nhật ô này = cicd-verify lượt kế"*. Lần-3 đã tới @S180 ⇒ điều-kiện wire-máy **đã kích hoạt 8 nhãn phiên trước** và **0 người thi hành**. Vá tay lần này = tái phạm đúng thứ ô đó cấm.
- **resolve:** (a) thay 2 hash + 2 byte-size bằng số của `sub-cicd-cum.md:53-54`, ghi mốc `@S188 2026-08-10`; **và** (b) mở slot cho việc *wire máy đọc hash live* (điều-kiện tự-khai đã tới hạn) — nếu owner không muốn wire thì **gỡ câu tự-khai đó** khỏi ô, đừng để luật chết nằm lại.

## FLAG-2 — `view-stale-count` — HIGH

- **view:** `docs/STATUS.md:475` row `Tests` — `**668 PASS**` / `**45 Domain + 623 Infra**` (mốc `668 @S185`)
- **source:** `.claude/workflows/runs/2026-08-10-S187-duyet-hd-tu-khkk/sub-cicd-cum.md:33-36` — gate CI run **#482** tách-phần: `SolutionErp.Domain.Tests.dll → Passed: 45` · `SolutionErp.Infrastructure.Tests.dll → Passed: 635` · **Tổng 680**. Đối chứng độc lập: `sub-reviewer-cum.md:8` "full test **680/680**"; `.claude/WAL.md:36` "gate 680/680"; `run.md:8` "Test 668→**680**".
- **lệch:** view nói 668 (45+623); source nói **680** (45+**635**). Lệch **+12** ở tổng và **+12** ở nhánh Infra. (Đợt-1 giữa chừng là 672 — `sub-cicd-dot1.md:21` — nên ô này lệch **2 đời** y như FLAG-1.)
- 🔴 **Không phải "số xấu" đơn thuần — ô này là THƯỚC của máy:** chính ô đó tự ghi *"canonical sai thì máy khuyên vá về số sai (class canonical-poison S148/S166)"*. Lần trước (S185) nó kẹt ở 645 rồi 644 và **đã** làm detector in flag khuyên vá derived về số SAI. Điều kiện tái diễn đang đủ ngay lúc này.
- 🔸 **Khai thật về thước của tao:** tao ĐỊNH chạy `dotnet test SolutionErp.slnx` để đo tay, **thất bại** — `MSB3027/MSB3021`: `SolutionErp.Api (PID 56732)` đang chạy local khoá `SolutionErp.{Domain,Infrastructure,Application}.dll`. Nên số 680 ở trên là **đọc từ gate CI + 2 nguồn artifact**, KHÔNG phải tao tự chạy. Ai vá thì nên chạy lại sau khi tắt Api local.
- **resolve:** đổi `668 PASS` → `680 PASS`, breakdown `45 Domain + 635 Infra`, mốc `@S188`, dẫn `sub-cicd-cum.md:33-36` (run #482).



