# broadcasts/ — _index (Harness 3 · single index) — SOLUTION_ERP (self=`se`)

> **1 INDEX DUY NHẤT** theo dõi MỌI message qua kênh email (in + out). Adopt AI_INFRA Harness 3 (anh 06-07).
> Mỗi message = 1 dòng. **Append-only.** Inbound: stick **đã-đọc** khi xử lý xong.
> **verify** = `SHA256(body)` bản copy == `content_sha256` (frontmatter) == bản `outbox` bên gửi (byte-identical) → ✓ · lệch = ✗ (tamper-flag, điều tra ngay).
> Folder map: `A/outbox/B/<id>` (A→B) ⇄ `B/inbox/A/<id>` (B kéo về). 6 folder mỗi chiều (trừ self=se).
> **Chiều NHẬN — hai kênh, MỘT sổ** (owner chốt **P6** @S180, 2026-08-07; đường additive): khối `INBOUND` của sổ này nhận **CẢ HAI** kênh — thư gửi **đích danh** ở `outbox/se` (kéo bằng `/check-email`) **VÀ** thư **phát đại trà** ở `outbox/all` (kéo và áp bằng `/adap-apply`). Cột **`kênh`** phân biệt hai loại: `se` = đích danh · `all` = phát đại trà. Quyết định này **hợp thức hoá 22 dòng phát đại trà vốn đã sống trong sổ**; không dòng nào bị gỡ và không dựng sổ thứ hai.
> 🧊 **Luật cũ ở đúng dòng này khai ngược lại** — *"Fan-out adap broadcast (≠ email directed) → `outbox/all/` (pull `/adap-apply`), track ở COMMS-LEDGER OUT — KHÔNG ở index này"* — và nó đã lệch với thực tế **22 lần**: sổ làm một đằng, luật viết một nẻo (đo @S180, lane A §2.2). Giữ nguyên văn câu cũ ở đây làm vết, không xoá.
> **Chiều GỬI chưa đổi, và đang treo một chỗ trỏ hỏng — P6 KHÔNG phán khoản này:** luật cũ bảo thư phát đại trà **đi ra** thì ghi ở `COMMS-LEDGER`. Đo @S180: `find . -iname "*COMMS*"` (loại `.git` và `node_modules`) = **0 tệp trong kho SE**, trong khi control dương cùng lệnh với `*ledger*` = **4 tệp** ⇒ lệnh chạy được, kết quả rỗng là rỗng thật; và `broadcasts/outbox/all/` = **0 tệp** ⇒ SE chưa từng phát đại trà lần nào. ⇒ Khoản chiều GỬI **để nguyên, chờ owner phán** — xem `sub-w0b-index-hash.md` §5.
> **infra-CC row (§N3):** message `<id>-cc` (`cc-of:<to>`) = bản-2 se gửi `ai_infra` giám sát infra-comms sister↔sister. Ghi rõ `cc-of` vào cell `from → to` — vd OUTBOUND `se → ai_infra (cc-of:vipix)` · INBOUND `vipix → ai_infra (cc-of:se)`. Cùng status/verify như message thường (whole-file + body-hash đối chứng).

