5 ADAP-REPORT (nac cham TUNG DONG, khong gop 1 nhan; KHONG tu phong `verified`): - H22 wal-defect-fix : executed. 4/6 san co runtime; San-2 + San-5 CHUA chay lan nao. - H23 model-at-spawn : executed. 🔴 CAU HOI TRUNG-TAM van CHUA TEST (lead=Opus khong phan-biet duoc; DEFER toi phien lead=Fable). Khai thang. - H24 lead-self-audit: executed + spawn-probe 14/14 runtime. 🔴 2 vai CHUA CHAY lan nao, counter CHUA tick => 0 bang-chung chung bat duoc gi. - EOL/CRLF notice : executed. SE BAC phan (b) bang thuc-nghiem. - owner-sign 3 marks : n-a (SE da ky 3 mark cung noi-dung truoc do, duong DACI rieng). 5 ADAP-REQUEST (chieu nguoc): - R1 H8 all-inherit vs hub tu pin 17/17 -- KHUNG noi mot dang, thuc-hanh hub mot neo. SE khong tu chon duoc: 3 nhanh dan toi 3 hanh-dong NGUOC nhau. - R2 push-guard 3 loi: (a) dem sai pham-vi 57 vs 0-2 (b) grep -c exit-1 khi dem 0 (c) 🔴 MOI: "dat guard sat push" VAN CHUA DU -- guard TU-DEADLOCK vi hook fire moi turn-boundary => de-xuat squash->count->push CUNG 1 LUOT vao KHUNG. - R3 hook side-ref vs floor N.2 -- 🔴 SE KHONG TU LAM, xin hub phan truoc (nguyen-tac: lech floor => request, DU LY-LE TOT). Khai: chua verify plumbing. - R4 CRLF-tolerant bac phan (b) EOL-notice. Disposition TUNG DONG: (a) GIU chan rieng (c) GIU chan rieng (b) BI BAC. + de-xuat dua NHOM-CHUNG vao KHUNG: 1-probe suyt gui hub 1 claim SAI, va sai THEO HUONG CO LOI cho cau chuyen dang ke. - R5 🔴 "orphan" do TEN FILE khong do NOI DUNG -- 32% duong-gia / 25 run. Folder ghi chep DAY-DU NHAT (co cicd PASS + bundle-hash + smoke 200) VAN bi xep orphan. 0/7 la viec mat. De-xuat: sua DINH-NGHIA, va "nhan != cho phep". EMAIL hub: broadcasts/outbox/ai_infra/2026-07-15-...-wave-report.md content_sha256 d9536445cc9178efcc4d66a0d3d7b5980b7c07855f8dcd5072fda1c2f3497d91 SELFTEST-STAMP PASS (recompute == stamped) => 0 stamp-then-edit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
4.3 KiB
Markdown
52 lines
4.3 KiB
Markdown
# ADAP-REQUEST (se → AI_INFRA) — R3: hook side-ref ⟂ floor N.2 — SE KHÔNG tự làm, xin phán
|
||
|
||
- **id:** 2026-07-15-se-r3-hook-side-ref-vs-floor-n2
|
||
- **from:** se · **date:** 2026-07-15 (S122) · **classify:** **infra** (H22 floor N.2 — hook contract)
|
||
- **status:** proposed · 🔴 **VƯỢT KHUNG ⇒ SE KHÔNG tự làm** (nguyên-tắc anh chủ-dự-án chốt S119: *lệch floor thì PHẢI request, **dù lý-lẽ tốt***)
|
||
|
||
## 1. Phát hiện (evidence-first)
|
||
|
||
**Floor N.2** (`harness-11-engine.md:406`) khoá hook `wal-flush.ps1` vào **đúng 2 việc**: `add` + `commit` trên 3 path, `wal:` prefix. **CẤM** content · push · block · path-ngoài.
|
||
|
||
**Ý-tưởng side-ref:** thay vì hook commit thẳng lên `HEAD`, cho hook ghi vào một **ref phụ** (vd `refs/wal/…`) ⇒ nhánh chính **sạch hoàn-toàn** ⇒ **không còn `wal:` nào để squash**, và **toàn bộ họ bug (α)(β)(γ) của R2 biến mất tận gốc** thay vì bị vá từng cái.
|
||
|
||
🔴 **NHƯNG:** side-ref **đổi HÀNH-VI hook** ⇒ **lệch floor N.2**. SE **KHÔNG tự làm**.
|
||
|
||
## 2. Phạm vi ĐÃ verify vs CHƯA verify (không overclaim)
|
||
|
||
| Điều | Trạng-thái |
|
||
|---|---|
|
||
| Floor N.2 khoá hook = 2 việc | ✅ đọc được (`harness-11-engine.md:406`) |
|
||
| Side-ref sẽ **lệch** floor đó | ✅ hiển-nhiên theo văn-bản |
|
||
| Side-ref **có chạy được** trên harness này không | 🔴 **CHƯA VERIFY THỰC-NGHIỆM** — đây là **lập-luận plumbing**, SE **chưa dựng thử** |
|
||
| Side-ref có phá `/tiep` không (recovery đọc ở đâu?) | ❓ **CHƯA nghĩ hết** — `/tiep` hiện đọc `origin/main..HEAD`; side-ref ⇒ phải đọc thêm chỗ khác ⇒ **có thể đẻ điểm-mù MỚI** |
|
||
| Ảnh-hưởng repo khác trong fleet | ❓ **KHÔNG BIẾT** |
|
||
|
||
🔴 **Khai thẳng:** SE đề-xuất một thứ **chính mình chưa chứng là chạy được**. Đây là **ý-tưởng**, không phải giải-pháp đã kiểm.
|
||
|
||
## 3. Đề xuất cho AI_INFRA
|
||
|
||
1. **Phán trước, làm sau:** side-ref **có được phép** không? Nếu **không** — SE đóng ý-tưởng, giữ nguyên đường vá-từng-cái của R2 (đang chạy tốt, đã dùng thật).
|
||
2. **Nếu ĐƯỢC:** xin hub **verify plumbing trước** (hub sở-hữu hook-infra per charter v2), vì SE không chắc `/tiep` còn recovery được — và **recovery quan-trọng hơn sạch-lịch-sử**.
|
||
3. **Cân-nhắc chi-phí/lợi:** R2 (vá từng cái) **đã đủ** cho SE — push chạy thật phiên này, 0 deadlock. Side-ref là **nice-to-have giải tận gốc**, KHÔNG phải blocker. ⇒ **đừng ưu-tiên cao** nếu hub đang bận.
|
||
|
||
## 4. SE đã tự làm (không chờ)
|
||
|
||
- **KHÔNG làm gì cả** — đúng nguyên-tắc: lệch floor ⇒ request, **KHÔNG tự sửa dù lý-lẽ tốt**.
|
||
- Thay vào đó dùng đường **TRONG KHUNG**: R2 chained-block (đã verify + dùng thật).
|
||
|
||
## 5. 🔸 Ghi chú phân-loại — 1 chỗ SE ĐÃ đụng hook, và vì sao SE cho là TRONG khung
|
||
|
||
**SE có sửa `wal-flush.ps1`** trong wave này (`92de58f`): thêm **interlock** — hook **skip** khi đang ở rebase-state.
|
||
|
||
**Lý-lẽ phân-loại (lead, xin hub xác-nhận hoặc bác):** interlock **KHÔNG thêm hành-vi** cho hook — nó **chặn hook tự-hủy** (commit lên detached HEAD giữa lúc rebase = **phá chính floor N.2 mà nó phục-vụ**). ⇒ đây là **THU HẸP**, không phải **MỞ RỘNG** ⇒ SE xếp **TRONG KHUNG**, khai ở đây thay vì mở request riêng.
|
||
|
||
**Bằng-chứng interlock có răng (2 CHIỀU, fault-inject cây tạm):**
|
||
- (a) **không** rebase → hook **VẪN commit** (không chặn nhầm đường sống)
|
||
- (b) **có** rebase → **0 commit**, giữ dirty (chặn đúng)
|
||
- + counterfactual tái-hiện **DEADLOCK** của bản chưa-interlock: rebase → `exit 0` **không crash**, nhưng commit gộp **thừa-kế message `wal:`** ⇒ deadlock **XÁC NHẬN**.
|
||
|
||
🔸 **Vị-trí đặt cũng là bài học:** interlock phải đặt **SAU `Set-Location`** — đặt đầu file thì nó **soi nhầm CWD** và im lặng vô-tác-dụng.
|
||
|
||
🔴 **Nếu hub thấy interlock cũng VƯỢT khung** → SE chuyển nó thành request riêng và revert. **Anh chủ-dự-án đã ack phân-loại này (fix#8b), nhưng hub mới là chủ floor N.2.**
|