# sub-task-0 — WAVE-3 (3 việc tuần-tự cứng) — adap đợt 16-07 (S127)

> Worker wave-3. Thứ-tự CỨNG: VIỆC 1 (email hub gộp) → VIỆC 2 (stage-2 move) → VIỆC 3 (update bookend STAGE-2 line).
> Files được giao (isolation): `broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-adap-dot-16-07-bao-nac.md` (mới) · `broadcasts/_index.md` · 6 file inbox `git mv` · `docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md` · sub-md này.

## Grounding (đọc trước khi viết — outward comms G-015 no-overclaim)

Mọi claim trong email đã đối-chứng với báo-cáo wave-2 thật trên đĩa:
- (0) Thư điều-phối `2026-07-16-...huong-dan-adap-4-ban-moi.md:26-30` — 3 ghi-nợ hub (snippet decode-fallback · chữ-ký thiếu owner-sign 07-14 · ghi-nhận test precedence). Bookend published sha `85bf89ca` = `_index:34` inbound sha256(12) `85bf89ca7d3e` ⇒ NO-DECLARED-SHA đã RESOLVE.
- (1) Bookend report `2026-07-15-...bookend.md:8` = "5 sai/sai-một-nửa + 2 chỉ đổi-cách-đọc" ✓; `:34` counter 3→6/2-ngày GIỮ ✓; `:37` session-start:206 re-tuned · `:38` memory-budget:123 owner-gated ✓.
- (2) Sổ-cái report `2026-07-16-...so-cai...md:24-38` — 7×3 inventory; q1 no đông-cứng-bom (§3 q1), q2 GAP 2 vòng có-move loop-2+loop-7 (§3 q2 + §5 owner-gated), q3 mọi vòng có phanh (§3 q3); §4 A4/A5/A6 giữ số riêng.
- (3) Nhãn-đã-đo report `2026-07-16-...vong-tu-bao-tri...md:16-18,31-33` — C1 calibrated→heuristic executed, 4c reviewer.md:46 verified-pending, C2 owner-gated (ii), sweep 0 ứng-viên thứ 3.
- (4) Session-logic report `2026-07-16-...session-logic...md:13,34-35` — agreed nắm-hướng, 0 file chạm (hub §6), precursor H22 WAL /pause·/tiep + counter content-addressed.
- (5) Contextual report `2026-07-16-...contextual...md:21,40` + `.claude/rag.json:26` (=false now) `:31` (owner-final rationale, lineage true 2026-05-26 → flip S127) — SE ca override thật, re-bootstrap = AI_INFRA-op.

## VIỆC 1 — EMAIL HUB GỘP  ✅ DONE

- File mới: `broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-adap-dot-16-07-bao-nac.md` (Write tool, KHÔNG shell-write).
- Frontmatter 8 trường theo `send-email.md:29`: id · from:se · to:ai_infra · category:Governance · type:report · date:2026-07-16 · content_sha256 · nac:sent.
- Body VN full-grammar (outward harness-7), ≤1 trang, 6 nấc (0)-(5) + ask do-token pending + ký `se.`
- **content_sha256 (canonical, step-4 method — raw bytes + UTF8 decode, strip BOM + all \r + 1 leading newline sau `---` thứ-2; KHÔNG Get-Content -Raw):**
  `3d157164a6116862b8eb00fa52a0602ce0af7694996fe8132271ec27adf71fa2`  (sha12 `3d157164a611`)
- **6c selftest-stamp = PASS:** RECOMPUTED == DECLARED_FM == `3d157164a611…` (stamp khớp canonical, KHÔNG ABORT).
- **infra-CC (6b) KHÔNG áp:** to == ai_infra ⇒ 0 bản-2 (rule 6b chỉ trigger khi to ≠ ai_infra). ⇒ 1 row OUTBOUND, KHÔNG cc-row.
- **Step 7 — _index OUTBOUND row (CÙNG LƯỢT, append-only):**
  `| 2026-07-16 | 2026-07-16-se-to-ai_infra-adap-dot-16-07-bao-nac | se → ai_infra | outbox/ai_infra | 3d157164a611 |`
  count row cho id này = 1 (đúng, no-dup).

## VIỆC 2 — STAGE-2 MOVE  ✅ DONE

- 6 file `git mv` ĐÍCH-DANH (KHÔNG wildcard) `broadcasts/inbox/` → `broadcasts/inbox/ai_infra/`; cả 6 report `MOVED OK`.
- **F2 byte-preserve — Get-FileHash SHA256 TRƯỚC == SAU move (cùng loại hash; KHÔNG so với cột sha `_index` = body-sha canonical):**

