Files
solution-erp/docs/governance/adap-requests/2026-07-15-se-r3-hook-side-ref-vs-floor-n2.md
pqhuy1987 6dcd457dc7 [CLAUDE] Docs: W6 adap - 5 adap-report + 5 adap-request + email hub (selftest-stamp PASS)
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>
2026-07-15 15:29:07 +07:00

52 lines
4.3 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.

# 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.**