## 📥 INBOUND (nhận — qua `/check-email <from>`)
> 🔴 **HAI TRẠNG-THÁI, HAI CỘT — owner chốt phương án (b) "tách hẳn 2 cột" @S181 (2026-08-07), câu 5 gói adap 7-GĐ.**
>
> | Cột | Nghĩa | Nguồn sự-thật |
> |---|---|---|
> | `status` | **VỊ TRÍ TỆP.** `pending` = còn ở `inbox/` gốc · `processed` = **đã MOVE** vào `inbox/<from>/` | hệ thống tệp |
> | `áp` | **ĐÃ ÁP NỘI-DUNG CHƯA.** `áp` = có `docs/governance/adap-reports/<id>.md` · `chưa` = không có · `n-a` = kênh `se` (thư đích danh: đọc/trả lời, không có nghĩa "áp") | sự tồn-tại của tệp report |
>
> **Vì sao phải tách:** trước @S181 một cột `status` gánh **hai nghĩa**. Sau khi P6 mở INBOUND cho kênh `all`, thư kéo bằng `/adap-apply` là *"đã áp"* chứ không chỉ *"đã move"* — mà cả hai đều hiện ra là `processed`. Hệ quả đo được: @S181 grep `_index` tìm `loi-do-luong-phan-1` trả **0 hit**, và 0 hit đó **không phân biệt được** *"chưa kéo"* với *"đã kéo và đã áp tại chỗ"* ⇒ sổ không đọc được. Backfill @S181: **42 áp · 4 chưa · 23 n-a = 69 dòng**.
>
> 🔸 **Cột `áp` đặt ở CUỐI hàng**, theo đúng kỷ luật đã ghi ngay dưới đây — dòng cũ vẫn là **tiền tố nguyên vẹn** của dòng mới.
> ⚠️ **Cột `áp` KHÔNG phủ hết sự thật:** nó chỉ đo *"có tệp report không"*. Thư đã áp mà **chưa từng có dòng trong sổ này** thì cột này không thấy được — đúng ca 2 thư `loi-do-luong` @S179. Muốn phủ nốt thì phải đối chiếu ngược `adap-reports/` (103 tệp) với sổ (46 dòng `all`), là việc khác.

> 🔴 **Hai cột `kênh` + `ghi-chú` đặt ở CUỐI hàng, cố ý.** Đặt cuối thì mỗi dòng cũ chỉ được **nối thêm**, phần chữ cũ vẫn là **tiền tố nguyên vẹn** của dòng mới — kiểm lại được bằng máy, không phải tin lời hứa "tôi không sửa gì". Backfill @S180 lấy từ trường `to:` của chính tệp trên đĩa: **23 dòng `se` · 22 dòng `all`**, 0 dòng mồ côi.

