# audit-synthesis — H24 light-audit #2 (S137, 2026-07-17)

> **VERIFIED bởi lead** (đối-chiếu return ⨯ sub-file đĩa ⨯ nguồn thật — không phải lời sub). Trả nợ OVERDUE:light 8/6 @counter 11; consent anh tại cửa `/tiep` (lần exercise consent-gate ĐẦU TIÊN sau wire DP-3). 2 return CLEAN 0-garble, VERDICT header dòng-1 đúng contract.

## Tally

| Vai | FLAG | INFORM | Ghi-đĩa |
|---|---|---|---|
| lead-view-auditor (vai-STALE) | 2 × `view-stale-status` | 2 | `sub-lead-view-auditor-0.md` |
| lead-omission-auditor (vai-GAP) | 1 × `gap-decision-sunk` (MED, repeat-2) | 2 | `sub-lead-omission-auditor-0.md` |

Cả 5 class đều thuộc enum ĐÓNG `lead_self_audit.flag_classes` ✓ (không tự chế class).

## Disposition (lead verify từng dòng — không số tổng)

1. **[FIXED @S137] view-stale-status #1** — `docs/STATUS.md` ô roster 2 vai H24 còn "⚠️ CHƯA verified-runtime … PHẢI chạy SAU RESTART" trong khi source đã chứng (S122 spawn-probe 14/14 + S124 dogfood + S137 audit này). Lead verify đĩa ĐÚNG → lật ⚠️→✅ verified-runtime S122, **GIỮ residual thật** (đường `hmw.js→agentType` 2 vai H24 chưa exercise).
2. **[FIXED @S137] view-stale-status #2** — `docs/HANDOFF.md` NEXT-anh (5) "2 đề-xuất S131 CHỜ GẬT + CHỜ HUB reply-batch" — cả ba vế đã actioned (tick-wire `da349fc` · light-run consent hôm nay · 7 file hub nhận `55ef8f6`). Lead verify ĐÚNG → đánh dấu ĐÃ ĐÁP TRỌN, giữ vết gạch. Prev-segment S133 giữ nguyên (lịch-sử, CẤM sửa).
3. **[CARRY-NAMED @closeout] gap-decision-sunk (MED, repeat-2)** — candidate-fix dangling-head (nhận dangling-object-exists làm bằng-chứng yếu khi counter không lùi) sống 8-10 phiên CHỈ trong `history` của `.session-counter.json`, chưa từng thành carry named; re-surface S135 chỉ nhờ DP-2 incidental. Lead verify: `_contract.fail_loud_on_regress` chưa đổi thật + hub 3-gap reply không chốt nó ✓. → Closeout S137 tách **`[carry:dangling-head]`** named ở HANDOFF (đã ghi WAL carry ngay). Class repeat 1→2 (jump@3 chưa chạm — lặp lần nữa là kéo audit sớm).
4. **[OWNER] INFORM cụm 7-carry đồng-tuổi** (omission) — ngoài `hook-vs-budget-cap` detector đã nêu, 6 carry khác cùng gốc S117/S118 (~17-20 phiên, mỗi cái ~9 lần xuất-hiện HANDOFF): uat-s117 · pe-phanquyen · bvaau · binh-le-decision · tra-bui-relogin · account-trung. Đề anh **close-sweep** — `tra-bui-relogin` (fix S118 chỉ cần re-login) + `uat-s117` khả-năng đóng được ngay.
5. **[CLOSEOUT-GUARD] INFORM re-stamp** (omission) — closeout S137 PHẢI re-stamp carry-register từ **HANDOFF-S134** (nguồn đủ 10 carry), KHÔNG từ dòng carry WAL (thiếu 8); promote DP-open (DP-2/DP-5) thành mục sống.
6. **[LANE-KHÁC] INFORM measured-block** (view) — `memory-budget.json` khối `measured` 12 row thiếu 2 vai H24 (S121) — thuộc lane đo-lường (memory-triple @closeout §L.b(c)), không phải view-stale.
7. **[CONTEXT — không flag lại]** fold+guard W3 đang xử cùng phiên (commit `7760cdf`) — cả 2 vai nhận diện đúng và không flag lại (chống double-count).

## Sổ đã chốt theo audit

- `.session-counter.json`: `last_audit.light_at_counter` 3→**11** (deep giữ 3 — next deep ~18) + `class_repeat` {gap-decision-sunk: 2, view-stale-status: 1, 3 class S124 không tái-hiện → 0 consecutive} + history event S137.
- Probe sau chốt: kỳ-vọng `light 0/6 deep 8/15 ok`.
