# sub-investigator-codebase-0 — T0 (S129) — ON-BEHALF TRANSCRIPT

> 🔴 GHI ON-BEHALF bởi em-main từ journal.jsonl wf_3fccd7d1-b63 (2026-07-16 đêm).
> Lane T0 KHÔNG tự ghi file này (class #53 WRITE-lane: subMdPath=None — field garble lẫn vào checklistEvidence).
> Nội-dung dưới = VERBATIM return 4-field từ journal — KHÔNG phải em-main viết lại.
> Verify độc-lập: REVIEW lane R0 re-run probe chính từ đĩa.

---

## findings (verbatim)

## T0 — erratum EOL fix ①②③ sweep. KẾT-LUẬN: SE mang 0 site defect. Graded 8 live site + loại đúng ~5 mention-site.

### Bảng site × 3-fix (LIVE = không thuộc Luật-3 exclude)

| # | Site (file:line) | Loại | fix① (2-chiều/w-mixed/trừ cố-ý) | fix② (đo-sau-attr) | fix③ (số vs exit-code / A&&B\|\|C) | Verdict |
|---|---|---|---|---|---|---|
| 1 | `scripts/agent-frontmatter-eol-check.ps1` | LIVE EOL-counter | **CLEAN** — byte-level CR-count (0x0D) `Measure-EolBytes:180-184`, KHÔNG dùng `grep -c 'i/lf.*w/crlf'`. **Bắt w/mixed** (mọi CR trong scope→flag, hơn hẳn w/crlf-only). 0 false-positive: scoped set 40 file có **0 eol=crlf/-text** (đo live) | **N/A** — byte-reader đọc worktree trực-tiếp, ATTR-INDEPENDENT; không dựa cột attr `ls-files` nên bẫy "attr rỗng trước apply" không chạm | **CLEAN** — `exit 0` ALWAYS (`:39,:335`); mọi label computed-từ-số (`:64-66`); trong `session-end §5.2` chạy standalone rồi push vô-điều-kiện, KHÔNG `&&` | **KHÔNG defect — pre-satisfy cả 3** |
| 2 | `.claude/commands/session-end.md` §5.0+§5.2 push-guard | LIVE push-gate | **CLEAN** — EOL-assert = gọi `eol-check.ps1` byte-level (`:207`), KHÔNG `grep -c i/lf.w/crlf`. (Cổng này đếm `wal:` KHÔNG đếm EOL) | **N/A** — không có `ls-files --eol` attr-count trong khối | **CLEAN** — đếm wal: bằng while-loop `recount()`→`$n`→`if [ "$n" -gt 0 ]`/`[ "$n" -eq 0 ]\|\|{...}` (`:194-204`) = SO SỐ + if/then/else, KHÔNG A&&B\|\|C. `:175` CẤM exit-code grep-c, `:176` CẤM đếm-toàn-history. eol-check `:207-209` exit-0 INFORM→push vô-điều-kiện | **KHÔNG defect — case-study fix③ đã-áp** |
| 3 | `.claude/hooks/wal-flush.ps1` | LIVE hook | N/A không đếm EOL | N/A | N/A — `:1` "KHONG push"; `git diff --cached --quiet`+`$LASTEXITCODE` (`:17-18`) = contract HỢP-LỆ của diff --quiet, KHÔNG phải grep-c trap; chỉ `git commit` local (`:22`) | **KHÔNG phải site** (0 EOL-count, 0 push) |
| 4 | `docs/rules.md:451` · `docs/guides/vps-setup.md:64` · `docs/guides/cicd.md:105` | doc example | — | — | `git push` trần trong ví-dụ dev-workflow/deploy/revert, KHÔNG count/gate | N/A |
| 5 | `.gitea/workflows/deploy.yml:18` | CI | — | — | `push:` = TRIGGER on push-to-main, không phải lệnh push có EOL-gate | N/A |
| 6 | `scripts/wal-recovery-test.ps1:167` | test fixture | — | — | `git config core.autocrlf false` để isolate cây-tạm test; fake `origin/main`=local ref, KHÔNG push thật, KHÔNG đếm EOL | N/A |
| 7 | `scripts/crystallized-backfill.ps1:109` | budget script | — | — | `ReadAllBytes(...).Length` = đo byte-SIZE on-disk (budget), KHÔNG count CR/EOL, KHÔNG push | N/A |
| 8 | `.claude/WAL.md:22` verify line | verify | dùng `grep -v '^wal:'`→rỗng (đổi từ `grep -c` kể từ S119) — post-push verify, KHÔNG gate | — | — | N/A/CLEAN |

### Mention-site (đúng use⟂mention, KHÔNG phải consumer — memoryPack #3)
- `broadcasts/inbox/2026-07-16-erratum...md:30,51` + `broadcasts/inbox/ai_infra/2026-07-13-...push-guard.md:77` (`[ "$n" -eq 0 ] && git push || echo`) + `.../2026-07-15-eol-crlf...notice.md:52,74` — NGUỒN hub mô-tả/đính-chính pattern xấu; SE **không adopt** form này.
- `docs/governance/adap-requests/2026-07-15-se-r2...md` — request SE gửi hub mô-tả bẫy grep-c (mention).
- `.claude/workflows/runs/2026-07-15-S119-**` (frozen, exclude) chứa `eol=$(git ls-files --eol | grep -c 'i/lf.*w/crlf')` = plan CŨ, KHÔNG land vào file sống.
- ⇒ Pattern broken `grep -c 'i/lf.*w/crlf'` và `A && B || C`-push **KHÔNG tồn-tại ở BẤT KỲ live consumer nào** của SE.

### Số đo dán thật (đo lúc chạy)
- `.gitattributes` class-wide: `git show 92de58f:.gitattributes | grep -n 'text=auto'` → `14:* text=auto eol=lf` (land **2026-07-15** S120 W0.1). First-touch `08c7036:.gitattributes` chỉ có `broadcasts/** text eol=lf` (2026-06-15). ⚠️ `git log ... -- .gitattributes | tail -1` = **08c7036 2026-06-15** = commit SINH file, KHÔNG phải lúc land class-wide (bẫy đo-đúng-cột memoryPack #9). Cả 2 date < hôm-nay ⇒ attr ĐÃ applied+committed.
- Scoped set (`.claude/agents .claude/commands .claude/skills`): `git ls-files --eol | grep -E 'attr/(.*eol=crlf|-text)'` → **NONE**; `grep -E 'w/(crlf|mixed)'` → **0 file**; total **40 file** (khớp session-end §5.2 note "39" +1 agent mới).
- `eol-check.ps1` chỉ exit 0 (`:39,:335`); scoped-set = 3-dir frontmatter, NOT repo-wide (`:70-73` khai 188 file `i/lf w/crlf` = false-price-factory nên cố-ý loại, 131 = EF Migrations).

### Diff-proposal T0: KHÔNG có. SE đã compliant/superior cả 3 fix. (Chi-tiết mở-rộng cho #6-#7 thuộc T1/T2, ngoài T0.)

## checklistEvidence (verbatim)

fix①: CLEAN/pre-satisfy — SE EOL-counter DUY-NHẤT = byte-level `agent-frontmatter-eol-check.ps1` (đếm 0x0D `:180-184`), KHÔNG dùng `grep -c 'i/lf.*w/crlf'`; bắt w/mixed (mọi CR→flag); 0 false-positive vì scoped set 40 file có 0 eol=crlf/-text (đo live). Pattern broken chỉ ở inbox/frozen-run = mention. | fix②: N/A cho byte-reader (attr-independent, đọc worktree trực-tiếp) + attr class-wide `* text=auto eol=lf` ĐÃ commit 92de58f 2026-07-15 (< now); `git log ... | tail -1`=08c7036 2026-06-15 = SINH-file KHÔNG phải land-class (bẫy cột). Không có `ls-files --eol` live-consumer nào phụ-thuộc attr-column. | fix③: CLEAN/pre-satisfy — push-path DUY-NHẤT `session-end.md §5.2` đếm wal: bằng while-loop→`$n`→`if [ "$n" -eq 0 ]` (SO SỐ, `:194-204`), if/then/else KHÔNG A&&B||C; eol-check exit-0 INFORM→push vô-điều-kiện (KHÔNG chain); `:175/:176` tự-cấm grep-c-exit-code + total-history-count. Form `A && B || C` chỉ ở inbox broadcast = mention. VERDICT T0: SE 0 site defect / 8 live-site graded.</checklistEvidence>
<parameter name="subMdPath">.claude/workflows/runs/2026-07-16-S129-adap-errata-16-07/sub-investigator-codebase-0.md

## memoryDelta (verbatim)

- **task:** T0 erratum EOL 16-07: sweep repo SE tìm site đếm-EOL + cổng-push, grade vs fix①(attr-aware 2-chiều+w/mixed) ②(đo-sau-attr) ③(so-số-không-exit-code, cấm A&&B||C)
- **verdict:** SE mang 0 site defect. 8 live-site graded: EOL-counter DUY-NHẤT=byte-level agent-frontmatter-eol-check.ps1 (pre-satisfy ①: bắt w/mixed, 0 false-positive vì scoped-set 40-file có 0 eol=crlf/-text) + push-path DUY-NHẤT session-end §5.2 (pre-satisfy ③: đếm wal: bằng SO-SỐ+if/then/else, eol-check exit-0-INFORM không gate). Pattern broken grep-c 'i/lf.w/crlf' + A&&B||C chỉ ở inbox/frozen-run = mention, 0 live-consumer. Diff-proposal: KHÔNG.
- **learned:** Byte-level CR-count (0x0D trong region) HƠN pattern ls-files 'w/crlf': tự bắt w/mixed + attr-independent nên miễn-nhiễm cả 2 bẫy fix①/②; chống false-positive bằng SCOPE (loại set có intentional-CRLF) thay vì bằng attr-filter. fix② 'đo-sau-attr' N/A với byte-reader — chỉ chạm site dùng cột attr ls-files.
- **surprise:** `git log --format=%cI -- .gitattributes | tail -1` mà spec đề-nghị trả 2026-06-15 = commit SINH file (chỉ có broadcasts/** eol=lf), KHÔNG phải lúc class-wide '* text=auto eol=lf' land (92de58f 2026-07-15) — chính bẫy đo-đúng-cột (memoryPack #9): tail-1=first-touch không phải policy-landing. + WAL.md verify line ĐÃ đổi grep-c→grep-v kể từ S119 (S119 recon nói dùng grep-c '^wal:' nay stale).