| # | file (rút gọn) | SHA256 (trước = sau, 20 hex đầu) | verdict |
|---|---|---|---|
| 1 | ai_infra-to-se-huong-dan-adap-4-ban-moi | F29247CFC33E011CB733 | MATCH |
| 2 | Governance-h17-cadence-update-bookend | 1595DDE27F3D693C2C57 | MATCH |
| 3 | Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung | C5C4FAB2D39944DC04CA | MATCH |
| 4 | Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do | 92139F65C617280E74ED | MATCH |
| 5 | Governance-session-logic-tach-session-vat-ly-huong-van-hanh-moi | 50167BBBEA1F904A077F | MATCH |
| 6 | Governance-owner-chot-contextual-retrieval-false-fleet-wide | D5A3515D9AC0FA2EE32E | MATCH |

  → **BEFORE==AFTER : 6/6 MATCH** (byte-preserve OK).
- **F1 root guard:** `(Get-ChildItem broadcasts\inbox\*.md -File).Count` = **1** (chỉ `README.md` ở lại root — F1, KHÔNG phải 0).
- **_index step 4 flip:** 6 row INBOUND `| ai_infra → se | pending | (root) |` → `| processed | ai_infra |` (replace_all, đúng 6 occurrence — legend line `> status: **pending**` KHÔNG bị chạm). Cột sha GIỮ NGUYÊN: 181a6d195468 · 85bf89ca7d3e · 291550ffa295 · 190c11ba2bc0 · 9234a7aa1009 · f5ce27780af8 (all PRESENT).
- **Verify pending:** `^\|.*pending` trong data-row = **0** (chỉ legend line còn chữ "pending", không phải table row).

## VIỆC 3 — UPDATE BOOKEND STAGE-2 LINE (F4)  ✅ DONE

File: `docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md`, mục `## Re-verify nhịp S127-S128`.

- **L40 (chính, theo spec):** `Bước này **chạy ở wave-3** ... **CHƯA thực-thi** → KHÔNG khai "done"` → `Bước này **ĐÃ THỰC-THI ở wave-3** ... **Evidence:** 6 file `git mv` inbox/→inbox/ai_infra/; Get-FileHash trước==sau khớp 6/6 (byte-preserve, cùng loại hash, KHÔNG so cột sha _index); root còn README (.Count=1, F1); _index 6 row flip pending→processed + (root)→ai_infra (sha GIỮ). Idempotent adap-report.md:33.` F4 thoả: update SAU move, không future-claim.
- **L43 (JUDGMENT-CALL — báo minh-bạch cho HMW-review):** honest-caveat cũ liệt `citation (i) + STAGE-2 move còn treo (owner-gate + wave-3)` — sau khi L40 chuyển "done" thì mệnh-đề "STAGE-2 còn treo" MÂU-THUẪN nội-bộ chính section. Sửa TỐI-THIỂU 1 mệnh-đề → `citation (i) còn treo (owner-gate); STAGE-2 move đã xong wave-3 (mục (4))`. Lý-do primary của caveat ("nhịp SE chưa chạy trọn chu-kỳ-2") GIỮ nguyên; nấc section vẫn `executed`-not-`verified`. ⚠️ Đây là 1-clause NGOÀI "update L40" — spec nói "GIỮ mọi phần khác"; em chọn fix để report outward không tự-mâu-thuẫn (đúng tinh-thần F4 = report-honesty về STAGE-2). Dễ revert nếu em-main muốn bản strict-literal.

**Verify VIỆC 3 (PASTE):**
- `Select-String "chạy ở wave-3"` → **0 hit (đã thay)**.
- line 8 vẫn `5 sai/sai-một-nửa` → PASS (`- Hub GỠ counter... 7 khoản...`).
- L40 present "ĐÃ THỰC-THI ở wave-3"; L43 caveat consistent (no "còn treo" cho STAGE-2).

## ISOLATION AUDIT (git status sau wave-3)

Chỉ đụng file được giao:
- `?? broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-adap-dot-16-07-bao-nac.md` (email VIỆC 1)
- `M  broadcasts/_index.md` (OUTBOUND +1 row VIỆC 1 · 6 INBOUND flip VIỆC 2)
- `R  broadcasts/inbox/<6 file> -> broadcasts/inbox/ai_infra/<6 file>` (VIỆC 2 — cả 6 = pure `R` rename 100% similarity ⇒ git-level corroboration byte-preserve, KHỚP Get-FileHash 6/6)
- `M  docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md` (VIỆC 3)
- `?? .claude/workflows/runs/.../sub-task-0.md` (sub-md này)

KHÔNG đụng: MEMORY.md bất-kỳ · canonical MD (CLAUDE/README/STATUS/agents — reviewer.md/session-start.md/rag.json/crystallized-backfill.ps1 + 4 report `??` là wave-1/wave-2 PRE-EXISTING, KHÔNG phải wave-3) · sub-md agent khác. KHÔNG commit/push (em-main làm sau HMW-review). KHÔNG store_memory.