| received | id | from → to | status | folder | sha256(12) | verify | kênh | ghi-chú | áp |
|---|---|---|---|---|---|---|---|---|---|
| 2026-06-09 | 2026-06-09-namgroup-to-se-ui-design-conventions | namgroup → se | processed | namgroup | 0140b81fb8a6 | ✓ | se |  | n-a |
| 2026-06-11 | 2026-06-11-ai_infra-to-se-ui-ux-design-guide | ai_infra → se | processed | ai_infra | d353ee460dba | ✓ | se |  | n-a |
| 2026-06-18 | 2026-06-18-ai_infra-to-se-harness-11-available | ai_infra → se | processed | ai_infra | b2a2fc1cf399 | ✓ | se |  | n-a |
| 2026-06-20 | 2026-06-19-ai_infra-to-se-harness-all-notify | ai_infra → se | processed | ai_infra | 50ec0b925157 | ✓ | se |  | n-a |
| 2026-06-20 | 2026-06-20-ai_infra-to-se-harness-14-adopt-notify | ai_infra → se | processed | ai_infra | 37ae1b19595a | ✓ | se |  | n-a |
| 2026-06-21 | 2026-06-20-ai_infra-to-se-harness-15-v2-notify | ai_infra → se | processed | ai_infra | 2e6097817e2d | ✓ | se |  | n-a |
| 2026-07-03 | 2026-07-03-ai_infra-to-se-batch13-ack-stamp-and-answers | ai_infra → se | processed | ai_infra | 72aaeeeed215 | ✓ | se |  | n-a |
| 2026-07-06 | 2026-07-04-Governance-notify-harness-full-recheck | ai_infra → se | processed | ai_infra | 78dc1d82 | ✓ | se |  | n-a |
| 2026-07-06 | 2026-07-04-ai_infra-to-se-consolidation-notify | ai_infra → se | processed | ai_infra | ad58db9b924a | ✓ | se |  | n-a |
| 2026-07-06 | 2026-07-04-ai_infra-to-se-notify-auto-hygiene | ai_infra → se | processed | ai_infra | 7499be2e(no-stamp·wf✓) | ✓ | se |  | n-a |
| 2026-07-11 | 2026-07-11-ai_infra-to-se-notify-model-tier-v3 | ai_infra → se | processed | ai_infra | a979743596e3 | ✓ | se |  | n-a |
| 2026-07-11 | 2026-07-11-ai_infra-to-se-triage-reply-s1-s6 | ai_infra → se | processed | ai_infra | 281a67958835 | ✓ | se |  | n-a |
| 2026-07-11 | 2026-07-10-Governance-harness-21-spec-file-invocation | ai_infra → se | processed | ai_infra | 19cc954b1ee9 | ✓ | all |  | áp |
| 2026-07-11 | 2026-07-11-Governance-model-tier-v3-lead-owner-choice | ai_infra → se | processed | ai_infra | 1b3aa9091173 | ✓ | all |  | áp |
| 2026-07-12 | 2026-07-11-ai_infra-to-se-notify-harness-22-wal | ai_infra → se | processed | ai_infra | c64a7ac2a1bb | ✓ | se |  | n-a |
| 2026-07-12 | 2026-07-11-Governance-harness-22-wal-session-continuity | ai_infra → se | processed | ai_infra | 3de0758a6377 | ✓ | all |  | áp |
| 2026-07-13 | 2026-07-13-ai_infra-to-se-approve-h22-h21mtv3-and-presence-notify | ai_infra → se | processed | ai_infra | 6c32df89b60a | ✓ | se |  | n-a |
| 2026-07-15 | 2026-07-15-ai_infra-to-se-reply-wave-s122 | ai_infra → se | processed | ai_infra | 7fca0deb97ff | ✓ | se |  | n-a |
| 2026-07-16 | 2026-07-16-ai_infra-to-se-huong-dan-adap-4-ban-moi | ai_infra → se | processed | ai_infra | 181a6d195468 | ✓ | se |  | n-a |
| 2026-07-16 | 2026-07-15-Governance-h17-cadence-update-bookend | ai_infra → se | processed | ai_infra | 85bf89ca7d3e | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung | ai_infra → se | processed | ai_infra | 291550ffa295 | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do | ai_infra → se | processed | ai_infra | 190c11ba2bc0 | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-session-logic-tach-session-vat-ly-huong-van-hanh-moi | ai_infra → se | processed | ai_infra | 9234a7aa1009 | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-owner-chot-contextual-retrieval-false-fleet-wide | ai_infra → se | processed | ai_infra | f5ce27780af8 | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-erratum-eol-metric-hai-chieu-va-bon-lo-moi | ai_infra → se | processed | ai_infra | eb12b9b8c2e9 | ✓ | all |  | áp |
| 2026-07-16 | 2026-07-16-Governance-tong-hop-loi-da-bat-va-sua-bay-lop-sau-phep-thu | ai_infra → se | processed | ai_infra | 0db707e4381d | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-16-ai_infra-to-se-reply-adap-dot-16-07 | ai_infra → se | processed | ai_infra | e50a4bd0109d | ✓ | se |  | n-a |
| 2026-07-17 | 2026-07-17-ai_infra-to-se-reply-h24-cadence-3-gap | ai_infra → se | processed | ai_infra | 0b581ae79815 | ✓ | se |  | n-a |
| 2026-07-17 | 2026-07-16-Governance-loi-phong-workflow-chet-non-json-args | ai_infra → se | processed | ai_infra | 6c2eb2b19bae | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-16-Governance-notify-hai-ban-moi-va-kenh-hoi-dap-hub | ai_infra → se | processed | ai_infra | dacfcb11a690 | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-16-Governance-vong-bon-da-dong-giac-ngu-nen-tri-nho | ai_infra → se | processed | ai_infra | 89e4d818b8be | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-17-Governance-checklist-nam-vong-va-kiem-audit-xuyen-session | ai_infra → se | processed | ai_infra | f71c5b653185 | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-17-Governance-khung-nhip-nam-vong-do-rai-lam-don | ai_infra → se | processed | ai_infra | 3daf5ee48f47 | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-17-Governance-dinh-chinh-kep-nhan-grounded-va-filter-office | ai_infra → se | processed | ai_infra | 624c378d6ee1 | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien | ai_infra → se | processed | ai_infra | cadd24aed2e4 | ✓ | all |  | áp |
| 2026-07-17 | 2026-07-17-Governance-nam-quyet-owner-mot-ngay-lam-viec-ky | ai_infra → se | processed | ai_infra | 123d8272bbf5 | ✓ | all |  | áp |
| 2026-07-20 | 2026-07-17-ai_infra-to-se-reply-adap-wave-carveout-dp2 | ai_infra → se | processed | ai_infra | 9a35405b6433 | ✓ | se |  | n-a |
| 2026-07-20 | 2026-07-18-ai_infra-to-se-nudge-pull-dot-9-10 | ai_infra → se | processed | ai_infra | 9cd1a486af96 | ✓ | se |  | n-a |
| 2026-07-20 | 2026-07-18-ai_infra-to-se-reply-tong-bo-ba-harness-sub-4-khoan | ai_infra → se | processed | ai_infra | 58e28baedf05 | ✓ | se |  | n-a |
| 2026-07-20 | 2026-07-17-Governance-chuan-hoa-stamp-decode | ai_infra → se | processed | ai_infra | 6239dd403792 | ✓ | all |  | áp |
| 2026-07-20 | 2026-07-17-Governance-khung-nhip-dinh-chinh-wording-tick-annex-phep-8 | ai_infra → se | processed | ai_infra | dede7ec56ccc | ✓ | all |  | áp |
| 2026-07-20 | 2026-07-17-Governance-session-model-phien-logic-manifest | ai_infra → se | processed | ai_infra | 101e69d61675 | ✓ | all |  | áp |
| 2026-07-20 | 2026-07-18-Governance-model-tier-h23-precedence-tested-update | ai_infra → se | processed | ai_infra | d68de5e7b72d | ✓ | all |  | áp |
| 2026-07-22 | 2026-07-22-ai_infra-to-se-reply-adap11-c7-bulk-shards | ai_infra → se | processed | ai_infra | 01f567a379d4 | ✓ | se |  | n-a |
| 2026-07-22 | 2026-07-22-ai_infra-to-se-reply-session-model-dung-ban-da-duyet | ai_infra → se | processed | ai_infra | 8378a68b6f7e | ✓ | se |  | n-a |

