Files
solution-erp/docs/governance/adap-requests/2026-07-15-se-r5-orphan-measures-filename-not-content.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

6.9 KiB

ADAP-REQUEST (se → AI_INFRA) — R5: 🔴 "orphan" trong H22/H18-B đo TÊN FILE, không đo NỘI DUNG — 32% dương-giả đo được

  • id: 2026-07-15-se-r5-orphan-measures-filename-not-content
  • from: se · date: 2026-07-15 (S122) · classify: infra (định-nghĩa orphan — H22 sàn-3 + H18-B orphan-authority)
  • status: proposed · nấc: evidenced — đo trên toàn bộ 25 run của SE

1. Phát hiện (evidence-first)

Orphan-authority hiện-hành: "runs/<id>/run.md*-synthesis.md VẮNG/0-byte".

🔴 Gate hỏi "đã harvest chưa" — một câu hỏi về NỘI DUNG — nhưng đo "có file tên X không". Khi hai thứ đó lệch nhau, detector đo được cái DỄ ĐO, không phải cái CẦN ĐO.

Đo trên toàn bộ 25 run của SE:

total run.md = 25 | naive-orphan = 13 | dual-accept-orphan = 8 | C8 cứu = 5
⇒ 8 dương-giả / 25 = 32%

7 "orphan" tồn-đọng (trừ 1 run đang bay hợp-lệ) — điều-tra bằng 7 lane read-only + lead verify từng cái: 🔴 0/7 là việc mất. 7/7 ĐÃ XONG, chỉ ghi synthesis SAI CHỖ.

Folder Kết-quả nằm ở đâu LANDED
S112-pe-signoff-close-review run.md:19 ## synthesis a829d0d
S112-pe-signoff-save-advance run.md:21 ## synthesis a829d0d (qua run kế)
S112-supplier-excel-import run.md:25 ## synthesis e100ef0 + Mig 63
S112-supplier-import-close-review run.md:8 ## synthesis Run #496
S113-supplier-import-v2-invest run.md:34 ## Synthesis + ## OUTCOME 5fa11b5 + Mig 64
S114-multi-ncc-per-hangmuc run.md:28 ## Synthesis d436af2 + Mig 65
pe-negative-quote (S116) run.md:8-19 ## Stages + ## wf run-id 88368fd

🔴 Ca nặng nhất — folder ghi chép ĐẦY-ĐỦ NHẤT vẫn bị xếp orphan

pe-negative-quote/run.md:19 ghi thẳng: " PIPELINE COMPLETE — shipped + live-verified 2026-07-13", kèm 6 stage [x], 4 wf-id + verdict từng stage, cicd-monitor PASS (CI Run 386, bundle rotate D51OYyGVDd55jBpj, smoke 200, byte-level feature-strings PRESENT). Vẫn bị xếp orphan. Chỉ vì không có file tên *-synthesis.md.

Bồi: H2-gate ĐÃ soi và ĐÃ coi là đóng

Commit 8fa2fcc có message khoe "close-review run.md synthesis [H2 gate]" — nhưng git show --stat KHÔNG chạm folder đó. ⇒ H2 harvest-curator đã nhìn, đã coi ĐÓNG; chỉ tên file không khớp glob nên folder-scan vẫn kêu.

🔴 KHÔNG phải "convention cũ của một thời-kỳ"

Cùng ngày 2026-07-12: h22-wal-adopt ghi dạng-1 (file phẳng) · S112-* ghi dạng-3 (trong run.md). Cùng lead, cùng ngày, hai kiểu.thói-quen không nhất-quán, KHÔNG phải di-sản migration. ⇒ nhận dạng-3 mà không cấm viết mới = đóng băng sự tuỳ-tiện thành luật.

Thực-địa có ≥4 dạng; doc thừa-nhận 2

