Files
solution-erp/.claude/workflows/runs/2026-07-30-S163-bookend-open/sub-ring2-audit-open-S163.md
2026-07-30 16:46:15 +07:00

337 lines
29 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.

# ring2-audit — KIỂM vòng-ĐO soi-lead (H24) — bookend @open S163 (phiên-LOGIC L9)
> Vai: cặp mắt độc-lập trên OUTPUT của `lead-stale-auditor` + `lead-gap-auditor`.
> RANH: tao KIỂM 2 con-đo. Tao KHÔNG soi LEAD trực-tiếp. no-self-exempt: tao ≠ lead-stale/lead-gap.
> Chế-độ ghi: APPEND-LIÊN-TỤC. Mỗi verdict/phép falsify xong là đổ ngay xuống đây, KHÔNG gom.
---
## §0 — PIN input (fail-closed, đích-danh, KHÔNG glob "mới nhất")
| pin | path | byte đo lại | mtime đo lại | END-line |
|---|---|---|---|---|
| lead-stale | `.claude/workflows/runs/2026-07-30-S163-bookend-open/sub-lead-stale-open-S163.md` | **29.012 B** ✅ khớp pin | 2026-07-30 16:18:16 | `TOTAL=12 FLAG — COVERAGE=7/8 nhóm (G7 governance CHƯA CHẠM)` |
| lead-gap | `.claude/workflows/runs/2026-07-30-S163-bookend-open/sub-lead-gap-open-S163.md` | **37.978 B** ✅ khớp pin | 2026-07-30 16:31:40 | `TOTAL=4 FLAG — COVERAGE=7/7 nhóm` |
| ring2 (tao) | `sub-ring2-audit-open-S163.md` | — | mtime > 16:31:40 (tuần-tự C4b, SAU cặp H24) | — |
**Fail-safe (i) — PIN TỒN-TẠI: PASS.** Cả 2 output H24 tồn tại, byte khớp pin đích-danh, mtime hôm nay 2026-07-30 (tươi, cùng phiên). ⇒ KHÔNG NO-OP. Có measure để chấm.
**Tuần-tự C4b:** file tao ghi bắt đầu lúc > `16:31:40` = mtime lead-gap (con-đo trả sau cùng). Không song song.
**Ghi-chú lân-cận (không thuộc turf tao, chỉ ghi để lead thấy):** `sub-ring1-audit-open-S163.md` = **556 B** @16:20 — đúng dấu `skeleton-nấc-2` mà brief mô-tả (byte>0 mà ruột rỗng). Turf ring1 ≠ turf tao; tao chỉ nêu verbatim, không chấm.
---
## §1 — Kiểm ENUM ĐÓNG (verify độc-lập, KHÔNG nhận số của lead)
Đọc `.claude/agent-memory/memory-budget.json``lead_self_audit.flag_classes` bằng parser JSON (không grep chuỗi):
**N = 11**, đúng thứ tự: `view-stale-count` · `view-stale-status` · `view-stale-header` · `view-stale-role-desc` · `view-residual-asym` · `gap-carry-dropped` · `gap-carry-aged` · `gap-owner-specifics` · `gap-decision-sunk` · `gap-underfill` · `gap-incident-unrecorded`.
**Tao TỰ đếm tag trong 2 sub-file (không nhận bảng phân-rã của chúng):**
| vai | class | tao đếm | vai khai | ∈ enum? |
|---|---|---|---|---|
| lead-stale | `view-stale-count` | 5 (FLAG 3·6·7·10·11) | 5 | ✅ |
| lead-stale | `view-residual-asym` | 3 (FLAG 1·5·9) | 3 | ✅ |
| lead-stale | `view-stale-status` | 2 (FLAG 8·12) | 2 | ✅ |
| lead-stale | `view-stale-header` | 1 (FLAG 4) | 1 | ✅ |
| lead-stale | `view-stale-role-desc` | 1 (FLAG 2) | 1 | ✅ |
| lead-gap | `gap-carry-dropped` | 1 (FLAG-1) | 1 | ✅ |
| lead-gap | `gap-decision-sunk` | 2 (FLAG-2·3) | 2 | ✅ |
| lead-gap | `gap-underfill` | 1 (FLAG-4) | 1 | ✅ |
**⇒ 16/16 tag ∈ enum ĐÓNG. 0 tag tự chế. 5+3+2+1+1 = 12 ✅ · 1+2+1 = 4 ✅** — tổng khớp END-line cả 2 vai.
### §1-bis — Ca "ép-vừa-enum" S162 CÓ TÁI KHÔNG? → **KHÔNG. Ngược lại: cả 2 vai đã học.**
Tiền-lệ tao chứng @S162: FLAG-16 bị nhồi vào `view-stale-count` cho một finding **không thuộc** class đó ⇒ tally thổi +1 (7 thật, ghi 8). Lượt này tao soi đúng cửa ấy:
- **lead-stale VC-6** *chủ động KHÔNG tái-flag* chuỗi `88→95``_context-s-8.md:113`, trích đích danh phán-quyết của tao (`sub-ring2-audit-close-S162.md:115`) và giữ nguyên. ⇒ đúng cách xử một finding đã bị bác.
- **lead-gap FLAG-2** đi con đường LUẬT thay vì ép: nó phát hiện enum **thiếu ô** cho lớp *"số đúng đơn-vị không-canonical"*, và thay vì nhồi vào `gap-*` gần nhất, nó **escalate xin owner mở enum** — đúng nguyên văn `lead_self_audit._note`: *"a monitor may NOT invent a class; an unclassifiable finding is reported verbatim + escalated to the owner to extend this list"*. Tao verify câu này CÓ THẬT trong `memory-budget.json` (đọc key `_note`) — không phải lead-gap bịa luật để tự bào chữa.
**Ca S162 KHÔNG tái phát.** Đây là ĐẠT có giá trị: finding của tao kỳ trước đã đổi hành-vi cả 2 vai, không chỉ đổi con số.
---
## §2 — Falsify-log (thử PHỦ-ĐỊNH, không thử xác-nhận)
### F-1 · lead-stale FLAG-6 (slot 58, `_mind-s-8.md`) — **HELD** ⇒ verdict **ĐẠT**
Phép thử: *"giả sử 89,06% mới đúng và 98,21% là lead-stale đo nhầm file/nhầm cap."*
```
stat _mind-s-8.md = 32.181 B (mtime 2026-07-30 15:12:41)
mind_ctx_kb (JSON parse) = 32 ⇒ cap = 32×1024 = 32.768 B
32.181 / 32.768 = 98,21 % · headroom = 587 B
89,06 % của 32.768 = 29.183 B ≠ 32.181 B (lệch 2.998 B)
```
Bác không được: cap đúng, file đúng, số học đúng. **Số 89,06% trong `HANDOFF:17` là SAI, số 98,21% của lead-stale là ĐÚNG.**
Vế thứ hai ("tiền-đề *file SỐNG* hết đúng") cũng HELD: `ls session-9/` = **đúng 1 file** `_context-s-9.md` (16:01), **`_mind-s-9.md` KHÔNG tồn tại**; `session-8/_end` tồn tại (15:11) ⇒ cửa-sổ 8 đã đóng, `_mind-s-8` là artifact chết.
🔴 **Sức nặng đã xác nhận:** brief nói lead **đã dùng số này đính chính với owner** ⇒ nếu lead-stale sai thì sai tới tận owner. Nó không sai.
### F-2 · lead-stale FLAG-5 (`HANDOFF:65`, headroom `_INDEX`) — **HELD** ⇒ verdict **ĐẠT**
Phép thử: *"giả sử 522 B vẫn đúng, chỉ là đo ở thời điểm khác."*
```
stat _INDEX.md = 20.313 B
tiers.l2_index.cap_bytes (JSON parse) = 20.480 B
⇒ 99,18 % · headroom 167 B
19.958 B (số ở :65) ⇒ 97,45 % · headroom 522 B — lệch 3,1×
```
Bác không được. Và vế `view-residual-asym` (chứ không phải `view-stale-count` đơn thuần) cũng HELD: tao đọc `HANDOFF:15` — slot (57) ghi **nguyên văn** *"(KHÔNG phải 97,45% / 522 B như slot (51-bis) cũ ghi)"***cùng file, cùng closeout, lead ĐÃ BIẾT số cũ chết mà vẫn để `:65` nguyên** với cờ 🔴 "CÒN CẦN SỐ CỦA ANH". Đúng định-nghĩa dư-lượng bất-đối-xứng. Class gán **chính xác**, không phải ép-vừa.
### F-3 · lead-gap FLAG-1 — claim đắt nhất: *"nghi-thức CÓ CHẠY mà acceptance TRƯỢT"* — **HELD toàn bộ 4 vế** ⇒ verdict **ĐẠT**
Đây là claim brief gọi là *"nếu đúng thì đổi cả cách vá; nếu sai thì lead sắp sửa nhầm chỗ"*. Tao **tự chạy lại detector****tự grep**, không đọc lời khai.
**Vế (1) — bộ số byte-identical.** Tao chạy `scripts/governance-detectors.ps1` tươi:
```
HANDOFF logic-segments (NEXT anh/em) = 25 ; of those, carry-lines = 18
[ok] carry 'ctx-t9-dogfood' streak=2 < M=6
[ok] carry 'ring5-audit-gap' streak=1 < M=6
[ok] carry 'hmw-width-vs-roster' streak=1 < M=6
[ok] carry 'hmw-subfile-index-collision' streak=1 < M=6
[ok] carry 'adap-apply-2-thu' streak=3 < M=6
```
Đối chiếu 2 mốc trước (tao mở file, không tin trí nhớ):
- `runs/2026-07-29-S159-bookend-open/sub-lead-gap-open-S159.md`**cùng 5 slug, cùng 5 streak** (2·1·1·1·3).
- `runs/2026-07-30-S162-bookend-close/sub-lead-gap-close-S162.md:41`**cùng 5 slug, cùng 5 streak**, và `logic-segments=25 ; carry-lines=18` **y hệt**.
**3 mốc thời gian, 1 bộ số không đổi.** Segment mới + khối re-stamp 10 slug @S162 đã land giữa S159 và nay ⇒ thước THẬT SỰ không nhích. HELD.
**Vế (2) — 23 slug viết dạng tên-trần không token.** Tao grep độc-lập trên `docs/HANDOFF.md:86`:
```
sed -n '86p' | grep -o '\[carry:' | wc -l ⇒ 6
distinct [carry:x] ⇒ adap-apply-2-thu · h24-end-total-line · ring4-write-lane
· hub-republish-59ce1d0f · jump-dai-frozen · memory-ops-refine-queue
sed -n '86p' | sed 's/.*GIỮ re-stamp//' | grep -o '`[a-z0-9][a-z0-9-]*`' | wc -l ⇒ 23
```
**6 token thật · 23 tên trần trong backtick** — khớp CHÍNH XÁC con số lead-gap khai. Máy grep `[carry:` **không thể** thấy 23 cái kia. HELD.
**Vế (3) — `adap-apply-2-thu` ĐÃ ĐÓNG mà vẫn trong tập-đo.** `docs/HANDOFF.md:79` verbatim: `✅ ĐÓNG @S153: [carry:adap-apply-2-thu]`. Detector vẫn in nó **streak=3**. ⇒ tập-đo 5 phần-tử chứa **1 carry chết**. HELD — và đây là vế tao thấy sắc nhất: nếu nó chạm 6, máy sẽ FIRE báo-động-giả cho việc đã xong 10 nhãn phiên.
**Vế (4) — ranh turf.** lead-gap **chủ động nhường** vế *"số 26 slug sai"* sang `view-stale-count` (turf lead-stale) và chỉ giữ vế *"cam-kết lưu ở dạng máy không đọc được"*. Tao xác nhận đây là phân-turf **đúng**, không phải né việc — xem §5 kiểm đếm-đôi.
🔴 **Kết luận F-3: claim ĐÚNG, và hệ-quả đúng như brief cảnh báo — lối vá "chạy lại nghi-thức re-stamp" là SAI CHỖ.** Nghi-thức đã chạy @S162 rồi mà thước không nhích. Cái phải sửa là **DẠNG LƯU** (token vs tên trần), không phải **tần suất chạy**.
### F-4 · lead-gap FLAG-4 `gap-underfill` — kiểm CẢ claim LẪN control-dương — **HELD** ⇒ verdict **ĐẠT**
Brief dặn đúng: *"0-hit không kèm control-dương thì không tin được"*. Tao chạy lại **cùng một phép grep** cho từ đích và từ lân-cận:
| bề-mặt owner | `source_order` | `backfill` | `crystallized` | `headroom` |
|---|---|---|---|---|
| `docs/HANDOFF.md` | **0** | 13 | 5 | 5 |
| `docs/STATUS.md` | **0** | 53 | 10 | 6 |
| `.claude/governance/ACTIVE-MARKS.md` | **0** | 0 | 0 | 0 |
| `docs/changelog/migration-todos.md` | **0** | 3 | 0 | 0 |
**control-dương THẬT**: `backfill` = **13/53/0/3** — trùng khít con số lead-gap khai. Chủ-đề có mặt dày đặc; riêng `source_order` (nghĩa-vụ RÓT) = 0 khắp nơi ⇒ **không phải "grep hỏng"**.
| lệnh nghi-thức | `source_order` | `pour` | `rót` | `backfill` |
|---|---|---|---|---|
| `session-start.md` | **0** | **0** | **0** | 3 |
| `session-end.md` | **0** | **0** | **0** | 5 |
| `tiep.md` | **0** | **0** | **0** | 0 |
| `pause.md` | **0** | **0** | **0** | 0 |
**0 bước rót trên cả 4 lệnh**, đúng bảng lead-gap. Nửa ĐO + nửa BÁO có (`backfill` 3/5), nửa NẠP không. HELD.
Tao cũng verify **luật** mà FLAG-4 dựa vào là có thật, không phải bịa: `token_governor.pct_print._note` trong `memory-budget.json` ghi nguyên văn *"Headroom > 0 WHILE high-value content still unloaded = under-fill (WRONG) → load more … Headroom = a **FLAG**, NOT a saving target."* ⇒ class `gap-underfill` gán **đúng theo luật tự-viết của repo**, không ép-vừa.
🔸 **Tao đo thêm vế kho (lead-gap khai 1.167.001 B) — số nó đưa là CẬN DƯỚI, không thổi:**
```
archive/*.gist.md = 20 file / 277.963 B ⇐ khớp CHÍNH XÁC con số lead-gap
archive/*.md (non-gist) = 41 file / 972.531 B ⇐ lead-gap chỉ tính 31 file / 889.038 B (tập value-marked ⊂ 41)
```
⇒ tổng đĩa thực **1.250.494 B** > **1.167.001 B** lead-gap khai. Nó **báo ÍT hơn thực tế** ⇒ mệnh-đề *"kho gấp ~2,12,4× headroom"* càng đúng. Không có thổi-phồng để lấy HIGH.
### F-5 · lead-stale FLAG-3 (`STATUS:479` bundle hash) — **HELD phần thực-chất · BROKE phần NEO DÒNG** ⇒ verdict **ĐẠT (kèm errata anchor)**
**Vế thực-chất — HELD.** `docs/STATUS.md:479` verbatim: `**Bundle hash live (prod):** admin **8-QYcMOg** · user **DptYR4wL** (đo LIVE @S157 …)`. Đối chứng bundle prod THẬT theo `runs/2026-07-30-S162-cay-4-folder-gd/sub-cicd-monitor-2.md`:
```
admin js index-DXoYDy7R.js css index-BZ5F-g1w.css
eoffice js index-o8KDluD1.js css index-yNZDmVNz.css
```
⇒ ô tự nhận **"live (prod)"** đang trỏ cặp hash của **3 đời deploy trước** (S157 → #426/S159`bfc7b79`/S162). Bác không được. Class `view-stale-count` gán đúng.
🔴 **Vế NEO — BROKE (phép falsify của tao ĂN ở đây).** lead-stale viết: *"Ngay TRONG `docs/STATUS.md` dòng **`:9`** (khối S159→S160) đã ghi admin js `D0sXA0fe` · user js `Y6dW_5CM` ⇒ cùng file tự mâu thuẫn"*. Tao grep:
```
grep -n -o 'D0sXA0fe\|Y6dW_5CM' docs/STATUS.md ⇒ 13:D0sXA0fe 13:Y6dW_5CM (KHÔNG có hit nào ở dòng 9)
sed -n '9p' ⇒ "③ Bookend-close 5 vòng, 10 vai: H1 PASS_WITH_FLAGS 10 finding…" — 0 hash
sed -n '13p' ⇒ "✅ S159→S160, 2026-07-29 — phiên-LOGIC L8…" + "bundle admin js `D0sXA0fe`/css `DWDbm5As` … user js `Y6dW_5CM`/css `6YIAufJR`"
```
**nhãn segment ĐÚNG (S159→S160) nhưng số dòng SAI: `:13`, không phải `:9`.** Mệnh-đề *"cùng file tự mâu thuẫn"* vẫn **ĐÚNG** — chỉ là ở dòng khác.
**Vì sao tao vẫn cho ĐẠT chứ không TRƯỢT:** finding tồn tại thật, class đúng, resolve đúng hướng; sai lệch là **con-trỏ**, không phải **sự-việc**. Nhưng phải errata, vì hại cụ-thể: lead cầm `:9` đi sửa sẽ mở đúng dòng **không chứa gì** → dễ kết luận nhầm "đã sửa rồi" hoặc "flag dương-giả". Đây đúng lớp *vắng-mặt trông giống ổn*.
**Errata cho lead:** `STATUS:9` → đọc là **`STATUS:13`**.
---
## §3 — TỰ TÁI-DỰNG SỐ (nghĩa-vụ (iv) — chọn dòng `class_repeat` vì nó LOAD-BEARING: chạm 3 ⇒ kéo audit tới sớm)
Tao parse trực tiếp `.claude/governance/.session-counter.json``class_repeat.counts` (JSON, không grep chuỗi), so với bảng lead-gap khai:
| class | ĐĨA (tao đo) | lead-gap khai | khớp |
|---|---|---|---|
| `gap-carry-dropped` | **8** | 8 | ✅ |
| `view-residual-asym` | **6** | 6 | ✅ |
| `view-stale-count` | **6** | 6 | ✅ |
| `view-stale-status` | **3** | 3 | ✅ |
| `gap-decision-sunk` | **2** | 2 | ✅ |
| `gap-underfill` | **2** | 2 | ✅ |
| `view-stale-header` | **2** | 2 | ✅ |
| `gap-owner-specifics` | **1** | 1 | ✅ |
| `view-stale-role-desc` | **1** | 1 | ✅ |
| `gap-carry-aged` | **0** | 0 | ✅ |
| `gap-incident-unrecorded` | **0** | 0 | ✅ |
**11/11 khớp tuyệt đối.** Nền cũng khớp: `counter=37` · `last_ticked_session=S163` · `last_at.light=36` · `deep=25` ⇒ light 1/6, deep 12/15, **KHÔNG overdue** — lead-gap INFORM-3 đúng.
### 🔴 §3-bis — CHỖ SỐ NÀY VỠ: END-line lead-gap khai **"3 class chạm/vượt jump=3"** — thật là **7**
Đây là con-số tao được giao kiểm ("*nếu đúng thì kéo audit tới sớm, số này load-bearing*"). Tao dựng lại **cả 11 class**, không chỉ 6 gap-*:
| class | đĩa | fire kỳ này? | sau kỳ này | ≥ jump=3? |
|---|---|---|---|---|
| `gap-carry-dropped` | 8 | ✅ FLAG-1 | **9** | ✅ |
| `gap-decision-sunk` | 2 | ✅ FLAG-2·3 | **3** | ✅ |
| `gap-underfill` | 2 | ✅ FLAG-4 | **3** | ✅ |
| `view-stale-count` | 6 | ✅ 5 FLAG | **7** | ✅ |
| `view-residual-asym` | 6 | ✅ 3 FLAG | **7** | ✅ |
| `view-stale-status` | 3 | ✅ 2 FLAG | **4** | ✅ |
| `view-stale-header` | 2 | ✅ 1 FLAG | **3** | ✅ ← **vừa chạm ngưỡng kỳ này** |
| `view-stale-role-desc` | 1 | ✅ 1 FLAG | 2 | ❌ |
| `gap-owner-specifics` | 1 | ❌ | 0 | ❌ |
| `gap-carry-aged` | 0 | ❌ | 0 | ❌ |
| `gap-incident-unrecorded` | 0 | ❌ | 0 | ❌ |
**7 class chạm/vượt jump=3, KHÔNG phải 3.**
**Phân xử công-bằng — lỗi nằm ở END-LINE, không ở thân bài.** Trong thân (`§ Số đo JUMP`) lead-gap viết đúng: *"sau kỳ này **3 class CỦA TAO** chạm/vượt"* — có chữ **"của tao"**, scope chuẩn xác, và nó khai rõ đơn-vị + cấm chép đè. Nhưng **END-line rụng mất chữ "của tao"**: `· 3 class chạm/vượt jump=3 ·`. END-line là thứ lead đọc và mang đi.
**Và lỗ này là lỗ CỦA CẶP, không của riêng lead-gap:** `lead-stale` **không tính jump cho 5 class view-\*** — nó chỉ ghi *"Lưu-ý tally cho lead (đừng tự cộng tay)"* rồi dừng. ⇒ **4 class view-\* chạm/vượt ngưỡng KHÔNG được ai nêu**, trong đó `view-stale-header` **vừa chạm 3 lần đầu tiên** — đúng loại sự-kiện mà `jump_on_class_repeat` sinh ra để bắt.
🔴 Đây là **lớp meta-count blind-spot tái diễn**: cả 2 vai ĐO tốt trong turf, nhưng con-số **TỔNG-HỢP-VỀ-CẶP** thì không ai sở hữu.
---
## §4 — THÁCH-CLEAN (2 hướng, cả hai BẮT BUỘC)
### §4-A · Ô XANH `lead-gap` Nhóm B — **THỦNG** ⇒ verdict **TRƯỢT**
lead-gap khai: *"Nhóm B — việc rớt khỏi work-state ⇒ **0 FLAG** (`_end``HANDOFF` khớp 1:1)"*, kèm câu tự-bảo-vệ *"Vế này SẠCH — nêu ra vì 'vắng ≠ chưa soi'"*.
🔴 **Nhưng phép đo của nó chỉ có 2 sổ closeout.** `docs/changelog/migration-todos.md` — sổ **atomic-task theo phase**, đúng nghĩa work-state — **không được mở một dòng nào**. Tao mở:
`migration-todos.md:798` `## 🎯 Phase 12 — … 6/8 wave DONE`**đúng 4 mục `[ ]`**. Tao truy từng mục xem có mặt trên work-state surface không:
| # | mục `[ ]` Phase 12 | HANDOFF | `_end` | phán |
|---|---|---|---|---|
| 1 | BLOCKER chốt NGƯỜI DUYỆT 3 trạm | ✅ slot (54) | ✅ | có nhà — lead-gap Nhóm C đúng |
| 2 | Trang GĐ3 cây 4-folder | ✅ slot (55) (`GĐ3`×2) | ✅ ×1 | có nhà — Nhóm D đúng |
| 3 | W5 Cầu KHKK→HĐ | `W5`×3 | **0** | có nhà ở HANDOFF |
| 4 | **E2E toàn trình + re-curl `hasSealedCopy`** | `E2E`×1 · `hasSealedCopy` **0** | **0** | ⚠️ tiêu-chí nghiệm-thu vắng |
🔴 **VÀ ĐÂY LÀ CÁI THẬT SỰ RỚT — defect `F-2`, nằm LỒNG trong bullet W5:**
```
migration-todos.md: Vá luôn **F-2**: phiếu liên-danh N-HĐ hiện chỉ nối HĐ[0]
(`CreateContractFromEvaluationFeatures.cs:145`)
```
Đo trên 3 bề-mặt work-state:
```
"CreateContractFromEvaluation" HANDOFF=0 · _end=0 · STATUS=2
"liên-danh" HANDOFF=1 · _end=0 · STATUS=2
"hasSealedCopy" HANDOFF=0 · _end=0 · STATUS=0
```
🔴 **Bẫy tao suýt mắc — kiểm control trước khi kết luận:** STATUS **có** 2 hit `CreateContractFromEvaluation`, thoạt nhìn tưởng "có nhà". Tao mở ra đọc: cả 2 hit đều trỏ **`:88`** (`Contract.GiaTri` / `ApprovedPrice` — quyết-định range S117), **KHÔNG phải `:145`****không nói gì về liên-danh N-HĐ chỉ nối HĐ[0]**. ⇒ hit là **dương-giả do trùng tên file**; defect `:145` thật sự có **0 nhà** ngoài `migration-todos`.
**Phán:** đây là **`gap-workstate-drop` thật** — một **defect code đã biết** (nối sai cardinality, đúng lớp bài học *cardinality-change-grep-consumers*) sống **duy nhất** trong một bullet con của một mục `[ ]` bị chặn, **không có** trên HANDOFF/`_end`, **không có** slot số, **không có** carry token. Ngày W5 bị hoãn tiếp (nó **đang** bị chặn bởi BLOCKER (54) — tức chắc chắn hoãn), F-2 chìm theo.
**Nhóm B "0 FLAG" là honest-zero KHÔNG ĐỦ RĂNG.** Nó đo *"2 sổ closeout có khớp nhau không"* rồi kết luận *"không việc nào rớt"* — hai mệnh-đề khác nhau. Hai sổ có thể khớp nhau hoàn hảo **và cùng thiếu** một việc.
🔸 **Công bằng với lead-gap:** 2/4 mục `[ ]` nó BÁC đúng (54)(55), và nó tự-BÁC có chạm đĩa thật (`RÚT-1`). Lỗi không phải lười — lỗi là **chọn sai tập-đo**.
### §4-B · Vùng `lead-stale` CHƯA CHẠM (G7 governance) — **CÓ FLAG THẬT** ⇒ "12" xác nhận là **SÀN**
lead-stale tự khai G7 = **0 dòng** ACTIVE-MARKS · **0 dòng** `harness-11-engine` · counter=37 nhận từ lead chưa tự đo. Tao soi vào đúng vùng đó:
**(a) Xác nhận FLAG thật trong G7 — tao tự đo, không nhận lời `ring1`:**
```
docs/governance/ctx-soft-memory-se-draft.md:38 → "roster 20 đã dày, sàn chỉ đòi ghi≠kiểm"
đĩa: ls .claude/agents/*.md README = 23 (detector cũng in roster=23)
cùng file, header: "Trạng thái: DRAFT chờ anh chốt 4 câu đánh số — CẤM wire trước khi anh duyệt"
.claude/workflows/hmw.js:41-42 · :229 · :236 → ctx-audit · ctx-curator · ctx-verifier ĐỀU CÓ
```
**hai lệch cùng file**: (i) `roster 20` vs đĩa **23** = `view-stale-count`; (ii) header khai **"DRAFT · CẤM wire"** trong khi 3 vai `ctx-*` **đã wire vào `hmw.js` và chạy thật trong chính phiên này** = `view-stale-status`. 🔴 Vế (ii) nguy hơn vế (i): nó bảo người đọc **đừng wire** thứ **đã wire rồi**.
**⇒ G7 có ≥1 FLAG thật mà `lead-stale` không thấy vì không mở.** Điều này **chứng-minh bằng ca**, không phải bằng lý-lẽ, rằng `TOTAL=12`**SÀN**. Lead-stale tự khai đúng ("cấm đọc vùng chưa chạm thành sạch") — tao xác nhận lời tự-khai đó là **thật**, không phải khiêm-tốn hình-thức.
**(b) Nhưng G7 KHÔNG đồng loạt hỏng — tao soi 2 mục và cả 2 SẠCH (báo để lead đừng vá bừa cả nhóm):**
- `ACTIVE-MARKS.md` (31.197 B, mtime 07-24): 3 con-trỏ ở header đều còn sống — `session-start §2.1.4` ✅ · `session-end §L.b(h)` ✅ · `harness-11-engine §E` ✅. Các số roster cũ (`roster 12`, `11-agent`) **nằm trong thân mark đã ký**, và file **đã có sẵn cơ-chế xử**: chú-thích `:36`/`:44` nói rõ *"thân mark ghi ∈ roster 12 … con-số của thời-điểm ký"* + chú-thích S149 xử trọn vụ rename 5 vai. ⇒ **đóng-băng CÓ CHỦ-ĐÍCH theo luật P4/P8, KHÔNG phải stale.** Tao **KHÔNG flag** — flag ở đây sẽ là dương-giả, và tệ hơn: sẽ xúi sửa một bản ký.
- `harness-11-engine.md` (91.952 B): grep các trục đếm roster/agent ⇒ **0 hit** ⇒ không có số roster để lệch trên trục đó.
---
## §5 — RANH 2 VAI: kiểm ĐẾM ĐÔI
**Nghi-can số 1 — slot (58) (`lead-stale` FLAG-6 ⟂ `lead-gap` Nhóm E): KHÔNG đếm đôi. Sạch.**
`lead-gap` đặt slot (58) ở **INFORM-1**, khai tường minh *"turf vai-stale, tao KHÔNG tính vào TOTAL"*, rồi **BÁC** vế của chính nó (câu hỏi thiết-kế ĐÃ được hỏi ở `HANDOFF:17` với đủ 3 lựa chọn). Tao verify `TOTAL=4` của nó = FLAG-1·2·3·4, **không cái nào là slot (58)**. ⇒ 1 sự-việc, 1 lần đếm, đúng vai. Tally **không bị thổi**.
🔴 **Nhưng tao tìm ra lỗi NGƯỢC LẠI — nghiêm hơn đếm-đôi: HÀNG BÀN-GIAO RƠI GIỮA 2 TURF.**
`lead-gap` **4 lần** chủ động nhường vế "số sai" sang `lead-stale`. Tao đối chiếu với **5 FLAG `view-stale-count`**`lead-stale` thật sự phát (FLAG-3 bundle · 6 `_mind` · 7 `CLAUDE.md` mig · 10 menu-key · 11 skill ef-core):
| lead-gap nhường | sang class | lead-stale có nhặt? |
|---|---|---|
| FLAG-1: *"26 slug @S152"* sai (thật 23 giữ) | `view-stale-count` | ❌ **KHÔNG** |
| FLAG-4: `190.437` → nay `160.924` tok | `view-stale-count` | ❌ **KHÔNG** |
| INFORM-G1: slug `retro-harvest` mô-tả nợ đắt hơn thật | `view-*` | ❌ **KHÔNG** |
| honest-zero: sổ garble khai *"×66 qua S158"* đã cũ | `view-*` | ❌ **KHÔNG** |
**4/4 hàng nhường đi, 0/4 được nhặt.** Không vai nào sai — `lead-gap` nhường đúng luật turf, `lead-stale` không có nghĩa-vụ đọc file của `lead-gap` (2 vai chạy song song, `lead-stale` xong 16:18 **trước** `lead-gap` 16:31). Nhưng hệ-quả đo được: **4 finding có thật, được nêu tên đích danh, rơi khỏi CẢ HAI TOTAL.**
🔴 Đây là **khuyết-tật cấu-trúc của cặp H24, không phải lỗi cá-nhân**: không có bước hợp-lưu sau khi 2 vai trả. Cùng một hình-dạng với §3-bis (jump-count không ai sở hữu). **Đề-xuất cho lead (INFORM, không phải quyết-định của tao):** vai chạy SAU đọc file vai chạy TRƯỚC, hoặc lead gom mục "hàng nhường" khi tổng-hợp.
---
## §6 — VERDICT PER-FLAG (16 FLAG · 2 trục: CLASS đúng enum ⟂ SUBSTANCE có thật)
🔴 **Đọc đúng 2 cột:** cột **class** tao phủ **16/16** (đối chiếu enum ĐÓNG 11 phần-tử + tự đếm tag). Cột **substance** tao phủ **8/16** — 8 FLAG còn lại tao **CHƯA CHẠM**, và **CẤM đọc thành ĐẠT**.
| vai | FLAG | class khai | class ĐÚNG? | substance | verdict |
|---|---|---|---|---|---|
| stale | 1 | `view-residual-asym` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 2 | `view-stale-role-desc` | ✅ | **phần**: roster đĩa **23** (detector in `roster=23`) + `hmw.js:41-42` CÓ đủ 3 `ctx-*` ⇒ enumeration 20 thiếu 3 = có thật | **ĐẠT** |
| stale | 3 | `view-stale-count` | ✅ | **HELD** (`:479` = hash S157; prod thật `DXoYDy7R`/`o8KDluD1`) · 🔴 **BROKE neo**: `:9` → thật là **`:13`** | **ĐẠT + errata anchor** |
| stale | 4 | `view-stale-header` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 5 | `view-residual-asym` | ✅ | **HELD** (20.313/20.480 = 99,18% / 167 B ⟂ `:65` ghi 522 B; `:15` đã biết mà `:65` không sửa) | **ĐẠT** |
| stale | 6 | `view-stale-count` | ✅ | **HELD** (32.181/32.768 = **98,21%**, KHÔNG 89,06%; `_mind-s-9` chưa tồn tại ⇒ tiền-đề "SỐNG" chết) | **ĐẠT** |
| stale | 7 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 8 | `view-stale-status` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 9 | `view-residual-asym` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 10 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 11 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 12 | `view-stale-status` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| gap | 1 | `gap-carry-dropped` | ✅ | **HELD 4/4 vế** (detector byte-identical ×3 mốc · 6 token vs 23 tên trần · carry chết trong tập-đo · turf) | **ĐẠT** |
| gap | 2 | `gap-decision-sunk` | ✅ | **HELD** (`không-canonical` = 0/0/0/0 trên 4 sổ owner, 1 hit duy nhất ở `_end` FROZEN) | **ĐẠT** |
| gap | 3 | `gap-decision-sunk` | ✅ | **HELD** (`Bảng cứng`: HANDOFF 1 — ở `:44` khối lineage · STATUS 1 · todos 0 · MARKS 0; trong khối CHỜ-ANH `:9-23` = **0**) | **ĐẠT** |
| gap | 4 | `gap-underfill` | ✅ | **HELD + control-dương thật** (`source_order` 0/0/0/0 ⟂ `backfill` **13/53/0/3**; 4 lệnh `pour`=0; kho đĩa 1.250.494 B > 1.167.001 B nó khai) | **ĐẠT** |
**⇒ 16/16 FLAG ĐẠT. 0 FLAG dương-giả. 0 tag ngoài enum. 0 ép-vừa-enum (ca S162 KHÔNG tái).**
### 2 claim NGOÀI tập FLAG bị TRƯỢT
| # | claim | vai | phán |
|---|---|---|---|
| T-1 | END-line *"3 class chạm/vượt jump=3"* | lead-gap | 🔴 **TRƯỢT** — thật **7** class. Thân bài đúng ("3 class **của tao**"), END-line rụng scope. `lead-stale` không tính jump cho 5 class `view-*`**4 class ≥ ngưỡng không ai nêu**, gồm `view-stale-header` **vừa chạm 3 lần đầu**. |
| T-2 | Nhóm B *"0 FLAG — `_end` ↔ `HANDOFF` khớp 1:1"* | lead-gap | 🔴 **TRƯỢT** — tập-đo thiếu `migration-todos.md` Phase 12. Defect **F-2** (`CreateContractFromEvaluationFeatures.cs:145`, liên-danh N-HĐ chỉ nối HĐ[0]) có **0 nhà** trên HANDOFF/`_end` (2 hit STATUS là dương-giả — trỏ `:88`, khác việc). |
---
## §7 — CHƯA CHẠM (khai thẳng — CẤM đọc thành "sạch")
1. **Substance 8/12 FLAG `lead-stale`**: FLAG-1 · 4 · 7 · 8 · 9 · 10 · 11 · 12. Tao chỉ verify **class**, không mở source của chúng.
2. **2 BÁC Nhóm F** của lead-gap (6-vai-baseline · slot (59)) — không tự đo `measured{}` 17/23.
3. **`RÚT-1`** + **4 INFORM** lead-gap · **7 VERIFIED-CLEAN** lead-stale (VC-1..VC-7) — không tái-dựng.
4. **G7 còn lại**: `reinject-ledger.md` · thân `harness-11-engine.md` (91.952 B, chỉ grep 1 trục) · `.session-counter.json` `history[]` 28 entry (chỉ đọc 3 cuối).
5. **Nền tao NHẬN từ lead, KHÔNG tự đo**: test 590 PASS · detectors TOTAL 44 + 6 INFORM · hotload 657.229 B · headroom 160.924 tok. (counter **37** + roster **23** thì tao **CÓ** tự đo lại — khớp.)
6. **INFORM-2 lead-gap** (`signal_reset_done:false` · `signal_session:"S162"`): tao **xác nhận 2 khoá có thật trên đĩa** đúng giá-trị đó, nhưng **không thẩm-định** hệ-quả tally — ngoài tầm đo của tao lượt này.
---
## §8 — 3 việc nên đưa lead (INFORM-only · propose-only · tao KHÔNG sửa file nào ngoài file này)
1. 🔴 **Sửa END-line jump trước khi ghi tally**: **7** class chạm/vượt `jump_on_class_repeat=3`, không phải 3. `view-stale-header` vừa chạm ngưỡng lần đầu — đúng sự-kiện cơ-chế jump sinh ra để bắt.
2. 🔴 **F-2 cần một nhà**: defect `CreateContractFromEvaluationFeatures.cs:145` (liên-danh N-HĐ nối HĐ[0]) chỉ sống trong bullet W5 đang bị chặn. Cấp slot/carry token, đừng để chìm theo W5.
3. 🔴 **Errata neo**: `lead-stale` FLAG-3 trỏ `STATUS:9` → đọc là **`STATUS:13`**. Và **G7 có FLAG thật** (`ctx-soft-memory-se-draft.md:38` roster 20 vs 23 + header "DRAFT · CẤM wire" trong khi 3 vai `ctx-*` đã wire & chạy) ⇒ `TOTAL=12`**SÀN**, đã chứng bằng ca.
---
END ring2-audit-open-S163 — VERDICT=PASS_WITH_FLAGS (16/16 FLAG ĐẠT · 2 claim ngoài-FLAG TRƯỢT · 2 ô-xanh thủng) — TOTAL=16 Đ/2 T — COVERAGE=18/27 claim