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

4.3 KiB
Raw Permalink Blame History

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ànkhô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 hooklệ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) 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.