Dạng Doc thừa-nhận?
1. <stage>-synthesis.md phẳng
2. harvest/<stage>-synthesis.md (C8)
3. ## synthesis trong thân run.md (6 folder) không ở đâu
4. kết-quả rải dưới heading tuỳ-ý (## Stages + ## wf run-id) không ở đâu

2. Phạm vi ĐÃ verify vs CHƯA verify

Điều Trạng-thái
13/8/5 trên 25 run của SE đo thật, tái-hiện được
0/7 là việc mất 7 lane read-only + lead verify từng cái bằng SHA thật
Dạng-3 nhận được bằng máy (^#+\s*synthesis) fault-inject 9/9, gồm 2 ca anti-Goodhart
Dạng-4 nhận được bằng máy 🔴 KHÔNG — nhận nó = phải nhận "bất-kỳ run.md nào có vẻ nói về kết-quả" ⇒ quá lỏng, vô-nghĩa ⇒ để người phán. KẼ CÒN LẠI, chưa xử.
Repo khác có cùng bệnh không KHÔNG BIẾT — SE chỉ đo repo mình

3. Đề xuất cho AI_INFRA

  1. Sửa ĐỊNH-NGHĨA orphan, không phải sửa một dòng. Câu hỏi là "đã harvest chưa" ⇒ phép đo phải chạm NỘI DUNG. TRI-ACCEPT (dạng-1 + dạng-2 + dạng-3) là bản vá SE đang chạy — nhưng nó vẫn là khớp-mẫu, chỉ khớp rộng hơn. Gốc chưa được giải.
  2. Nhận ≠ cho phép — nếu hub adopt tri-accept, PHẢI kèm luật viết: run MỚI BẮT BUỘC dạng-1. Mượn đúng khuôn C8 (tha di-sản, cấm viết mới kiểu cũ) ⇒ tín-hiệu phiên sau vẫn đơn-nghĩa. Thiếu vế này = hợp-pháp-hoá sự tuỳ-tiện.
  3. Khảo-sát fleet: repo khác chạy scan naive-vs-tri-accept xem tỉ-lệ dương-giả bao nhiêu. Nếu ~32% là phổ-biến thì H18-B honest-retire của _ledger cần đọc lại_ledger bị retire vì "true-orphan-catch 0/15 lifetime", mà nếu folder-scan đang đếm 32% dương-giả thì con-số 0/15 đó cũng đáng nghi.
  4. Bài học tổng-quát đề-nghị vào KHUNG: "khi cổng hỏi X mà đo Y, hãy đo tỉ-lệ X≠Y trước khi tin cổng". SE đo được 32% chỉ vì tình cờ phải đóng 7 orphan.

4. SE đã tự làm (không chờ)

  • Đóng THẬT 7 orphan (anh chủ-dự-án chốt: KHÔNG scope, KHÔNG allowlist, KHÔNG bịa) — 22ea8c5. Cách: COPY additive (run.md giữ nguyên; file mới tự khai "bản gốc trong run.md mới là CHUẨN") ⇒ 0 rewrite history, ai cũng diff lại được. dual-orphan 8→2 (2 còn lại = 2 run đang bay hợp-lệ).
  • TRI-ACCEPT land: định-nghĩa canonical tiep.md §0 + orphan-authority workflows/README.md:19-20 + close-gate session-end §L.b(f) (dfa3dae / 53765b0).
  • Fault-inject 9/9 — 2 ca anti-Goodhart: file 0-byte → FLAG · chữ "synthesis" giữa câu văn, không phải heading → FLAG (regex không nhận bừa).
  • 🔴 Khai thẳng dạng-4 = kẽ CÒN LẠI ở cả 3 chỗ land. Không giả-vờ đã kín.

5. 🔸 Lead tự bắt — cùng một cái bẫy, 2 lần

  1. Lead báo owner: "đo lại tái-hiện CHÍNH XÁC dự-báo naive13/dual8/C8-cứu-5" rồi lấy sự trùng-khớp đó làm chỗ dựa. Con-số đúng — nhưng CẢ SPEC LẪN LEAD đều đang đo TÊN FILE.tái-hiện chính xác một phép đo sai hướng, rồi coi đó là bằng-chứng chẩn đúng.
  2. Lead báo: "fable-real-runbook.md 8 hit" — thật là 14; lấy output head -40 đã bị cắt làm số tổng.

⇒ cả hai ở trục đếm-về-việc-mình. Sub thì 6/6 lane neo SHA thật, 0 garble. Khác biệt: sub bị ép neo từng claim vào file:line; lead thì tự do viết văn. Ghi vào đây vì đó là dữ-liệu về quy-trình, không phải lời xin lỗi.