Files
solution-erp/.claude/workflows/runs/2026-07-15-S119-adap-6-broadcast/lead-evidence-hub-inspect.md
pqhuy1987 4727d16178 [CLAUDE] Docs: S119 adap 6 broadcast AI_INFRA - dieu tra chieu rong + spec v3 (dung truoc wave)
check-email 6 broadcast moi (H23 model-at-spawn / H24 lead-self-audit / H22 wal-defect-fix
5-san / H22 push-guard / EOL-CRLF agent-registry / owner-sign) - hash 7/7 + tamper 4/4 MATCH.

Pipeline H21: fable-clone invest 5-lane (wf_1f6bd5e2-478, 5/5 clean) -> spec v1 ->
fable-clone reviewer 4-lane (wf_78a84f9b-03e: R2 FAIL 4C+8M, R3 FAIL 5C+6M, R1/R4 chet #53)
-> v2 -> fable-real reviewer cong-cuoi (wf_cb964f83-331: GO-WITH-FIXES + 8 fix + 2 honesty-C)
-> v3 (STILL-BROKEN = 0). Anh chot B: dung tai spec, wave chay phien sau qua /tiep.

Do that: 57 wal: da lot origin/main (hub do duoc 1 -> SE = 57x); nguyen nhan KHONG phai
turn-seam ma la session-end.md:113 SE tu viet "kep sau -> GIU NGUYEN". K troi 3->10/buoi.
v1 SE GAY MAT VIEC (R3 fault-inject: NONWAL=0 -> 0 commit de fixup -> detached HEAD ->
hook fail-open -> abort -> mat worktree = E-029 bang cua sau).

Owner 6 chot: nguyen-tac moi (vuot-khung = request anh + AI_INFRA) / PA-2 = PA-2a hang-so +
PA-2b audit / 6-15-3 / [carry:slug] / KHONG don 57 / fix#8 (a)(b).

0 prod-code, 0 migration, 0 FE. Test 509 giu nguyen (45D + 464I).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:20:29 +07:00

112 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Lead-evidence — soi HUB trực tiếp (em-main tự đo, KHÔNG qua lane)
> Nguồn: đọc repo `D:\Dropbox\CONG_VIEC\AI_INFRA` (read-only, §J2 chỉ-ghi-repo-mình). Ngày đo **2026-07-15**.
> Mục đích: (a) trả lời owner-decision #2 "xem cách làm của hub" · (b) đối chứng tiền-đề H23 cho lane C.
---
## A. Owner-decision #2 — hub xử 57-wal thế nào?
### A.1 Số đo hub (live)
| Trục | Hub | SE |
|---|---|---|
| `wal:` trên `origin/main` (ĐÃ lọt) | **1** | **57** |
| `wal:` chưa đẩy (`origin/main..HEAD`) | **2** | **3** |
**Hub KHÔNG dọn cái đã lọt.** Giữ nguyên 1 commit trên remote.
### A.2 Phương pháp hub (trích commit log)
- `2c21bed`: "GUARD-5.2 dogfood-trọn (**23-wal-xen-kẽ → anh-chốt-A rebase-drop → fold-residual → verify-0-byte → push 7-mốc N=0**)"
- `5114519`: "CODIFY wal-xen-kẽ (**anh-chốt-A AskUserQuestion ×2: REBASE-DROP giữ mốc đích-danh + máy-verify tree-identical** — §I4 + session-end-5.0 + mark `RC-pqhuy1987-14-07-2026-09-16-24` Active-High, partial-supersede AC5-s89 vế xen-kẽ)"
**Quy trình hub = 5 bước:**
1. REBASE-DROP các `wal:` **chưa đẩy****giữ mốc đích-danh** (commit `[CLAUDE]` thật)
2. **Máy-verify tree-identical** (chứng minh drop `wal:` KHÔNG đổi nội dung)
3. fold-residual
4. verify-0-byte
5. push khi **N=0**
**Owner-gate:** `anh-chốt-A` qua **AskUserQuestion ×2** + mark **`RC-pqhuy1987-14-07-2026-09-16-24` Active-High**.
### A.3 → Khuyến nghị cho SE (khớp hub, chờ anh ký)
- **3 chưa đẩy** → rebase-drop/squash + máy-verify tree-identical + push khi N=0. **Được** (chưa đẩy = không vi phạm "cấm rewrite đã-đẩy").
- **57 đã lọt remote** → **ĐỂ NGUYÊN**, y hub. Rewrite = vi phạm hard-safety H22 + 57 commit trên remote chung = rủi ro cao. Guard chỉ chặn TƯƠNG-LAI.
### A.4 ⚠️ 2 cảnh báo đắt từ hub (họ đã trả giá)
- **`E-029`** — "wal-squash-run-đầu (**verify-mốc-sai ca-fold-uncommitted** → reflog-recover 100%)": lần chạy squash ĐẦU TIÊN họ **verify nhầm mốc → nuốt work chưa-commit**, cứu bằng reflog. → SE PHẢI: verify mốc đích-danh + check `git status` sạch TRƯỚC khi rebase-drop.
- **`E-030`** — "CRLF-agent-registry-loss — phát hiện + RCA + kết tinh spec (**EXECUTE defer s95 per anh**)": hub **CHƯA execute xong** chính cái CRLF họ vừa broadcast. → SE adopt là đi TRƯỚC hub ở khối này; đừng giả định hub có sẵn mẫu chạy được.
---
## B. Tiền-đề H23 — ĐỐI CHỨNG (material cho lane C + owner-decision #1)
### B.1 Hub PIN, không inherit (đo trực tiếp frontmatter)
```
17/17 agent hub → model: claude-opus-4-8 (PIN full-id)
ngoại lệ: librarian, scout → model: sonnet (helper rẻ)
SE 12/12 agent → model: inherit
```
Hub roster (17) gồm: adoption-tracker · agent-ops-monitor · architecture-watch · cicd-monitor · fable-clone-aggregator · harness-audit · harness-eval · harness-refine · harvest-curator · implementer · investigator · **lead-gap-auditor** · **lead-stale-auditor** · librarian · reviewer · scout · tooling-auditor.
> 📌 `lead-gap-auditor` + `lead-stale-auditor` **đã tồn tại ở hub** = chính 2 vai H24 §2(1). Tên tham chiếu cho lane D (SE tự-quyết tên — H24 §3(e) "tên vai = FORM tự-quyết").
### B.2 Chuỗi model-tier — 3 bản, drift 3 chiều
| Bản | Ngày | Nói gì | Nấc |
|---|---|---|---|
| **H8** all-inherit | 2026-06-16 | mọi sub → `inherit` (ăn top-tier lead) | SE ghi: "🔴 **BẮT BUỘC** (anh-chốt, **mọi sister**; chất lượng trên chi phí)" |
| **model-tier-v2-pin-simple** | 2026-07-03 | hub đổi FORM sang pin. **"Không có mandate mới; các đội KHÔNG bắt buộc làm theo"** · **"Danh sách trợ lý nào ở tầng model nào = FORM mỗi đội tự quyết"** · **"cả hai đều đạt sàn miễn là đội trưởng ở model cao nhất và việc nâng-hạ tầng là có kỷ luật"** | `supersedes_scope: none` |
| **H23** explicit-model-at-spawn | 2026-07-13 | §1: "chuỗi model-tier trước đã chốt... **mọi sub có bộ-nhớ chạy ở worker-tier gán-cứng**" + §2(1) "**KHÔNG dựa vào fallback ngầm — không dựa 'kế-thừa từ lead'**" + §2(2) "giữ pin ở tệp định-nghĩa làm **tầng-2**" | hub nội-bộ = `H8.6e` (commit `9bb5701`) |
### B.3 Phân tích (lead)
**SÀN THẬT** (theo pin-simple — bản mới nhất phát biểu tường minh về sàn):
1. lead = model cao nhất ✓
2. việc nâng-hạ tầng **có kỷ luật** (chống class "quên hạ tầng")
**FORM** (sub nào ở tầng nào) = **mỗi đội tự quyết** — pin-simple nói thẳng.
**SE all-inherit ĐẠT SÀN:** lead frontier ✓ · all-inherit = **100% tất định, KHÔNG có điểm quyết-theo-tác-vụ nào** ⇒ class "quên hạ tầng" **không thể tồn tại** (chính là lỗi mà pin-simple sinh ra để chống — SE đóng nó bằng đường khác).
**SE nằm TRONG khung, KHÔNG vượt khung** (theo nguyên tắc anh chốt S119: "điều chỉnh trong cho phép" = OK, không cần request cho việc lệch form).
**DEFECT nằm ở H23 §1**, không ở SE: nó phát biểu **FORM riêng của hub** ("mọi sub chạy worker-tier gán-cứng") **như thể là SÀN đã chốt**, mâu thuẫn trực tiếp với pin-simple ("form mỗi đội tự quyết", "cả hai đều đạt sàn"). Sister đọc H23 theo nghĩa đen → tưởng **phải bỏ all-inherit**.
**Trầm trọng hơn:** H8 (06-16) tuyên all-inherit **"BẮT BUỘC mọi sister"**. Nếu pin-simple đã nới thành "form tự do" thì **H8 chưa từng được retract tường minh**; nếu H8 vẫn sống thì **H23 mâu thuẫn với chính H8**. Fleet đang giữ **3 phát biểu không tương thích** về cùng một trục.
### B.4 H23 §4 project-fit — escape hatch CÓ SẴN
> "**Hệ chỉ dùng MỘT model duy-nhất cho mọi sub:** điểm (2) và (3) **rút gọn**... nhưng bạn **vẫn nên làm (1) và (5)**."
SE = "một model duy nhất cho mọi sub" (dynamic = lead). ⇒ **(2)(3) rút gọn · (1)(5) vẫn áp**:
- **(1)** ghi model tường-minh tại spawn-site → SE dùng **ghi-chú-đầu-cây** (H23 §2(1) khuyến nghị chính xác cách này cho cây điều-hướng nhiều nhánh): 1 note ở đầu `agents/README.md` decision-tree + `hmw.js` + commands, KHÔNG lặp inline N nhánh.
- **(5)** kỷ-luật động-từ: grep tài liệu SE tìm chỗ viết "enforce/cơ-giới-hoá" sai nấc.
**SE adopt được H23 mà KHÔNG bỏ H8.** Không phải chọn-một.
---
## C. Kết luận lead → 3 owner-decision
| # | Câu hỏi | Bằng chứng | Đề xuất (chờ anh) |
|---|---|---|---|
| 1 | H23 ⟂ H8 | pin-simple: form tự-quyết, cả 2 đạt sàn · H23 §4 escape hatch · hub tự pin nhưng broadcast inherit | **GIỮ H8 all-inherit** (trong khung) + adopt H23 (1)(5), (2)(3) n-a-reasoned → **`/adap-request`** yêu cầu AI_INFRA **reconcile H8 ⟂ pin-simple ⟂ H23** + re-broadcast cho sister (anh-directed) |
| 2 | 57 wal: lọt remote | hub giữ nguyên 1/1 · rebase-drop CHỈ cho chưa-đẩy · mark `RC-…14-07-2026-09-16-24` | **3 chưa đẩy → drop + tree-identical verify.** **57 đã lọt → ĐỂ NGUYÊN** (khớp hub) |
| 3 | số nhịp H24 | — | anh đã đồng ý adopt; **số = quyền anh**, em đề xuất ở spec, anh ký |
---
## D. Nấc trung thực
- Số ở A.1/B.1 = **đo live 2026-07-15**, lặp lại được bằng lệnh trong bảng.
- Trích commit-message hub = **verbatim từ `git log`**, KHÔNG diễn giải.
- **CHƯA verify:** hub có `spawn_model_audit` script không (`ls scripts/ | grep -i spawn|model` = rỗng) dù `9bb5701` nhắc "spawn_model_audit LIVE 29-dispatch/0-mismatch" → có thể ở đường dẫn khác hoặc tên khác. **Không kết luận.**
- Hub `.claude/settings.json` = 132B có wire `wal-flush` (grep=1) → hook hub **ĐÃ live** (file `settings-hooks-entry.STAGED.json` chỉ là bản mẫu sót lại).
- Đọc repo hub = **read-only**; SE KHÔNG ghi gì sang đó (§J2).