# sub-ring4-audit — KIỂM vòng nén-ngủ S170 (bookend @open S169 V4, phiên-LOGIC L10)

> Vai: `ring4-audit` — KIỂM ĐỘC-LẬP output `/sleep-recovery-memory-l2`. Ghi TỪNG MỤC (anti-#53).
> Ngày đo: 2026-08-03. Repo HEAD lúc đo: `4af3414` (2026-08-03 10:53:28 +0700).
> 🔴 Nguyên-tắc: KHÔNG tin lời-khai — mọi số dưới đây là số **tôi TỰ ĐO**, lệnh đo ghi kèm.

---

## (i) PIN + fail-safe — sleep CÓ chạy phiên này? → CÓ

| Kiểm | Kết quả |
|---|---|
| 16 `.gist.md` tồn-tại đúng path PIN | ✅ 16/16 có mặt |
| mtime gist | `2026-08-03 10:51:18` (tươi, cùng phiên) |
| Fidelity verdict file | ✅ `sub-reviewer-sleep-fidelity-S170.md` (38.167 B, mtime 10:47) |
| Thứ-tự tuần-tự C4b (`mtime(ring4) > mtime(gist)`) | ✅ file này ghi sau 10:51 |
| Trạng-thái git 16 gist | `??` (untracked, ADDITIVE — chưa commit) |

⇒ **KHÔNG NO-OP.** Có gist tươi để chấm. Tiến hành verdict.

Ghi-chú số-đếm: trên đĩa có **36** file `*.gist.md` tổng (`find .claude/agent-memory -name "*.gist.md" | wc -c`), trong đó **16** là của phiên này (untracked + mtime 10:51); 20 file còn lại là gist các đợt trước (đã commit) — KHÔNG thuộc phạm-vi chấm.

---

## (ii) TỰ TÁI-DỰNG SỐ — bảng 16 cặp nguồn/gist (tôi tự `stat -c %s`, KHÔNG chép của lead)

| # | cặp | nguồn (B) | gist (B) | tỉ-lệ gist/nguồn |
|---|---|---|---|---|
| 1 | cicd-monitor/2026-05-q2 | 3.877 | 6.429 | 165,8% |
| 2 | cicd-monitor/2026-05-q3 | 3.949 | 6.488 | 164,3% |
| 3 | cicd-monitor/2026-05-q4 | 10.576 | 14.727 | 139,2% |
| 4 | cicd-monitor/2026-05-runs | 59.861 | 31.779 | **53,1%** |
| 5 | implementer-backend/2026-05-q1 | 18.512 | 16.534 | 89,3% |
| 6 | implementer-backend/2026-05-q2 | 12.442 | 12.372 | 99,4% |
| 7 | implementer-backend/2026-05-q3 | 5.353 | 11.504 | **214,9%** |
| 8 | implementer-backend/2026-05-q4 | 6.243 | 10.234 | 163,9% |
| 9 | investigator-codebase/2026-05-q1 | 20.699 | 17.144 | 82,8% |
| 10 | investigator-codebase/2026-05-q2 | 9.062 | 11.729 | 129,4% |
| 11 | investigator-codebase/2026-05-q3 | 3.089 | 6.660 | 215,6% |
| 12 | investigator-codebase/2026-05-q4 | 2.770 | 8.269 | **298,5%** |
| 13 | reviewer/2026-05-q1 | 18.707 | 14.685 | 78,5% |
| 14 | reviewer/2026-05-q2 | 3.526 | 6.723 | 190,7% |
| 15 | test-specialist/baseline-history | 32.069 | 28.437 | 88,7% |
| 16 | implementer-frontend/2026-H2 | 22.215 | 30.144 | **135,7%** |
| | **TỔNG** | **232.950** | **233.858** | **100,39%** |

**Đối-chứng claim lead:**

| Claim lead | Tôi đo | Phán |
|---|---|---|
| tổng 16 gist = 233.858 B | **233.858** | ✅ KHỚP TUYỆT-ĐỐI |
| tổng 16 nguồn = 232.937 B | **232.950** | ⚠️ **LỆCH 13 B** (xem C-2 dưới) |
| ≈100,4% | 100,39% | ✅ khớp (lệch 13B không đổi làm-tròn) |
| cicd-runs 59.848 → ~31K | 59.861 → 31.779 | ⚠️ nguồn lệch 13 B; đích ✅ |
| impl-fe 2026-H2 ~134% | **135,7%** | ⚠️ lệch 1,7 điểm (làm tròn xuống) |
| impl-be q3 ~214% | 214,9% | ✅ khớp |

---

## (iii) FALSIFY-LOG — thử phủ-định từng claim

### F-1 · "16 nguồn verbatim byte-identical trước/sau P4 (ADDITIVE)" → **HELD**
Phép phủ-định: nếu sleep có ghi đè nguồn, hash đĩa ≠ hash HEAD.
```
git hash-object <src>  vs  git show HEAD:<src> | git hash-object --stdin   → 16/16 IDENTICAL
```
Cả 16 nguồn hash trùng HEAD. Thêm bằng-chứng thời-gian: commit gần nhất chạm nguồn = `8e07fbd` @ **09:57:05**, gist sinh @ **10:51:18** ⇒ nguồn đứng-yên suốt 54 phút bắc qua lượt nén. **Bất-biến ADDITIVE ĐỨNG.**

### F-2 · "cicd-runs có diff git từ TRƯỚC sleep (redact pwd), không phải sleep phá verbatim" → **HELD (nhưng lời-khai lệch dạng)**
Phép phủ-định 1 — *diff có chạm gì ngoài dòng redact không?*
```
git show --numstat 8e07fbd -- .../2026-05-runs.md  →  1  1  (đúng 1 dòng +, 1 dòng −)
```
✅ Diff chạm **đúng 1 dòng**, đúng dòng `pwd=`. Không phá verbatim phần còn lại.

Phép phủ-định 2 — *thời-điểm có thật là TRƯỚC sleep không?* `8e07fbd` @ 09:57:05 < gist @ 10:51:18 ✅.

⚠️ **Đính-chính dạng lời-khai:** lead khai "CÓ diff git" — hàm-ý diff working-tree đang treo. Thực-tế **KHÔNG có diff working-tree**; redact đã **commit** trong `8e07fbd` (`wal: flush 20260803T0957`). `git status` sạch với file này. Substance đúng, mô-tả trạng-thái sai. Không FLAG oan, nhưng ghi lại vì lời-khai này chính là thứ dùng để miễn-trừ FLAG.

### F-3 · "gist không tha credential sang bản nén" (tôi tự thêm — an-ninh) → **HELD**
```
grep -c "buKL3TGB" .../2026-05-runs.gist.md  → 0
grep -on "pwd=[^ ]\{0,30\}" .../2026-05-runs.gist.md → 100:pwd=[đã
```
Gist chỉ mang **dạng đã che**, 0 hit plaintext. Nén sinh SAU redact nên kế-thừa bản sạch. ✅

### F-4 · "strict-utf8 16/16" → **HELD**
Tôi tự chạy `open(f, encoding='utf-8', errors='strict').read()` trên cả 16 → **16/16 OK**, 0 file byte-hỏng. Ca "cut-theo-byte" lead khai đã vá — tôi xác-nhận không còn dấu-vết.

### F-5 · "frontmatter distill-gen: 1 + source-verbatim" → **HELD**
16/16 có đúng `distill-gen: 1` và dòng `source-verbatim:` trỏ nguồn. ✅

---

## (iv) TRUY-NGUYÊN 2 SAI-SỐ 13 BYTE (cả 2 đều = 13 — KHÔNG phải cùng một nguyên-nhân)

### C-1 · `investigator-codebase/2026-05-q4` — CRLF, **giả-dương của phép đo, KHÔNG phải lỗi lead**
`git show HEAD:` cho 2.757 B nhưng đĩa 2.770 B. Truy:
```
disk CR bytes = 13   |   HEAD CR bytes = 0
disk stripped = 2757 |   HEAD stripped = 2757   |   core.autocrlf = true
```
⇒ File có 13 dòng CRLF trên đĩa, blob repo lưu LF. Nội-dung **y-hệt**. Đây là bẫy của *phép đo qua git*, tôi tự bắt và loại. Số đúng dùng cho bảng = **2.770** (byte thật trên đĩa).

### C-2 · `cicd-monitor/2026-05-runs` — lead đo **TRƯỚC redact**, số đã lão-hoá
```
git show 8e07fbd^:.../2026-05-runs.md | wc -c  →  59.848   ← ĐÚNG BẰNG SỐ LEAD KHAI
git show 8e07fbd :.../2026-05-runs.md | wc -c  →  59.861   ← trạng-thái thật lúc nén
```
⇒ Chuỗi thay-thế redact **dài hơn** mật-khẩu gốc 13 B. Lead lấy con-số nguồn từ ảnh-chụp **trước** commit redact 09:57, rồi báo-cáo sau khi nén 10:51. Toàn-bộ 13 B lệch của tổng (232.937 vs 232.950) **quy về đúng file này** — 15 file kia lead dùng số đĩa khớp tôi 100%.

**Hệ-quả:** claim byte của lead **không bịa**, chỉ **đo lệch pha thời-gian 1 nhịp** trên 1/16 file. Sai-số 0,006% — vô-hại cho kết-luận "≈100,4%", nhưng là đúng cái class `[claim mạnh hơn việc đã làm]` / số đóng-băng tự-lão-hoá mà tôi đã bắt ở S152 (slot HANDOFF). Tái-phát dạng nhẹ.

---

## (v) KIỂM claim #4 — "9 nhóm fidelity-fix ĐÃ ÁP vào archive" → **ĐẠT**, có 3 lớp chứng độc-lập

**Lớp 1 — 16 draft ↔ 16 archive byte-identical.** Tôi so `sleep-drafts/*.gist.draft.md` với `archive/*.gist.md`: **16/16 trùng byte tuyệt-đối** (6429·6488·14727·31779·16534·12372·11504·10234·30144·17144·11729·6660·8269·14685·6723·28437). ⇒ archive = bản sao đúng của draft ĐÃ VÁ, không có bản nào bị copy nhầm phiên-bản cũ.

**Lớp 2 — số reviewer đo lúc gate < số cuối (fix chỉ có thể làm PHÌNH).** Reviewer ghi kích-thước draft ngay lúc chấm; tôi đo bản cuối:

| cặp | reviewer đo (lúc gate) | tôi đo (archive) | Δ |
|---|---|---|---|
| cicd-runs | 30.188 | 31.779 | **+1.591** |
| baseline-history | 27.359 | 28.437 | **+1.078** |
| impl-fe 2026-H2 | 29.828 | 30.144 | **+316** |
| investigator-q1 | 16.610 | 17.144 | **+534** |

4/4 đều lớn hơn ⇒ có nội-dung được THÊM sau lượt gate. Fix không phải lời-hứa.

**Lớp 3 — mở đúng chỗ, đọc chữ đã vá:**

| fix | tôi verify tại chỗ | phán |
|---|---|---|
| P2b "8-LỖ thay 4-LỖ" | `baseline-history.gist.md:7,:19` có `8 LỖ` | ✅ |
| P3 dòng `Run #214` gán-verdict-ngược | `2026-05-runs.gist.md:129` nay ghi **`VERDICT=PASS`** + chú thẳng "*thay đoạn trích cũ vốn dính thân entry Run #215 FAIL ⇒ gán verdict ngược*" | ✅ (vá + khai lý-do, không vá lén) |
| P2c `lastPresetGroup` | `2026-H2.gist.md` 1 hit | ✅ |
| P2d "7 field / 6 liệt" | `2026-05-q1.gist.md:24` giữ chữ nguồn *"nguồn ghi «SEND ĐÚNG 7 fields» nhưng LIỆT KÊ 6"* | ✅ giữ-chữ-nguồn kèm nhãn, KHÔNG sửa số gốc |
| P1 4-tên-cờ | `implementer-backend/2026-05-q3.gist.md:10,:14-19,:58` | ✅ xem dưới |

**P1 soi kỹ (nhãn có phủ CON SỐ không — đúng chỗ reviewer bắt MAJOR-1):** gist `:10` viết *"4 tên cờ … đều 0-hit src/Backend, **VÀ con số «4×» cũng CHƯA KIỂM**"*, `:19` lặp lại *"Con số «4×» của claim CŨNG CHƯA KIỂM"*, và đưa sẵn câu thay-thế không mang số. `:18` tách riêng `AllowDelegate` = **"MA HOÀN TOÀN — 0 đối-ứng, pickaxe 0 commit"** (hết gộp chung với `AllowEarlyApprove`). `:19+:58` khai đủ **tên cột THẬT** (`AllowDrafterSkipToFinal`→`Users` · `AllowApproverEditDetails` · `AllowApproverEditBudget` · `AllowApproverSkipToFinal`) + **4 tên Mig thật** + control dương `54 file` **có khai bộ lọc** (raw 86 / 12 khi trừ Designer+Snapshot) + control âm = 0. ⇒ cả 2 MAJOR + 2 MINOR của P1 đều ăn.

---

## (vi) 🔴 THÁCH-CLEAN — mở gist đối-chứng verbatim gốc (bắt buộc, vì gate tự-báo PASS)

Chọn 2 file: **(a)** `implementer-backend--2026-05-q3` (gánh FIDELITY nặng nhất, lead chỉ-định) · **(b)** `investigator-codebase--2026-05-q4` — **tôi TỰ CHỌN**, KHÔNG nằm trong 4 cặp reviewer soi (runs/baseline/impl-fe/inv-q1), và là **outlier phình mạnh nhất cả lô: 298,5%** (2.770 → 8.269). Chọn đúng chỗ chưa ai nhìn + nghi-vấn cao nhất.

### (a) `implementer-backend/2026-05-q3` — 4-field ĐẠT phần lớn, **nhưng mất 1 GUARD + mất PHƯƠNG-PHÁP-CHỨNG**

Đọc TRỌN nguồn (5.353 B, 5 mục) rồi đối từng field. **Giữ đúng và tốt:** 5 spawn · 948 LOC/6 file · ~10K+25K+25K+12K · 2/8 task + ~30 phút · 6/8 REFUSE (#1/#2/#4/#7) + 2/8 ACCEPT (Case 1/2) · ngưỡng **spec ambiguity >20%** · luật **tuần-tự A→B→C KHÔNG song-song** · `stash ContractWorkflowService.cs` · Pattern 20 (5 script PS) · `[pattern, phase-<N>, <bc>]` · `source_path` · cấm self-authorize xuyên dự-án · ABANDONED · 38.8 KB → ~22-24 KB · 12 entry · 2026-05-11.

**Điểm SÁNG đáng giữ:** nguồn `:47` viết *"5 patterns proven cumulative S1-S20"* rồi **liệt kê 6 mục**. Gist `:44` + `:51` xử đúng chuẩn: *"đã nạp sẵn **5 (thực tế liệt-kê 6)** pattern"* — giữ chữ nguồn, gắn nhãn lệch, **không tự sửa số**. Đây chính là hành-vi mà reviewer phải FLAG ở file khác (P2d "lén sửa 7→6"); ở file này làm ĐÚNG ngay từ đầu.

🔴 **T-1 (MAJOR) — 1 GUARD hành-động-được rơi mất hoàn toàn.** Nguồn `:10` kết bằng: *"Pattern 16-bis 4-place mirror cross-app reinforced 2× (…) — **verify Layout staticMap khi page move/route enhance**"*. Gist giữ được "16-bis reinforced 2×" nhưng **vế lệnh-làm biến mất**:
```
grep -c staticMap  → nguồn=1  gist=0
```
Nặng ở chỗ: gist **CÓ hẳn mục `guard:`** (`:54`) liệt 7 rào — mà rào này không có trong đó. Người đọc gist sẽ dời/sửa route rồi quên soi `Layout staticMap`, đúng cái bẫy nguồn dựng ra để chặn.

🔴 **T-2 (MAJOR-nhẹ) — mất PHƯƠNG-PHÁP CHỨNG của claim mirror.** Nguồn: *"4 master pages mirror fe-admin→fe-user **byte-identical SHA256**"* và *"948 LOC mirror **PASS 0 TS err**"*. Gist giữ con số 948 LOC / 6 file nhưng **bỏ cả cách chứng lẫn kết-quả verify**:
```
SHA256 → nguồn=1 gist=0   |   byte-identical → nguồn=1 gist=0   |   "0 TS err" → nguồn=1 gist=0
```
Còn lại "948 LOC mirror" thành lời khẳng-định trần. Trớ trêu: file anh em `investigator-q4.gist` (`:8`) tự rút ra bài học *"mỗi chỉ-số phải khai kèm CÁCH ĐẾM"* — lô này vi-phạm chính bài học đó ở file khác.

⚠️ **T-3 (MINOR) — frontmatter khai "6 entry", đĩa có 5.** `grep -c "^## " nguồn → 5`; frontmatter gist `:3` ghi *"(6 entry → 4 cụm)"*. Có thể tác-giả tính cả khối header, nhưng **như đang viết thì không tái-dựng được** — lại đúng class "con-số đóng vai đã-soi-hết" mà chính lô này đang đi vá ở 3 file khác.

⚠️ **T-4 (thấp)** — danh sách KEEP của lượt curate rụng chi-tiết: `Plan AG` / `Pattern 19` (nguồn=1, gist=0). Gist có giữ "khối Pattern 1-19" nên thiệt-hại nhỏ.

### (b) `investigator-codebase/2026-05-q4` — phình 298,5% **nhưng KHÔNG rỗng**; 1 nhãn tự mâu-thuẫn

Đối-chứng trọn 7 chỉ-số S40: `Migrations=40`+`AddAttendances` · `Gotchas=55` (`### N.`) · git clean · `DbSet=77` vs `SQL tables=84` (77+7 Identity, **docs 84 ĐÚNG**, phép đếm DbSet sai −7) · `Endpoints=211` (docs ~223) · `FE 36+29=65` (docs 53) · `Menu keys=53` (docs 85) — **7/7 khớp verbatim, 0 số bị bẻ**. Các neo `WorkflowAppsFeatures.cs:11-15` · `ProposalFeatures.cs:403-486` · `ApprovalWorkflow.cs:72` · `d2f52ba` · enum `ApplicableType` thiếu Travel (Leave=5/OT=6/Vehicle=7/ItTicket=8) đều còn nguyên. ⇒ **phình byte KHÔNG phải phình rỗng** — 3 entry mega-line được bung thành 4-field + phụ-lục token; giá byte đổi lấy tra-cứu được. Không FLAG.

🔴 **T-5 (MINOR, file CHƯA AI SOI) — tiêu-đề entry đá thân bài.** `:21` đặt tên *"S40 STATE GROUNDING: đo lại 7 con số, **docs sai 4**"*. Nhưng theo **chính thân bài** `:23`: docs sai ở **3** chỉ-số (endpoints ~223 · FE pages 53 · menu key 85); ở chỉ-số thứ 4 (bảng) **docs ĐÚNG (84)** — cái sai là *phép đếm DbSet của vai*, không phải docs. Đo lại nguồn:
```
grep -o "docs [0-9~]*[^)]*"  →  "docs ĐÚNG\", DbSet count sai −7" | "docs ~223" | "docs 53 under-count" | "docs 85 over-count"
```
⇒ 4 lần nhắc docs, **1 lần là docs ĐÚNG**. Nhãn "docs sai 4" **quy sai trách-nhiệm 1 ca** cho docs, và vô-tình xoá mất bài học đắt nhất của entry (*chính vai đếm sai, không phải docs lạc-hậu*). Sửa rẻ: "7 chỉ-số, **4 lệch** — 3 do docs, 1 do phép đếm".

### 🔬 Phát-hiện xuyên-suốt: **coverage-gate 16/16 PASS là THẬT, nhưng không bảo-chứng "không mất gì"**
`Mig 38` trong `investigator-q4` là ca mẫu: nguồn có, **thân gist KHÔNG có**, phụ-lục token của curator **cũng KHÔNG có** — nó chỉ sống-sót nhờ **lưới máy P3** (`:54`). Tức gate **CÓ RĂNG THẬT** (bắt được token cả người lẫn curator bỏ sót). Nhưng chiều ngược lại: T-1/T-2 (`staticMap`, `SHA256`, `0 TS err`) **không thuộc lớp token nào** của gate `{gotcha# · Run# · Mig · SHA · file:line}` ⇒ rơi mà gate vẫn xanh. **"16/16 PASS" = 16/16 token-class được phủ, KHÔNG phải "0 mất mát load-bearing".** Đề-nghị lead đừng đọc con số đó theo nghĩa thứ hai.

---

## (vii) BẢNG VERDICT PER-CLAIM (KHÔNG gộp tổng — mỗi claim 1 dòng)

| # | Claim của lead | Số/chứng tôi TỰ ĐO | Phán |
|---|---|---|---|
| C1 | 16 nguồn verbatim byte-identical trước/sau P4 | hash đĩa ≡ hash HEAD **16/16**; nguồn đứng yên 09:57→10:51 | **ĐẠT** |
| C2 | `2026-05-runs.md` diff là redact pwd, KHÔNG do sleep | `git show --numstat 8e07fbd` = **1 ins / 1 del**, đúng dòng `pwd=`; 09:57 < 10:51 | **ĐẠT** *(mô-tả lệch: đã COMMIT, không phải diff working-tree đang treo)* |
| C3 | tổng 16 gist = **233.858 B** | **233.858** | **ĐẠT** (khớp tuyệt-đối) |
| C4 | tổng 16 nguồn = **232.937 B** | **232.950** (lệch +13) | **TRƯỢT** *(số đo TRƯỚC commit redact 09:57 → lão-hoá 1 nhịp)* |
| C5 | tỉ-lệ ≈ **100,4%** | **100,39%** | **ĐẠT** |
| C6 | cicd-runs **59.848** → ~31K | nguồn thật **59.861** (59.848 = bản tiền-redact); đích **31.779** | **TRƯỢT (vế nguồn)** / đích ĐẠT |
| C7 | impl-fe 2026-H2 ≈ **134%** | **135,7%** (22.215→30.144) | **TRƯỢT-nhẹ** (làm tròn xuống 1,7 điểm) |
| C8 | impl-be q3 ≈ **214%** | **214,9%** | **ĐẠT** |
| C9 | coverage-gate máy **16/16 PASS** | tự re-run lớp `Mig`: **59/59 token có mặt**, 0 miss | **ĐẠT** *(kèm caveat §vi: PASS ≠ không mất load-bearing)* |
| C10 | strict-utf8 **16/16** | tự chạy `errors='strict'`: **16/16 OK**, 0 byte-hỏng | **ĐẠT** |
| C11 | **9 nhóm fidelity-fix đã áp** (P1·P2a-d·P3) | 3 lớp chứng §v: draft≡archive 16/16 · Δbyte 4/4 dương · đọc tận chữ 5/5 | **ĐẠT** |

**TỔNG: 8 ĐẠT / 3 TRƯỢT.** 3 TRƯỢT đều là **sai-số đo, không phải bịa**: C4+C6 cùng **một** gốc (13 B tiền-redact trên 1/16 file, 0,006%), C7 là làm-tròn. **Không claim nào của lead bị bác về bản-chất.** Bất-biến ADDITIVE — thứ nguy-hiểm nhất nếu vỡ — **ĐỨNG VỮNG 16/16**.

**Nhưng lô này KHÔNG "CLEAN" như gate ngụ-ý:** 5 phát-hiện tồn-dư của riêng tôi (T-1…T-5), trong đó **T-1 (mất guard `staticMap`)** và **T-5 (nhãn "docs sai 4" đá thân bài, file chưa ai soi)** đáng vá trước khi commit. Cả 5 đều **KHÔNG** nằm trong 9 nhóm fix đã áp.

---

## (viii) NGOÀI-TRỤC — escalate lead, tôi KHÔNG tự xử

🔴 **An-ninh: redact trong working-tree KHÔNG gỡ bí-mật khỏi lịch-sử git.** Khi kiểm C2 tôi phải đọc diff `8e07fbd`, và mật-khẩu prod **vẫn nằm nguyên dạng plaintext** ở blob cha (`8e07fbd^`) cùng các commit cũ hơn — bất kỳ ai clone repo đều `git show` ra được, không cần quyền gì thêm. (Tôi **KHÔNG chép lại giá-trị** vào file này.) Nhãn `ROTATE REQUIRED` lead đặt là đúng và **vẫn đang treo**; lưu-ý thêm: **xoay mật-khẩu là biện-pháp DUY NHẤT có tác-dụng** ở đây — sửa file không rút được bí-mật đã công-bố trong lịch-sử. Ngoài trục nén-ngủ ⇒ nêu nguyên-văn, chuyển lead.
✅ Mặt trong-trục thì SẠCH: gist nén ra **0 hit** plaintext, chỉ mang nhãn đã che (F-3).

⚠️ **`.claude/agent-memory/reviewer/MEMORY.md` đang ` M`** trong `git status` nhưng `git diff` + `git diff --cached` đều **rỗng** — dấu-hiệu đổi CRLF/mode thuần, không đổi nội-dung. Không thuộc 16 cặp, chỉ báo để lead soát `git status` lúc commit-gate (backstop THẬT theo `[carry:tools-whitelist-no-teeth]`).

---

## (ix) Tự-khai giới-hạn của chính lượt kiểm này

1. **Không tự-kiểm lượt nén mình** ✅ — lượt nén do lead + 2 curator + reviewer chạy; tôi chỉ đọc, **0 file gist/nguồn nào bị tôi sửa**. File duy-nhất tôi ghi = chính file này.
2. **Thách-CLEAN sâu chỉ 2/16 cặp** (1 chỉ-định + 1 tôi tự chọn). 12 cặp còn lại tôi chỉ kiểm **cơ-học** (byte · hash · utf8 · frontmatter · coverage-token), **không đọc-đối-chứng từng câu**. ⇒ T-1…T-5 là **cận-dưới**, không phải bản kiểm-kê đủ. Đừng đọc "5 finding" thành "chỉ có 5".
3. Suy-luận "nén chạy TRƯỚC tôi" dựa `mtime` + thứ-tự invocation, không có trace runtime.
4. `git show HEAD:` bị `core.autocrlf=true` bóp méo — tôi đã bắt và loại ở C-1; mọi số trong bảng là **byte thật trên đĩa**.

== HẾT ==