| 2026-07-24 | 2026-07-18-Governance-spawn-label-panel-audit-khung | ai_infra → se | processed | ai_infra | 6cbded684636 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Agent-ensemble-cost-lens-khan-hiem-va-routing | ai_infra → se | processed | ai_infra | 0a03b2c83fb9 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Agent-ensemble-depth-axis-deepen-on-contested | ai_infra → se | processed | ai_infra | f05eba5b8e8c | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Agent-ensemble-depth-cost-update-so-do-thuc | ai_infra → se | processed | ai_infra | 294be326cb5b | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Governance-goi-chot-owner-nam-khoan | ai_infra → se | processed | ai_infra | c580c56682a5 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Governance-harness-dong-du-vong-audit-va-eval-use-side | ai_infra → se | processed | ai_infra | c034a916eb92 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-19-Governance-hub-tu-danh-gia-3-goc-va-chuyen-pha | ai_infra → se | processed | ai_infra | cea290cead80 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-07-24 | 2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params | ai_infra → se | processed | ai_infra | 9353c5c8ba51 | ✓ | all | bù dòng @S180 (P6) · `to: all` (không phải `all-fit`) | áp |
| 2026-07-24 | 2026-07-20-Governance-auto-toan-vong-distill-2-tang | ai_infra → se | processed | ai_infra | b9e84fc24475 | ✓ | all | bù dòng @S180 (P6) · 🔴 THIẾU trường `to:` — mọi phép phân loại theo `to:` sẽ bỏ rơi thư này trong im lặng | áp |
| 2026-07-24 | 2026-07-21-Governance-eval-quality-audit-ra-thuoc-eval-cua-eval | ai_infra → se | processed | ai_infra | c04d39dbc8f5 | ✓ | all | bù dòng @S180 (P6) · 🔴 THIẾU trường `to:` — mọi phép phân loại theo `to:` sẽ bỏ rơi thư này trong im lặng | áp |
| 2026-07-26 | 2026-07-25-Governance-model-default-opus-5-max | ai_infra → se | processed | ai_infra | 9c9090073a0f | ✓ | all | bù dòng @S180 (P6) · 🔴 THIẾU trường `to:` — mọi phép phân loại theo `to:` sẽ bỏ rơi thư này trong im lặng | áp |
| 2026-07-26 | 2026-07-25-Governance-pause-tiep-upgrade-vong-ctx | ai_infra → se | processed | ai_infra | 0df10df4ac95 | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-08-05 | 2026-07-28-Governance-day-wake-probe-first-resume | ai_infra → se | processed | ai_infra | ef05b7da8d5e | ✓ | all | bù dòng @S180 (P6) | áp |
| 2026-08-05 | 2026-08-04-Governance-upgrade-pack-phased-khuon-fit-map-report-checklist | ai_infra → se | processed | ai_infra | 98e31fad1ff4 | ✓ | all | bù dòng @S180 (P6) · frontmatter `status: DRAFT` + `reviewer_gate: PENDING` — dấu trạng thái lệch nội dung, hash sạch nên KHÔNG phải tamper · GĐ-0 đang xử lý, chưa áp | chưa |
| 2026-08-05 | 2026-08-04-Governance-upgrade-pack-phased-luat-cham-diem | ai_infra → se | processed | ai_infra | c24699f0251a | ✓ | all | bù dòng @S180 (P6) · frontmatter `status: DRAFT` + `reviewer_gate: PENDING` — dấu trạng thái lệch nội dung, hash sạch nên KHÔNG phải tamper · GĐ-0 đang xử lý, chưa áp | chưa |
| 2026-08-05 | 2026-08-04-Governance-upgrade-pack-phased-phu-luc-spec-pitfall | ai_infra → se | processed | ai_infra | 49287ce7ced4 | ✓ | all | bù dòng @S180 (P6) · frontmatter `status: DRAFT` + `reviewer_gate: PENDING` — dấu trạng thái lệch nội dung, hash sạch nên KHÔNG phải tamper · GĐ-0 đang xử lý, chưa áp | chưa |
| 2026-08-05 | 2026-08-04-Governance-upgrade-pack-phased-thu-chinh | ai_infra → se | processed | ai_infra | 43db2cf09baa | ✓ | all | bù dòng @S180 (P6) · frontmatter `status: DRAFT` + `reviewer_gate: PENDING` — dấu trạng thái lệch nội dung, hash sạch nên KHÔNG phải tamper · GĐ-0 đang xử lý, chưa áp | chưa |
| 2026-07-16 | 2026-07-13-Governance-adap-update-harness-22-wal-push-guard | ai_infra → se | processed | ai_infra | dd4b0176fa3a | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-13-Governance-adap-update-presence-not-age-reinject | ai_infra → se | processed | ai_infra | ab6c387ee5fb | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-13-Governance-harness-22-wal-defect-fix | ai_infra → se | processed | ai_infra | 76919abc2ff9 | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-13-Governance-harness-23-explicit-model-at-spawn | ai_infra → se | processed | ai_infra | 7c0ec06700af | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-14-Governance-harness-24-lead-self-audit-h17-cadence | ai_infra → se | processed | ai_infra | 7400d951bebd | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-14-Governance-owner-sign-3-marks-h21-mtv3-h22 | ai_infra → se | processed | ai_infra | ae119b953218 | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-07-16 | 2026-07-15-Governance-eol-crlf-agent-registry-defect-notice | ai_infra → se | processed | ai_infra | 1c039f336b28 | ✓ | all | bù @S180 — trong hộp nhưng trước mốc nước 2026-07-15; mốc nước chỉ miễn thư VẮNG (`check-email.md:39`), lead phán bù để đạt nghiệm thu "danh sách vắng = 0" | áp |
| 2026-08-10 | 2026-08-05-Governance-loi-do-luong-phan-1-tai-lap-duoc | ai_infra → se | processed | ai_infra | 66048e258a59 | ✓ | all | bù dòng @S186 — **áp TRƯỚC, biên-nhận SAU**: nội dung đã executed @S179 (`adap-reports/2026-08-05-…-phan-1-va-2.md`, 1 report phủ cả 2 phần) nhưng chưa từng có dòng sổ + chưa có copy `inbox/` ⇒ đúng điểm mù `:23` tự khai. Copy verbatim + hash byte-identical cùng lượt | áp |
| 2026-08-10 | 2026-08-05-Governance-loi-do-luong-phan-2-ca-rieng-cua-hub | ai_infra → se | processed | ai_infra | 14a2da2e7678 | ✓ | all | bù dòng @S186 — cặp với phan-1, chung 1 adap-report | áp |
| 2026-08-10 | 2026-08-07-Governance-nghi-thuc-hai-dau-nhip-thua-va-luu-nguyen-van | ai_infra → se | processed | ai_infra | 65ebda2a2a60 | ✓ | all | bù dòng @S186 — executed @S181 (`adap-reports/2026-08-07-…`) | áp |
| 2026-08-10 | 2026-08-08-Governance-quy-trinh-hai-dau-phien-may-diem-danh-va-6-bai-hoc | ai_infra → se | processed | ai_infra | 9c66b1e5cf0c | ✓ | all | bù dòng @S186 — executed @S185 (`adap-reports/2026-08-08-…`); chính thư đẻ ra YC-018 ONE-SHOT + ring5-audit slot (41) | áp |

> 🔴 **Bù 4 dòng @S186 (2026-08-10) — khai đường phán, vì 2 lệnh nói ngược nhau:** `check-email.md:67` ghi kênh `all` **KHÔNG** vào sổ này; `:7` ngay trên ghi **P6 (owner @S180)** đã mở INBOUND cho **CẢ HAI** kênh, và `:87-98` là **22 dòng `all` bù thật** = P6 đã vật-chất-hoá. ⇒ Lead chọn **P6 thắng** (quyết-định owner + đã thi hành > doc chưa cập nhật), thao tác **append-only đảo-ngược-được** ⇒ luật tự-trị **bậc-2** (`ACTIVE-MARKS` mark `RC-pqhuy1987-07-08-2026-20-57-48`): chọn nhánh an toàn + khai, KHÔNG dừng hỏi.
> 🔴 **Nợ kéo theo — CHƯA làm:** `check-email.md:67` vẫn mang luật cũ ⇒ **lần tới vẫn còn 2 lệnh cãi nhau**. Sửa nó là đổi lệnh, để owner phán. Phát hiện bởi `lead-stale-auditor` @S186 (ROUTE-GAP), và chính nó cứu lead khỏi vá nhầm hướng.

## 📤 OUTBOUND (gửi — qua `/send-email <to>`)
| sent (ISO) | id | from → to | folder | sha256(12) |
|---|---|---|---|---|
| 2026-08-07 | 2026-08-07-se-to-ai_infra-upgrade-pack-phased-bao-cao-cuoi | se → ai_infra | outbox/ai_infra | ffe1f109c426 |
| 2026-06-07 | 2026-06-07-se-to-ai_infra-harness-123-handshake | se → ai_infra | outbox/ai_infra | c9656c198500 |
| 2026-06-10 | 2026-06-10-se-to-ai_infra-harness-4-adopt-report | se → ai_infra | outbox/ai_infra | 181ee03ff060 |
| 2026-06-11 | 2026-06-11-se-to-ai_infra-harness-4-runtime-verified | se → ai_infra | outbox/ai_infra | ecf1d58797af |
| 2026-06-15 | 2026-06-15-se-to-ai_infra-harness-5-6-adopt-report | se → ai_infra | outbox/ai_infra | 8a247984df9f |
| 2026-06-15 | 2026-06-15-se-to-ai_infra-harness-7-adopt-report | se → ai_infra | outbox/ai_infra | 7e4f91f1ff7f |
| 2026-06-16 | 2026-06-16-se-to-ai_infra-harness-8-adopt-status | se → ai_infra | outbox/ai_infra | fa7f690d9ce6 |
| 2026-06-17 | 2026-06-17-se-to-ai_infra-harness-9-adopt-report | se → ai_infra | outbox/ai_infra | 7c07b716e775 |
| 2026-06-18 | 2026-06-18-se-to-ai_infra-harness-9-10-checklist-adopted | se → ai_infra | outbox/ai_infra | e5f09d57c22e |
| 2026-06-18 | 2026-06-18-se-to-ai_infra-harness-10-flat-refine-adopt-report | se → ai_infra | outbox/ai_infra | 5f8b85049a8c |
| 2026-06-18 | 2026-06-18-se-to-ai_infra-harness-11-adopt-report | se → ai_infra | outbox/ai_infra | 2316773229f2 |
| 2026-06-20 | 2026-06-20-se-to-ai_infra-harness-12-13-14-adopt-report | se → ai_infra | outbox/ai_infra | 7b8615b3291e |
| 2026-06-20 | 2026-06-20-se-to-ai_infra-harness-15-adopt-report | se → ai_infra | outbox/ai_infra | bb8fb6e803ae |
| 2026-06-21 | 2026-06-21-se-to-ai_infra-harness-15-v2-adopt-report | se → ai_infra | outbox/ai_infra | a749bb6bd1be |
| 2026-06-29 | 2026-06-29-se-to-ai_infra-harness-16-mfe-report | se → ai_infra | outbox/ai_infra | da768330fadc |
| 2026-07-01 | 2026-07-01-se-to-ai_infra-harness-17-adopt-report | se → ai_infra | outbox/ai_infra | 54789e1992c6 |
| 2026-07-01 | 2026-07-01-se-to-ai_infra-harness-17-deep-reverify-update | se → ai_infra | outbox/ai_infra | 8c94fa348514 |
| 2026-07-02 | 2026-07-02-se-to-ai_infra-fable-restore-h56 | se → ai_infra | outbox/ai_infra | cf0aa0dcd055 |
| 2026-07-03 | 2026-07-03-se-to-ai_infra-harness-18-wf2-verdict | se → ai_infra | outbox/ai_infra | d53ff79e4ccb |
| 2026-07-03 | 2026-07-03-se-to-ai_infra-harness-19-adopt-plus-model-tier | se → ai_infra | outbox/ai_infra | 87f73eff72a9 |
| 2026-07-06 | 2026-07-06-se-to-ai_infra-crystallized-backfill-harness-20-adopt | se → ai_infra | outbox/ai_infra | fc1e22ac4e13 |
| 2026-07-10 | 2026-07-10-se-to-ai_infra-s107-office-document-hotreload-fable-real-first-run | se → ai_infra | outbox/ai_infra | 8d14405f0f5a |
| 2026-07-11 | 2026-07-11-se-to-ai_infra-h21-mtv3-adopt-report | se → ai_infra | outbox/ai_infra | 01d9096ed4fa |
| 2026-07-12 | 2026-07-12-se-to-ai_infra-harness-22-wal-adopt-report | se → ai_infra | outbox/ai_infra | 9cdcda2f3c83 |
| 2026-07-13 | 2026-07-13-se-to-ai_infra-presence-not-age-adopt-report | se → ai_infra | outbox/ai_infra | 8b9dc5165d5a |
| 2026-07-13 | 2026-07-13-se-to-ai_infra-h22-wal-restart-runtime-verify | se → ai_infra | outbox/ai_infra | ddd01a1574b0 |
| 2026-07-15 | 2026-07-15-se-to-ai_infra-adap-6-broadcast-wave-report | se → ai_infra | outbox/ai_infra | d9536445cc91 |
| 2026-07-15 | 2026-07-15-se-to-ai_infra-r6-user-memory-outside-repo | se → ai_infra | outbox/ai_infra | d204973b0a23 |
| 2026-07-15 | 2026-07-15-se-to-ai_infra-r5-amend-dual-accept-retire-legacy | se → ai_infra | outbox/ai_infra | ed3786a10f12 |
| 2026-07-15 | 2026-07-15-se-to-ai_infra-adap-wave-s124-report | se → ai_infra | outbox/ai_infra | 28c424d4e50f |
| 2026-07-16 | 2026-07-16-se-to-ai_infra-dinh-chinh-token-label-hash-verify | se → ai_infra | outbox/ai_infra | 58f5afd89350 |
| 2026-07-16 | 2026-07-16-se-to-ai_infra-h23-precedence-test-result | se → ai_infra | outbox/ai_infra | 945cf3ad6329 |
| 2026-07-16 | 2026-07-16-se-to-ai_infra-adap-dot-16-07-bao-nac | se → ai_infra | outbox/ai_infra | c0ac7486447e |
| 2026-07-16 | 2026-07-16-se-to-ai_infra-disposition-owner-gated-dot-16-07 | se → ai_infra | outbox/ai_infra | a7aff375d0b3 |
| 2026-07-16 | 2026-07-16-se-to-ai_infra-adap-2-errata-report | se → ai_infra | outbox/ai_infra | 10ca96c9f845 |
| 2026-07-17 | 2026-07-17-se-to-ai_infra-h24-h22-van-hanh-3-gap | se → ai_infra | outbox/ai_infra | e46863c8e01e |
| 2026-07-17 | 2026-07-17-se-to-ai_infra-owner-direction-closure-cadence | se → ai_infra | outbox/ai_infra | 641bf8ca5498 |
| 2026-07-17 | 2026-07-17-se-to-ai_infra-adap-wave-khung-nhip-bao-so-do | se → ai_infra | outbox/ai_infra | 6e93be2fa7b1 |
| 2026-07-18 | 2026-07-18-se-to-ai_infra-adap-wave-3-ban-17-07-bao-nac | se → ai_infra | outbox/ai_infra | c5ea71b1b136 |
| 2026-07-18 | 2026-07-18-se-to-ai_infra-owner-quyet-4-khoan-xin-hub-review | se → ai_infra | outbox/ai_infra | 21b71a1e8e5b |
| 2026-07-18 | 2026-07-18-se-to-ai_infra-lam-ro-co-che-bo-ba-harness-sub | se → ai_infra | outbox/ai_infra | fc2b218d3eed |
| 2026-07-18 | 2026-07-18-se-to-ai_infra-nam-vong-dong-va-xin-mau-session-model | se → ai_infra | outbox/ai_infra | b9ef5ede5679 |
| 2026-07-22 | 2026-07-22-se-to-ai_infra-bao-nac-wave-dot-9-10 | se → ai_infra | outbox/ai_infra | 6c94873f72e0 |
| 2026-07-22 | 2026-07-22-se-to-ai_infra-errata-bao-nac-wave-dot-9-10 (errata-of ↑) | se → ai_infra | outbox/ai_infra | e43484cef10f |
| 2026-07-22 | 2026-07-22-se-to-ai_infra-adap11-hoi-c7-va-bulk-note-shards | se → ai_infra | outbox/ai_infra | 9f783be8e18a |

> 🔴 **Reconcile S123 (2026-07-15):** 2 row đầu (`…wave-report` · `…r6-user-memory…`) là **email S122 ĐÃ GỬI nhưng CHƯA từng được log** — `_index` có **0 row** cho ngày 07-15 trong khi `outbox/ai_infra/` có **3 file**. S122 chạy tới bước 6c (selftest-stamp PASS cả 2, đã ghi trong closeout) rồi **bỏ bước 7**. Phát hiện tình cờ khi S123 đọc `_index` để append row thứ 3. Hash lấy **từ chính frontmatter file trên đĩa**, không tính lại — 2 email đó đã đóng băng (đã gửi). ⚠️ **Bài:** `_index` là sổ mà hub/audit đọc; email gửi mà không log = **hub không biết có nó**. Bước 7 nên là một phần của cùng một lượt với 6c, đừng để tách.
| 2026-07-25 | 2026-07-25-se-to-ai_infra-bao-nac-adap-backlog-va-probe-opus5 | se → ai_infra | outbox/ai_infra | 3a05a6cc8509 |
| 2026-07-26 | 2026-07-26-se-to-ai_infra-model-default-probe-opus5 | se → ai_infra | outbox/ai_infra | d432f5eab5cd |
| 2026-07-26 | 2026-07-26-se-to-ai_infra-ctx-adopt-executed-va-datum | se → ai_infra | outbox/ai_infra | aedd7fb67405 |
| 2026-08-10 | 2026-08-10-se-to-ai_infra-report-day-wake-2-de-xuat-dinh-chinh-v5 | se → ai_infra | outbox/ai_infra | 0cbaccaafa73 (re-stamp F-9) |
