wal: flush 20260809T2154
This commit is contained in:
@ -12,7 +12,7 @@ chain:
|
||||
[ ] acceptance ĐỘNG local: seed 1 level cờ=true (A2-răng) + 1 phiếu ChoDuyet (T8) rồi đo
|
||||
[ ] bookend @close: trio vòng-auto + cặp H24 @close + ring2 + DEEP-SWEEP (18/15 OVERDUE @S184-tick counter 57→58 — NEXT-em, giữ phán quyết FLAG-4) + ctx-audit @close (mồi = ring1-persona "CẤM chạy @open")
|
||||
[ ] governance-vá + đóng sổ: CÒN gom nợ harvest 576.255B/18-lượt (uỷ-quyền slot 71) + STATUS/HANDOFF closeout + YC-013 lật đóng sau mắt-anh — ✅ @S185: orphan S182 ĐÓNG (`implement-synthesis.md` + 7/7 ô + 2-thước-im) · 3 site tự-quy-chiếu VÁ+verify (session-start:161-162 trỏ-enum thay chép-class · detectors.ps1 pre-marker-segment → 29 slug vào lưới EXIT=0 · HANDOFF:58 dòng-bổ-sung giữ ảnh-chụp)
|
||||
[!] 🆕 YC-017: P1[x] invest 0/39-NỢ-per-id #53-recover · P2[x] review PASS_WITH_FIXES 9MAJ · P3[x] checklist-final 22C+4W + C-13 commit `6282806c` · P4[!] wf_5d16a842-28e 7-lane Opus MAX ĐANG chạy — wf: run=2026-08-09-S185-email-adap-pipeline · 4W CHỜ-ANH: W-1 day-wake 3-chạm · W-2 ring5(41) · W-3 owner-SỐ 4.3 (rơi từ 07-25) · W-4 bảng thẩm-quyền (SAU C-16)
|
||||
[x] YC-017 ĐÓNG @S185: P1-P4 trọn — wf_5d16a842-28e 7/7 lane (16D+3P-đúng-luật+1S-khai; +C-7 lead tự vá rơi ⇒ 21/21 disposition) + verify-lead 3/3 + synthesis land — verify: test -s .claude/workflows/runs/2026-08-09-S185-email-adap-pipeline/implement-synthesis.md · tồn: C-1-đợi-rider-jump(nợ-chưa-có-chủ F-L2-2) · C-6-quyết-nén-ring2 · 4W+5-SKIP-owner (trình anh cuối lượt)
|
||||
[x] adap thư 08-08 TRỌN @S185 (Harness-9 2-workflow): 3 phép-thử ĐO THẬT (sàn-vs-trần ring2 DƯƠNG 24.793=96,8%cap+A5 · công-cụ-nói-dối ÂM 3/3-khớp · đo-trước-gộp DƯƠNG→vá `(f-bis)` session-end) + REVIEW độc-lập `PASS_WITH_FIXES` (2 FIX áp: nhãn f-bis + "dưới ràng-buộc A5") + K5 "đèn KHÔNG đếm 11 lớp" ghi vào report — verify: test -s docs/governance/adap-reports/2026-08-08-Governance-quy-trinh-hai-dau-phien-may-diem-danh-va-6-bai-hoc.md
|
||||
|
||||
wf: ✅ orphan S182 ĐÓNG @S185 (window-4): `implement-synthesis.md` VERIFIED (2 khai lệch: 659-literal→660-lúc-ship · engine-mix Fable/Opus) + 7/7 ô bảng tick + detector-①-im + probe 1→0. 🧊 vết cũ giữ 1 dòng: _mind:108 `find -newermt` chạy trên path không tồn tại — thước hỏng, kết-luận 0-fan-out window-2 vẫn đúng (đo lại mtime); đính-chính hẹn MIND-3.
|
||||
|
||||
30
.claude/workflows/runs/2026-08-09-S185-bookend-close/run.md
Normal file
30
.claude/workflows/runs/2026-08-09-S185-bookend-close/run.md
Normal file
@ -0,0 +1,30 @@
|
||||
# run — bookend @close S185/L13 — ONE-SHOT (YC-018, lượt đầu áp luật mới)
|
||||
|
||||
- ts-mở: 2026-08-09T21:50+07:00 · lead: Fable 5 · trả nợ: deep-sweep 19/15 OVERDUE + trio vòng-auto + gom harvest 576KB + ctx-audit mồi
|
||||
- 🔴 ONE-SHOT: toàn chuỗi dưới chạy TRỌN TRONG LƯỢT NÀY — không hẹn cửa (session-end.md khối ONE-SHOT BOOKEND vừa land)
|
||||
|
||||
## Chuỗi vòng (label C3 4-thành-phần — khoản-④ label-vào-run.md)
|
||||
|
||||
| vòng | vai | label | trạng thái |
|
||||
|---|---|---|---|
|
||||
| gom-harvest (uỷ-quyền 71) | harvest-curator | `Core harvest-curator gom s185` | [ ] |
|
||||
| script-arm đo (SAU gom — bài-4/f-bis) | máy ×5 | — | [ ] |
|
||||
| V3 trio ĐO | harness-eval | `Vòng-3 harness-eval close s185` | [ ] |
|
||||
| V3 trio ĐỀ-XUẤT | harness-refine | `Vòng-3 harness-refine close s185` | [ ] |
|
||||
| V3 trio KIỂM | harness-audit | `Vòng-3 harness-audit close s185` | [ ] |
|
||||
| V2 H24 DEEP (19/15) | lead-stale-auditor | `Vòng-2 lead-stale deep s185` | [ ] |
|
||||
| V2 H24 DEEP | lead-gap-auditor | `Vòng-2 lead-gap deep s185` | [ ] |
|
||||
| V2 ring2 AUTO sau cặp | ring2-audit | `Vòng-2 ring2 close s185` | [ ] |
|
||||
| Ctx vai-3 @close | ctx-audit | `Core ctx-audit close s185` | [ ] |
|
||||
|
||||
## Artifact chờ
|
||||
|
||||
`sub-harvest-curator.md` · `harness-{eval,refine,audit}-return.md` · `sub-lead-{stale,gap}-deep.md` · `sub-ring2-audit.md` · `sub-ctx-audit-close.md` · `bookend-close-synthesis.md`
|
||||
|
||||
## Mồi ctx-audit (đã gieo từ WAL S184)
|
||||
|
||||
ring1-persona "CẤM chạy @open" thối 5 phiên vận hành — ctx-audit @close phải chấm.
|
||||
|
||||
## Chống-#53
|
||||
|
||||
Mỗi vai GHI ARTIFACT LIÊN TỤC vào file `sub-*`/`*-return.md` của mình; return = VERDICT-header + con-trỏ.
|
||||
@ -0,0 +1,30 @@
|
||||
# implement-synthesis — YC-017 pipeline invest→review→OpusMAX (S185)
|
||||
|
||||
> **VERIFIED bởi lead** @2026-08-09 ~21:45. Verify độc-lập 3 phép: detectors `EXIT=0` + non-ASCII=0 · tien-kiem flip ("dang cho owner"=0 hit) vẫn `ok` · `loi-hua-may-scan.ps1` 30.223 B tồn tại · git log sạch (0 commit-lậu từ lane — chỉ `wal:` hook + `6282806c` C-13 lead).
|
||||
|
||||
## Chuỗi P1→P4
|
||||
|
||||
| P | Engine | Kết quả |
|
||||
|---|---|---|
|
||||
| P1 invest | Fable, #53-recover-resume | **0/39 NỢ per-id** (33 report cùng-tên + 6 report-gói, commit đương-thời) · 21-item checklist · 2 tiền-đề brief bị bác bằng đo ("~24 id không report" · "điều-kiện-3 chờ anh") |
|
||||
| P2 review | Fable | `PASS_WITH_FIXES` 13 finding (9 MAJOR): số stale-NGƯỢC (ring2 VỠ cap) · 2 routing · 4 SÓT · ≥5 dòng rơi |
|
||||
| P3 lead | Fable | `checklist-final.md` 22C+4W · giải F-3 bằng evidence P1=PA-2 (`_context-s-12:55`) · C-13 commit `6282806c` |
|
||||
| P4 execute | wf `wf_5d16a842-28e` 7-lane Opus MAX | **7/7 lane trả, 0 lỗi** — 16 DONE · 3 PARTIAL-đúng-luật · 1 SKIP-khai-đúng · 1.604K tok / 443 tool-use / 33' |
|
||||
|
||||
## Per-lane (ruột = `sub-opus-lane*.md` cùng folder)
|
||||
|
||||
- **lane1 detector 4/4 DONE:** C-2 L7-bolt 2 site + C-8 liveness carve-out (C13) + C-19 mirror-drift stamp_verify (C14, LOGIC-hash tránh đèn-đỏ-vĩnh-viễn) + C-11 V-5 encoding predicate (C15, rank-1 FFFD ⟂ rank-2 mojibake; đo thật 12 file/25 hit rank-1). +438 dòng ASCII-sạch, TOTAL 49=baseline (phần mới vào sink INFORM 18→20), fault-inject 14/14 cây tạm. Lane tự bắt thước hỏng 1 lần (mảng pattern thiếu ngoặc ⇒ 0-hit vĩnh viễn — đã vá + comment).
|
||||
- **lane2 tien-kiem 0/1 PARTIAL — DỪNG ĐÚNG LỆNH:** soak PHẦN Q vế-2 đòi rider-jump đã soak ≥1 phiên, mà **rider-jump CHƯA TỒN TẠI trên đĩa** (5 phép + control: `OVERDUE:jump` 0-hit / `OVERDUE` 6-hit) ⇒ soak thật = 0 ⇒ KHÔNG cắm mã thoát. Đã flip 2 dòng stale (header tien-kiem "đang chờ owner (P1)" → chốt PA-2 · adap-apply "chưa chốt") + đặc-tả thang C3-04 ánh xạ 4 nhánh (không cắm). 3 finding trả lead: F-L2-1 `engine:587` tiền-đề lạc-quan (đề xuất đổi vế sang điều-kiện-theo-VẬT-CHỨNG) · F-L2-2 **rider-jump = nợ-chưa-có-chủ** (W2 nghiệm thu 4,5/6 nhưng `_context-s-12:58` tuyên "W2 ĐÓNG" — tái diễn Lớp-8 nhãn-đã-đóng-hẹp-hơn-thật) · F-L2-3 (xem sub-file).
|
||||
- **lane3 doc-codify 2/3:** C-3 masthead codify DONE · C-4 suggest-1-dòng codify DONE · **C-17 SKIP-khai ĐÚNG — tiền-đề P2-review SAI**: `vocab-alias-map.md` TỒN TẠI từ 2026-07-01 (8.020 B, 3 entry) và va-chạm "sàn-5" đã xử bằng nhánh RENAME (anh quyết + hub ACK @S139) ⇒ finding F-4 của P2 là dương-giả ("file chưa tồn tại" — grep thiếu).
|
||||
- **lane4 report-hygiene 4/5:** C-14 addendum 08-07 + flip HANDOFF:6 TỪNG CÂU · C-20 nhánh B (wire-de-facto + khai VC chưa duyệt hình thức) · C-16 locate bảng thẩm-quyền = `runs/2026-07-25-S149-adap-backlog/sub-apply-L5-evalcuaeval` · C-21 disposition 7 vế/6 dòng (4 verify-đóng-kèm-lệnh) · C-15 PARTIAL đúng acceptance (carry THU HẸP, không gỡ trắng). Phát hiện: 3/5 item = "đã làm rồi sổ không lật" (chuỗi bi-quan-stale lần 3 trong run).
|
||||
- **lane5 measure 4/4 DONE:** C-5 (Lớp 2·4·9 có số) · C-9 (tier-qua-resume) · C-18 (master-checklist ô1/ô2 + sàn-2) · C-22 (completeness-pass) — 3 addendum land đúng report + 1 bảng vào sub-invest.
|
||||
- **lane6 memory-gate 1/2:** C-10 DONE (2 mồ côi A16) · **C-6 PARTIAL đúng nhánh dự phòng**: máy archive-gate tới PROPOSE nhưng value-scan của chính máy BÁC đề-xuất (fault-inject lật PROPOSE→WARN) ⇒ trình đề-xuất-nén phần-không-di-dời cho lead/anh, CẤM nén tay — `ring2-audit` vẫn 30.781 B.
|
||||
- **lane7 máy-quét 1/1 DONE:** `scripts/loi-hua-may-scan.ps1` dựng thật — 759ms, self-test 11/11, fault-inject 3 ca + control; mẫu-số chấm tay 30 dòng (KHÔNG phải 19 — đo lại hôm nay), 0 `violation-open`.
|
||||
|
||||
## 🔴 Lead tự bắt + tự vá trong lượt chốt
|
||||
|
||||
**C-7 (spawn-label) RƠI khỏi mọi lane** — lỗi chia-lane của P3 (chính lớp F-12 mà P2 phạt invest). Vá ngay @S185: `fable-clone.md` khối KHUÔN LABEL +1 bullet khoản-④ label-vào-run.md (kèm số đo 3/14). ⇒ Coverage cuối: **21/21 item có disposition** (17 DONE gồm C-7+C-13 · 3 PARTIAL-đúng-luật · 1 SKIP-khai-đúng).
|
||||
|
||||
## Tồn đọng sau run (không cái nào là việc-máy-tự-quyết)
|
||||
|
||||
1. **C-1 mã-thoát W3b**: chờ rider-jump được DỰNG (nợ-chưa-có-chủ — F-L2-2) rồi soak ≥1 phiên. 2. **C-6 nén ring2**: cần 1 quyết định (đề-xuất-nén đã trình trong sub-lane6). 3. **4 W CHỜ-ANH** (W-1 day-wake 3-chạm · W-2 ring5(41) · W-3 owner-SỐ 4.3 · W-4 bảng thẩm-quyền — nhà đã locate). 4. **5 SKIP-owner lane1** (severity/fold TOTAL · ngưỡng H24-1 · lật V5 bao-cao-cuoi · mở C13 sang trio-consent · bỏ neo-glyph). 5. Files dirty 25 — vào commit gom @bookend.
|
||||
@ -17,7 +17,7 @@
|
||||
| P1 `/fable-real investigator-codebase` — audit per-id 39 thư + dựng CHECKLIST | Fable single deep-pass | [x] 0/39 NỢ · 21 item (5 CHỜ-ANH) · #53-recover-resume |
|
||||
| P2 `/fable-real reviewer` — review checklist cẩn thận | Fable single deep-pass | [x] PASS_WITH_FIXES 9MAJ/4m · 5 trục R1✓R2✗R3✗R4✓R5✗ |
|
||||
| P3 lead chốt checklist final | lead Fable | [x] checklist-final.md 22C+4W · F-3 giải (P1=PA-2 `_context-s-12:55`) · C-13 commit `6282806c` |
|
||||
| P4 fan-out **Opus 5 MAX** execute các item | Workflow 7 lane (opus+max) | [!] |
|
||||
| P4 fan-out **Opus 5 MAX** execute các item | Workflow 7 lane (opus+max) · label: lane1-detector..lane7-machine | [x] 7/7 lane · 16D+3P+1S · verify-lead 3/3 · +C-7 lead vá rơi |
|
||||
|
||||
## Artifact chờ
|
||||
|
||||
|
||||
@ -154,6 +154,45 @@ Lệnh: `ls -1 AI_INFRA/broadcasts/outbox/all/ | sort` → 105 file tổng.
|
||||
|
||||
---
|
||||
|
||||
# §2.1-bis — COMPLETENESS-PASS (C-22, lane-5 @S185) — bù lỗ hổng phương-pháp grep-marker
|
||||
|
||||
> **Vì sao có mục này:** review P2 finding **F-9** — §2.1 tự khai harvest bằng *"grep debt-marker"*, nên **nợ diễn đạt KHÔNG-marker lọt lưới** (2/2 sample reviewer mở đều dính). C-22 = đọc **section honest-caveat** của mọi report post-watermark **chưa có dòng trong §2.1**.
|
||||
> **Phạm-vi đo:** 39 id post-watermark → §2.1 phủ **25 dòng (a→y)**. Đối chiếu tên file ⇒ **13 report KHÔNG có dòng nào**; trong đó **2 đã được reviewer nhặt** (`chuan-hoa-stamp` → C-19 · `master-checklist` → C-18) ⇒ **11 report cần pass này**. Đã đọc **11/11**.
|
||||
|
||||
## Kết: 6 nợ THẬT chưa có nhà · 2 ghi-chú-khai-đúng · 3 đã có nhà khác
|
||||
|
||||
| # | Report (thư-id) | Nợ khai trong honest-caveat (nguyên ý) | Lớp | Disposition đề-nghị |
|
||||
|---|---|---|---|---|
|
||||
| **N1** | `loi-phong-workflow-chet-non-json-args` (07-16) | *"Honest-residual, KHÔNG làm đợt này: **memory-pack của hmw vẫn inject QUA args**"* — hiện object-thật + parse-guard nên không vi-phạm floor B6, nhưng việc chuyển kênh **để ngỏ** | kiến-trúc, chưa ai nhặt | **W hoặc C mới** (đụng `hmw.js` = máy fan-out) |
|
||||
| **N2** | `checklist-nam-vong-va-kiem-audit-xuyen-session` (07-17) | *"**Acceptance-literal tự-lão-hoá** — '3 closeout gần nhất' là **moving-target**; PASS 3/3 chỉ đúng với set tại thời-điểm đo"* | 🔴 **cùng CLASS Lớp 2** | **verify-đóng-kèm-lệnh** (chạy lại acceptance trên set hôm nay) |
|
||||
| **N3** | `nam-quyet-owner-mot-ngay-lam-viec-ky` (07-17) | (a) *"K1 đóng-băng + K6i do-record … exercise thật ở lần `session-end` kế; **nếu lượt đó không giữ được trình-tự thì phải RCA**"* — **chưa ai chấm**; (b) *"2 detector mới chạy live **1 ngày**; giá-trị bắt-bệnh thật tích qua các phiên tới"* — 23 ngày, chưa đo lại | 🔴 **cùng CLASS Lớp 2** (điều-kiện tự đặt, không ai quay lại) | **verify-đóng-kèm-lệnh** |
|
||||
| **N4** | `model-tier-h23-precedence-tested-update` (07-18) | *"Phép đo của SE là **point-in-time (2026-07-16)** … precedence là hành-vi runtime của harness, có thể đổi theo bản CLI mà không báo — **kết-luận này SẼ MỤC nếu không re-đo**"* | 🔴 **cùng CLASS Lớp 2** — hạn dùng tự khai, **24 ngày** trôi | **C mới (S)**: chạy `scripts/spawn-model-audit.ps1` re-đo |
|
||||
| **N5** | `nudge-pull-dot-9-10` (07-18, to-se) | *"**Chưa có máy nào canh pull-lag** — kéo thư dựa hoàn toàn vào lead nhớ gõ `/check-email`; không detector/dòng-nợ nào nói 'đã N ngày chưa pull'"* | máy-thiếu · **ĐÃ TÁI PHÁT** | **C mới** — cùng họ C-8/C-19 (watcher nhỏ) |
|
||||
| **N6** | `hub-tu-danh-gia-3-goc-va-chuyen-pha` (07-19) | *"**Luật-chung #9 sống trong file spec của một run-folder**, không ở file luật luôn-được-đọc ⇒ đúng lỗ **discoverability-home**"* + *"`content_sha256` đọc frontmatter, KHÔNG re-verify tươi"* | codify-thiếu | **C mới (S)** — cùng họ C-3/C-4 |
|
||||
| G1 | `erratum-eol-metric` (07-16) | 188 file `i/lf w/crlf` (131 EF Migrations) **GIỮ INFORM-only BY-DESIGN**, mass-fix vẫn cấm | ✅ stance có chủ đích | **Ghi-chú-khai-đúng**, KHÔNG phải nợ |
|
||||
| G2 | `session-logic-tach-session-vat-ly` (07-16) | Điểm-mù hub (*"phiên nối lại có bộ-nhớ nhưng không biết mình có"*) — *"việc TƯƠNG-LAI, khi tới lượt build"* | ✅ nợ có điều-kiện | **Ghi-chú** — nối vào direction S140 (`project_session_model_direction`) |
|
||||
| H1 | `notify-hai-ban-moi` (07-16) | *"Không có việc kỹ-thuật phát-sinh từ riêng bản này"* | ✅ 0 nợ | — |
|
||||
| H2 | `dinh-chinh-kep` (07-17) | 2 caveat đều đã ~~gạch~~ **"CẢ HAI ĐÃ ĐÓNG"** | ✅ đã đóng | — |
|
||||
| H3 | `reply-tong-bo-ba-harness-sub-4-khoan` (07-18) | *"Trio chưa spawn lần nào — phải restart CLI + owner consent"* + *"chặn-bằng-thiếu-tool KHÔNG có răng"* | ✅ **đã có nhà**: slot **(73)** RESTART CLI + `[carry:tools-whitelist-no-teeth]` | — |
|
||||
|
||||
## 🔴 Phát hiện META của C-22 — quan trọng hơn 6 dòng nợ
|
||||
|
||||
**3 trong 6 nợ (N2 · N3 · N4) cùng MỘT hình dạng:** report tự viết một **điều-kiện hết hạn** cho kết-luận của chính mình (*"moving-target"* · *"nếu lượt đó không giữ trình-tự thì phải RCA"* · *"sẽ mục nếu không re-đo"*) — **và không ai quay lại đọc.** Cộng với ô1/ô2 của `master-checklist` (C-18, PENDING 23 ngày) và sàn-2 *"nếu không in đúng khuôn phải hạ nấc"* ⇒ **≥5 điều-kiện tự đặt, 0 lượt quay lại.**
|
||||
|
||||
⇒ **Chất-lượng honest-caveat của SE cao; tỷ-lệ THEO-DÕI caveat ≈ 0.** Đây đúng **Lớp 2** của thư 08-05 (*"chốt kiểm-chứng được viết một lần, lúc dựng máy, rồi không ai đọc lại"*) nhưng ở **tầng REPORT** thay vì tầng máy — và nó **giải thích luôn** vì sao §2.1 sót: grep-marker bắt được chữ "TODO/pending/chưa", **không bắt được** câu *"kết-luận này sẽ mục nếu…"*.
|
||||
|
||||
**Đề-nghị 1 dòng cho lượt sau:** mọi caveat mang **điều-kiện hết hạn** phải sinh **1 carry-slug** ngay lúc viết report — nếu không thì nó chỉ là lời hứa với chính mình. (Chạm nghi-thức `/adap-report` ⇒ **vùng owner**, chỉ khai.)
|
||||
|
||||
**Lệnh tái-lập bảng này:**
|
||||
|
||||
# tập 13 report ngoài §2.1 = (ls adap-reports post-watermark) trừ (tên có dòng trong §2.1)
|
||||
cd docs/governance/adap-reports
|
||||
for f in <11 tên trong bảng>; do awk '/honest-caveat|Còn nợ/{flag=1} flag' "$f" | head -12; done
|
||||
|
||||
🔸 **Residual-risk còn lại của chính C-22:** pass này chỉ đọc **section honest-caveat / Còn-nợ**. Nợ nằm rải trong **thân bài** (ngoài 2 section đó) **vẫn chưa quét** — mẫu 11/11 đủ để kết luận về phương-pháp, **không** đủ để tuyên "đã phủ hết nợ của 11 report".
|
||||
|
||||
---
|
||||
|
||||
## §2.1-disposition — ADDENDUM @S185 (lane-4 C-21, đóng F-12 của review)
|
||||
|
||||
> Ghi bởi **lane-4 report-hygiene** (Opus 5), 2026-08-09. **Block MỚI — KHÔNG sửa bảng §2.1/§2.2 bên trên** (bài-5). Đề bài C-21: 5-6 dòng §2.1 rơi khỏi §3 mà không disposition — mỗi dòng phải chốt **1 trong {C-item mới · W · Ghi-chú-khai-đúng · verify-đóng-kèm-lệnh}**. Mọi số kèm lệnh tái-lập, đo tươi hôm nay.
|
||||
|
||||
@ -7,9 +7,14 @@
|
||||
## Trang thai
|
||||
|
||||
- [x] **C-2** neo-marker Lop-7 — DONE (2 site, fault-inject 3 ca + control byte-level)
|
||||
- [ ] C-8 liveness 2 luoi carve-out
|
||||
- [ ] C-19 mirror-drift stamp_verify.py
|
||||
- [ ] C-11 V-5 vi-tu ma-hoa
|
||||
- [x] **C-8** liveness 2 luoi carve-out — DONE (detector `C13`, fault-inject 3 ca CO LAP + control)
|
||||
- [x] **C-19** mirror-drift stamp_verify.py — DONE (detector `C14`, fault-inject 4 ca + boundary + control)
|
||||
- [x] **C-11** V-5 vi-tu ma-hoa — DONE (detector `C15`, 2 nac, fault-inject 4 ca + control + boundary)
|
||||
|
||||
**LANE-1 = 4/4 DONE.** Suite cuoi: `EXIT=0` · **TOTAL FLAGS 49 = baseline 49** · INFORM **18 → 20**
|
||||
(2 dong moi deu la phat hien THAT cua C15, dem RIENG khong fold vao TOTAL) · non-ASCII byte trong
|
||||
`.ps1` = **0** (gotcha #30). Chi cham **1 file code**: `scripts/governance-detectors.ps1` (+438 dong).
|
||||
**KHONG commit** (lead gom cuoi). **KHONG store_memory.**
|
||||
|
||||
## 🔴 VOCAB-COLLISION khai NGAY (doc truoc khi doc phan duoi)
|
||||
|
||||
@ -119,3 +124,308 @@ them `docs/probe-cite.md` = *"see gotcha #86 and gotcha #87 for detail."*
|
||||
- Lop (1) cua thuoc (bo neo-glyph) = SKIP-owner, xem tren.
|
||||
- Dung sai cua bolt site A: gap do bang `S<N>` LON NHAT trong segment. Neu khoi moi nhat that su
|
||||
khong nhac S nao thi roi vao nhanh `CHUA DO DUOC` thu 3 (khong phai `[ok]` gia) — da co nhanh.
|
||||
|
||||
---
|
||||
|
||||
## C-8 — liveness-check MAY cho 2 luoi carve-out ✅ DONE
|
||||
|
||||
### Nguon (doc THU GOC + REPORT truoc khi cham)
|
||||
|
||||
- **Thu goc:** `AI_INFRA/broadcasts/outbox/se/2026-07-17-ai_infra-to-se-reply-adap-wave-carveout-dp2.md:25-36`
|
||||
— hub CONFIRM carve-out o3 o nac `PASS-voi-carve-out`, **CAM nang PASS-tran**; dieu-kien giu nac =
|
||||
**hai luoi con song CUNG LUC**; *"Mot trong hai tat → carve-out mat lop tu-minh-bach → phai
|
||||
danh-gia-lai nac"*.
|
||||
- **REPORT:** `docs/governance/adap-reports/2026-07-17-ai_infra-to-se-reply-adap-wave-carveout-dp2.md`
|
||||
- `§4` cuoi: *"**Skip:** liveness-detector cho carve-out (may tu canh 2 luoi con song) = **follow-up,
|
||||
chua build**. Hien viec canh la **thu-cong theo nghi-thuc**."*
|
||||
- `§5` honest-caveat: *"🔴 Carve-out dang duoc canh bang NGUOI, khong bang MAY … khong co detector
|
||||
nao canh chinh dieu-kien do. Neu mot luoi chet lang, nac se TIEP TUC duoc khai ma khong ai biet —
|
||||
dung class `cam-bang-tri-nho`."* ⇒ **C-8 chinh la cai follow-up nay.**
|
||||
- **Nha CANONICAL cua dieu-kien (dich danh, khong noi chung chung):** `docs/governance/error-ledger.md:48-66`
|
||||
khoi *"🪤 Carve-out o3 — dieu-kien SONG"*, `:52-54`:
|
||||
- **(a)** `scripts/nhip-no-probe.ps1` — dong-no read-only van IN o **MOI** diem dung
|
||||
- **(b)** section `H25-closeout-ritual (GAP-2)` trong `scripts/governance-detectors.ps1` — van duoc **NOI**
|
||||
|
||||
### Lam gi
|
||||
|
||||
Detector moi **`C13 - carve-out liveness (INFORM-only)`** dat truoc `Summary`
|
||||
(`scripts/governance-detectors.ps1`). Gate: chi chay khi `error-ledger.md` ton tai (khong co so thi
|
||||
khong ai dang khai nac ⇒ khong canh gi).
|
||||
|
||||
**Luoi (a) do 2 phan** — vi mot guard chet duoc theo 2 duong doc lap:
|
||||
- **(a1) CO PHAT KHONG** — **CHAY** probe (`-RepoRoot $RepoRoot`), doi output khop `(?m)^NHIP-NO:`.
|
||||
Ton-tai KHONG phai liveness: probe `exit 0 ALWAYS` va suy-bien thanh `probe-loi (khong chan)` khi
|
||||
co exception ⇒ **kieu chet cua no dung la "trong con song ma cam"**. Chi CHAY moi tach duoc 2 trang thai.
|
||||
Gia do TRUOC khi cam: **512 ms** (`Stopwatch` quanh 1 lan goi) — chap nhan vi day la **suite audit,
|
||||
KHONG phai diem dung**; predicate "re du" C7 rang buoc `/pause`·`/tiep`, khong rang buoc detector.
|
||||
- **(a2) CO AI GOI KHONG** — `use ⟂ mention`. Day la **su that da do**, khong phai ly thuyet: lan dem
|
||||
truoc ke *"6 cua goi"* co ca `check-email.md`, nhung dia noi 2 hit deu la **NHAC TEN trong van xuoi,
|
||||
0 loi goi** ⇒ tap dung = **5**. Vi-tu vi vay doi `-File\s+\S*nhip-no-probe\.ps1` tren dong.
|
||||
*(Bai hoc "guard dung ma khong ai goi = chet cam" — may dung + fault-inject co rang van vo nghia
|
||||
neu 0 cua goi.)*
|
||||
|
||||
**Luoi (b) do bang "co CHAM duoc gi khong"**, khong phai "code co con do khong":
|
||||
`$script:H25Scored` dem so close-group section H25 **thuc su cham** (tang ngay sau nhanh skip).
|
||||
`0` ⇒ section chay nhung do **KHONG CAI GI** (nhanh `[skip]`) = chet lang. So do chinh luoi (b) sinh ra,
|
||||
KHONG suy lai o cho khac (suy lai = de ra dinh nghia thu hai).
|
||||
|
||||
**Severity = INFORM** (`Write-InformFlag`): dong in ra co **y het khuon `[DETECTOR] LOW | …`** cua
|
||||
`Write-Flag` (comment `:65-73` cua script noi ro the) nen fault-inject grep duoc y het mot flag —
|
||||
"⇒ FLAG" cua acceptance thoa o muc quan sat duoc. **Khong fold vao TOTAL / khong nang severity** vi
|
||||
hop dong sink dau file ghi ro do la quyet dinh **post-triage, owner-gated**, khong phai quyen cua nguoi
|
||||
viet luoi. ⇒ khai SKIP-owner cho viec nang nac.
|
||||
|
||||
### Evidence (lenh + ket qua)
|
||||
|
||||
**(a) Cay THAT sau edit:** `EXIT=0` · **TOTAL 49 = baseline 49** · **INFORM 18 = baseline 18** ⇒ hanh-vi cu nguyen ven.
|
||||
```
|
||||
===== C13 - carve-out liveness (INFORM-only) =====
|
||||
[ok] grid (a) ALIVE: nhip-no-probe emits NHIP-NO: and is CALLED from 5 stop point(s)
|
||||
- pause.md:113, session-end.md:124, session-start.md:273, snapshot.md:69, tiep.md:154
|
||||
[ok] grid (b) ALIVE: H25-closeout-ritual scored 3 close-group(s) this run
|
||||
C13 carve-out-liveness flags = 0
|
||||
```
|
||||
🔸 **5 cua goi** — khop **doc lap** voi con so tren dia (`grep -rn "nhip-no-probe" .claude/commands/*.md`
|
||||
ra 14 hit, chi 5 hit co `-File`), va khop bai hoc S180 (*tap dung = 5, `check-email` la NHAC TEN*).
|
||||
Wall-clock suite: **8.6 s** (baseline ~8.1 s) — +0,5 s dung bang gia probe da do.
|
||||
|
||||
**(b) Fault-inject CO LAP 4 ca — cay tam, KHONG cham repo that** (`fi-c8.ps1`; cay tam co `git init`
|
||||
+ 2 commit closeout de luoi (b) cham duoc that):
|
||||
|
||||
| ca | cay tam | ket qua |
|
||||
|---|---|---|
|
||||
| CONTROL | probe + 1 cua goi that + 2 commit closeout | `[ok]` **ca 2 luoi** · `flags = 0` (**IM**) |
|
||||
| FAULT-a1 | **xoa** `nhip-no-probe.ps1` | `grid (a) DEAD - … is GONE from disk` · luoi (b) VAN `[ok]` · `flags = 1` |
|
||||
| FAULT-a2 | probe CO + phat that, nhung `pause.md` chi **NHAC TEN** (0 `-File`) | `grid (a) DEAD-BY-DISCONNECT` · luoi (b) VAN `[ok]` · `flags = 1` |
|
||||
| FAULT-b | khong `git init` ⇒ H25 vao nhanh skip | `grid (b) DEAD - … scored 0 close-group` · luoi (a) VAN `[ok]` · `flags = 1` |
|
||||
|
||||
`VERDICT: CONTROL both-ok=True · FAULT-a1=True · FAULT-a2=True · FAULT-b=True` (4/4)
|
||||
⇒ **tat 1 nguon ⇒ FLAG DUNG nguon do** (khong keu bua), **ca 2 song ⇒ IM** — dung acceptance.
|
||||
|
||||
### Verdict C-8: **DONE**
|
||||
|
||||
### Residual khai thang
|
||||
|
||||
- **Luoi cung-CLASS chua canh: trio-consent S141** (`error-ledger:66` — cung chiu CHUNG luat: luoi =
|
||||
(a) proposal-line in CA khi Light-session + (b) vet-skip `.claude/WAL.md` dang `trio: skipped S<nn>`).
|
||||
C-8 chi giao 2 luoi cua o3 ⇒ **KHONG mo rong** trong luot nay; khai de lead quyet (ung vien C-item moi).
|
||||
- Vi-tu (a2) chi quet `.claude/commands/*.md`. Neu mai kia cua goi nam o hook/script khac thi vi-tu
|
||||
se bao DISCONNECT sai. Chap nhan: nha cua "diem dung" hien nay **la** `.claude/commands/` (5/5 cua
|
||||
that deu o do); mo rong pham-vi = doi dinh nghia "diem dung" = vung owner.
|
||||
|
||||
---
|
||||
|
||||
## C-19 (F-7) — watcher mirror-drift `stamp_verify.py` ✅ DONE
|
||||
|
||||
### Nguon
|
||||
|
||||
- **Thu goc:** `AI_INFRA/broadcasts/outbox/all/2026-07-17-Governance-chuan-hoa-stamp-decode.md`
|
||||
(canon §N: `strip \r → split at 2nd '---' → strip ONE leading newline → sha256 utf-8`; `:55` ca ranh-gioi
|
||||
"dong trong"; `:89` doi-chung doc lap 5/5).
|
||||
- **REPORT — chinh la cho khai NO:** `docs/governance/adap-reports/2026-07-17-Governance-chuan-hoa-stamp-decode.md`
|
||||
- `:14` — *"Port script … `scripts/stamp_verify.py` **55 dong**, mirror **verbatim** tu `AI_INFRA/scripts/stamp_verify.py`, co header-note …"*
|
||||
- `:28` honest-caveat — *"`stamp_verify.py` la ban mirror, khong phai nguon: hub doi §N canon ma SE quen
|
||||
re-pull thi 2 ben lech **im lang** — hien **khong co may nao canh drift** giua 2 ban, chi co header-note nhac nguoi."*
|
||||
- Header-note tu khai trong chinh file (`scripts/stamp_verify.py:6`):
|
||||
`# mirror-of AI_INFRA/scripts/stamp_verify.py (ported S141 2026-07-20) - re-pull khi hub doi §N canon. KHONG sua logic local.`
|
||||
|
||||
### Lam gi
|
||||
|
||||
Detector moi **`C14 - stamp_verify mirror-drift (INFORM-only)`** (dat trong CUNG file
|
||||
`governance-detectors.ps1`, khong tach file rieng — cung ho voi `C9 - hmw WIDTH mirror-drift` da co,
|
||||
tai dung khuon san thay vi de ra khuon thu hai).
|
||||
|
||||
**🔴 Do do gi — va vi sao KHONG do raw-hash tho** (day la cho de sai nhat cua item nay):
|
||||
do hom nay 2 file lech **dung 1 dong** = chinh cai note mirror-of (`diff` = 1 dong them;
|
||||
**2378 B** local vs **2247 B** hub). ⇒ watcher raw-hash se **INFORM MOI LAN CHAY, mai mai**. Mot den
|
||||
do vinh vien bi doc thanh nhieu trong 1 tuan = **luoi chet theo huong nguoc lai** (dung class C-8 vua va).
|
||||
Nen verdict lay tren **logic-hash**:
|
||||
- loai dong `^\s*#.*mirror-of` (chinh file **tu khai** rang chi note duoc phep khac — *"KHONG sua logic local"*),
|
||||
- chuan hoa `CRLF→LF` (setting EOL cua checkout **khong phai** doi canon — neu khong se de ra duong-gia),
|
||||
- **VAN in ca raw-sha 2 ben** ⇒ khong co gi bi giau sau phep chuan hoa.
|
||||
|
||||
**Hub path DERIVE, KHONG hardcode:** `repo-root → len 2 bac → AI_INFRA`. Path tuyet doi co tien to
|
||||
may-cu-the se **suy bien im lang** sang nhanh else tren may khac, ma suy-bien-im-lang doc y het "sach"
|
||||
— dung bai hoc S122 W5 file nay **da tra gia mot lan**. Hub khong voi toi ⇒ in **`CHUA DO DUOC`**,
|
||||
KHONG `[ok]`, KHONG im.
|
||||
|
||||
### Evidence
|
||||
|
||||
**Cay THAT:** `EXIT=0` · **TOTAL 49** · **INFORM 18** (= baseline, khong doi).
|
||||
```
|
||||
[ok] stamp mirror in sync: logic-sha 027114ef3e83 on both sides
|
||||
(raw differs only by the declared mirror-of note: local ee1854fb / hub 027114ef)
|
||||
```
|
||||
🔸 doi chung tu no: `raw-sha hub = 027114ef` **trung** `logic-sha 027114ef…` — dung, vi ban hub khong
|
||||
co dong mirror-of nen raw ≡ logic. Thuoc do tu kiem duoc.
|
||||
|
||||
**Fault-inject — cay tam MO PHONG DUNG HINH THU MUC THAT**
|
||||
(`<tmp>\CONG_VIEC\SOLUTION\SOLUTION_ERP` + `<tmp>\CONG_VIEC\AI_INFRA`) ⇒ chay nay **con chung ca
|
||||
phep DERIVE hub-path**, khong chi chung phep so. Harness `fi-c19.ps1`:
|
||||
|
||||
| ca | inject | ket qua |
|
||||
|---|---|---|
|
||||
| CONTROL | khong sua | `[ok] in sync` · `flags = 0` |
|
||||
| **FAULT-1byte** | `sha256(`→`sha257(` — **1 byte**, size `2378 → 2378 (delta 0)** in ra truoc khi chay | `stamp mirror DRIFT: local logic-sha b2c75ab74c91 != hub 027114ef3e83 (local 56 lines / hub 55)` · `flags = 1` |
|
||||
| **BOUNDARY** note-only | sua **rieng** dong `# mirror-of …` | **VAN `[ok]`** · `flags = 0` ⇒ chuan hoa **hep dung cho**, khong phai "bo qua moi comment" |
|
||||
| HUB-ABSENT | xoa ban hub | `CHUA DO DUOC: hub copy not reachable …` + `MEASURED NOTHING … khong phai green`; **0 dong `[ok]`** |
|
||||
| LOCAL-ABSENT | xoa ban local | `stamp mirror MISSING locally` · `flags = 1` |
|
||||
|
||||
`VERDICT: CONTROL=True · FAULT-1byte=True · BOUNDARY=True · HUB-ABSENT=True · LOCAL-ABSENT=True` (5/5)
|
||||
⇒ acceptance *"sua 1 byte ban local trong cay tam ⇒ FLAG"* **DAT**, kem 1 boundary + 1 positive-control
|
||||
+ 2 nhanh vang-mat.
|
||||
|
||||
### Verdict C-19: **DONE**
|
||||
|
||||
### Residual khai thang
|
||||
|
||||
- Watcher chi so **1 cap file**. Con vat mirror khac giua 2 kho (neu co) **chua duoc soi** — khong mo
|
||||
rong vi chua co danh sach mirror canonical; de xuat lead: neu muon, dung 1 bang khai mirror-set roi
|
||||
cho C14 doc bang do (tranh hardcode danh sach thu 2).
|
||||
- INFORM khong chan — dung nhu checklist yeu cau (*"INFORM 1 dong (khong chan)"*).
|
||||
|
||||
---
|
||||
|
||||
## C-11 — cam V-5 vi-tu ma-hoa thanh phep dem MAY ✅ DONE
|
||||
|
||||
### Nguon + dinh nghia V-5 (phai truy 3 nha moi ra — ghi lai de lan sau khoi truy)
|
||||
|
||||
- **Nha DUY NHAT con song cua mon no:** `docs/governance/adap-reports/upgrade-pack-phased-bao-cao-cuoi.md:79`
|
||||
muc 9 *"No co moc"* — `V-5 vi-tu ma-hoa **chua cam**`. Day la artifact **DA DONG + DA GUI hub**,
|
||||
khong phai hang doi ⇒ dung ly do no roi 3 lan.
|
||||
- **Dinh nghia (spec da co san, chi thieu cho cam):** `.claude/sessions/session-12/_mind-s-12.md:114`
|
||||
— *"lead da viet spec 1 dong grep + **phan biet 2 nac** (`U+FFFD>0` = **mat du lieu** ⟂ **moji-only
|
||||
= sua duoc**); chi cho cho cam."*
|
||||
- **Vi sao can:** `.claude/sessions/session-12/_context-s-12.md:65` — *"V-5 vi-tu ma-hoa chua cam
|
||||
(**may W2 mu nac encoding** — ca `sub-w3` chung)"*. May W2 = `artifact-integrity.ps1`, co **4 vi-tu**
|
||||
(vang · rong · cut · nen qua tay), **khong co** vi-tu ma-hoa.
|
||||
- 07-19 `harness-dong-du-vong` M8: *"V5-counter DEFER (dong V5 **nguoi dien**)"* ⇒ deliverable = bien
|
||||
dong nguoi-dien thanh **phep dem may**.
|
||||
|
||||
### Lam gi
|
||||
|
||||
Detector moi **`C15 - V-5 encoding predicate (INFORM-only)`**, 2 nac tach BACH (2 hanh dong khac nhau):
|
||||
- **rank-1 DATA LOSS** — co `U+FFFD` THAT (byte `EF BF BD`). Byte goc **da mat**, re-decode KHONG cuu
|
||||
duoc, chi ban goc cuu duoc. Do tren **BYTE** ⇒ doc-lap voi decode.
|
||||
- **rank-2 MOJIBAKE-ONLY** — khong co U+FFFD nhung co chu-ky double-encoding ⇒ **khong mat gi**,
|
||||
re-decode dung la lanh.
|
||||
- **rank-1 THANG** khi 1 file dinh ca 2 (`continue` sau khi ghi rank-1) — "mat" la su that hanh-dong-duoc.
|
||||
|
||||
**`use ⟂ mention` cuong che o tang BYTE** — khong phai chi tiet: baseline cu tung dem mot file viet
|
||||
token ASCII `<FFFD>` **7 lan** thanh 7 ky tu hong, ky sau doc "sut" roi **di truy mot file phantom**.
|
||||
Khop raw `EF BF BD` **khong the** mac loi do (chung bang ca BOUNDARY duoi).
|
||||
|
||||
**CORPUS = `$GovMd` + `.claude/workflows/runs/**/*.md`.** Runs/ bi loai khoi `$GovMd` boi luat C4
|
||||
self-line, nhung luat do noi ve **mau NOI DUNG** con vi-tu nay doc **BYTE** ⇒ loai ra khong duoc gi
|
||||
ma mat tat ca: **7/12 file hong nam DUNG o do**. (Da co tien le auditor bao 0-hit gia vi khong quet `runs/`.)
|
||||
|
||||
### 🔴 Bay THUOC toi tu dinh — ghi lai vi day la phat hien dat nhat cua item
|
||||
|
||||
Phep do **DAU TIEN** cua toi bao `mojibake: 0 files / 0 hits`. Phep do **thu hai** (detector) bao
|
||||
**13 files / 361 hits**. Hai so cua CHINH TOI da nhau ⇒ dung mot cai la thuoc hong, phai tim ra cai nao.
|
||||
|
||||
Truy: mang pattern trong probe viet **thieu ngoac boc tung phan tu**
|
||||
```powershell
|
||||
$MOJI = @( (U @(0x00C3)) + '[' + ... + ']', (U @(0x00E2,0x20AC)), (U @(0x00C4,0x0091)) )
|
||||
```
|
||||
`+` chay **XUYEN QUA dau phay** ⇒ ca mang **gop thanh 1 chuoi**, `Count = 1`, pattern thanh
|
||||
`Ã[ -¿] †Ä'` (doi ca 3 xuat hien lien tiep cach nhau dau cach) ⇒ **0 match vinh vien**.
|
||||
Do bang `$MOJI.Count` + in code-point tung phan tu: probe = **1** · detector = **3** ⇒ **PROBE la
|
||||
cai hong, detector dung**. Doi chung doc lap tren file nang nhat (`sub-w3-nghi-thuc.md`):
|
||||
`321 + 25 + 0 = 346` khop dung `x346` detector in ra.
|
||||
⇒ **"0 hit" dau tien cua toi la SACH-GIA** — dung Lop-1 cua chinh thu 08-05 (*"0 doc y het nhau o hai
|
||||
trang thai doi lap: khong co loi ⟂ khong co kha nang thay loi"*). Da cam ngoac boc + comment canh bao
|
||||
tai cho trong script de nguoi sau khong lap lai.
|
||||
|
||||
### Evidence
|
||||
|
||||
**(a) Do 2 THUOC doc lap, KHOP:** (`time-v5.ps1`)
|
||||
```
|
||||
FAST (Latin-1 view + .NET regex) : 1468 files in 420 ms -> rank1 12f/25h rank2 13f/361h
|
||||
SLOW (vong lap tung byte PS 5.1) : 1468 files in 24244 ms -> rank1 12f/25h
|
||||
AGREE rank-1 (2 independent instruments): True
|
||||
```
|
||||
⇒ so rank-1 **12 file / 25 hit** duoc 2 thuoc khac nhau xac nhan. Doi sang duong FAST cung cat
|
||||
**~24 s** khoi suite (do that: suite 26,7 s → **10,2 / 10,4 s** 2 lan lien tiep; baseline ~8,1 s).
|
||||
*(1 lan do le 47,9 s la outlier cache lanh — khai thang, khong lay lam so.)*
|
||||
|
||||
**(b) Ket qua tren cay THAT:**
|
||||
```
|
||||
V-5 measured over 1466 .md (docs + .claude + workflows/runs)
|
||||
rank-1 data-loss : 12 file(s) / 25 hit(s)
|
||||
rank-2 mojibake-only : 13 file(s) / 361 hit(s) <- 346/361 nam trong 1 file: sub-w3-nghi-thuc.md
|
||||
```
|
||||
🔸 File nang nhat **`runs/2026-08-07-S180-adap-upgrade-pack-phased/sub-w3-nghi-thuc.md` x346** — dung
|
||||
**ca `sub-w3`** ma `_context-s-12:65` neu ten lam bang chung "may W2 mu nac encoding". Vi-tu vua cam
|
||||
**bat lai dung ca da chung minh no can ton tai**.
|
||||
|
||||
**(c) Fault-inject + positive-control (F-13 doi) — cay tam, 5 ca** (`fi-c11.ps1`; moi specimen **dung tu
|
||||
code-point trong harness**, harness khong mang mau vat that):
|
||||
|
||||
| ca | dung gi | ket qua |
|
||||
|---|---|---|
|
||||
| **CONTROL-clean** | tieng Viet co dau THAT (`Tiếng Việt`, em-dash, smart-quote) | `0/0` + `[ok] no encoding damage` ⇒ **khong duong-gia tren dau tieng Viet** |
|
||||
| FAULT rank-1 | 4 byte-triple `EF BF BD` | `rank-1: 1 file / 4 hit` + INFORM DATA LOSS |
|
||||
| FAULT rank-2 | UTF-8 tieng Viet **decode lai bang CP1252** roi luu UTF-8 | `rank-2: 1 file / 4 hit`, **rank-1 = 0** (khong xep nham nac) |
|
||||
| **BOUNDARY** use⟂mention | token ASCII `U+FFFD` va `<FFFD>` **x7** | `0/0` + `[ok]` ⇒ **noi ve no ≠ dinh no**; dung bay phantom-file cu |
|
||||
| DOMINANCE | 1 file mang **CA HAI** | `rank-1: 1f/1h · rank-2: 0f` ⇒ khong dem doi |
|
||||
|
||||
`VERDICT: CONTROL=True · rank-1=True · rank-2=True · BOUNDARY=True · DOMINANCE=True` (5/5)
|
||||
|
||||
### Verdict C-11: **DONE**
|
||||
|
||||
### Residual khai thang
|
||||
|
||||
- **Recall co chu dinh la MOT PHAN.** 3 chu-ky moji chon **do chinh xac hon do phu** (`Ã`+latin1 ·
|
||||
`â€` · `Ä'`). Cac dang double-encode khac chua bat. Day la **luoi ha-thap**, khong phai chung nhan sach.
|
||||
- **Nha cua V-5 dang o `governance-detectors.ps1`, KHONG phai `artifact-integrity.ps1`** (may W2 that su
|
||||
mu). Ly do: lane-rule cam 2 agent cham cung file, va checklist chi dinh file nay. ⇒ **de xuat lead**:
|
||||
neu muon V-5 song trong nghi-thuc diem-danh vat chung thi port sang `artifact-integrity.ps1` (goi
|
||||
chung ham, dung viet phep so thu hai — viet phep so thu 2 = de ra dinh nghia thu 2).
|
||||
- **Chua lat dong V5 o `bao-cao-cuoi.md:79`** tu "chua cam" → "da cam": file do la **artifact DA GUI hub**;
|
||||
sua no = vung khai-bao doi ngoai ⇒ **DUNG + khai** (lead/lane report quyet). Con so may da san de dien.
|
||||
- 25 hit rank-1 + 361 hit rank-2 **chua sua** — C-11 giao *dung vi-tu*, khong giao *don kho*. Danh sach
|
||||
day du in ra moi lan chay.
|
||||
|
||||
---
|
||||
|
||||
## Tong ket LANE-1
|
||||
|
||||
| item | detector trong script | fault-inject | control | verdict |
|
||||
|---|---|---|---|---|
|
||||
| C-2 | `L7-bolt` x2 site (trong `C1 gotcha-ref` + `H24-2 carry-age`) | 3 ca (A/B/A2) | byte-level `diff` vs baseline: **dung 2 dong them** | **DONE** |
|
||||
| C-8 | `C13 - carve-out liveness` | 3 ca **CO LAP** | 1 (im) | **DONE** |
|
||||
| C-19 | `C14 - stamp_verify mirror-drift` | 4 ca (co 1 boundary) | 1 (im) | **DONE** |
|
||||
| C-11 | `C15 - V-5 encoding predicate` | 4 ca (co 1 boundary) | 1 (clean VN) | **DONE** |
|
||||
|
||||
**Lenh tai-lap tat ca:**
|
||||
```
|
||||
powershell.exe -ExecutionPolicy Bypass -File scripts/governance-detectors.ps1 # suite
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/fi-c2.ps1 # C-2
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/fi-c2b.ps1 # C-2 anti-Goodhart
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/fi-c8.ps1 # C-8
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/fi-c19.ps1 # C-19
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/fi-c11.ps1 # C-11
|
||||
powershell.exe -ExecutionPolicy Bypass -File <scratchpad>/time-v5.ps1 # 2-thuoc + timing
|
||||
```
|
||||
(scratchpad = `C:\Users\pqhuy\AppData\Local\Temp\claude\D--Dropbox-CONG-VIEC-SOLUTION-SOLUTION-ERP\c0a6705e-7526-497a-a85a-5fa6b8a9a083\scratchpad`)
|
||||
**Re-chay 3 harness SAU khi vá ASCII ⇒ 14/14 van True** (regression sach).
|
||||
|
||||
### SKIP-owner da khai (khong tu quyet)
|
||||
|
||||
1. **Lop (1) cua thuoc Lop-7** (bo neo-glyph, neo vao cau truc) — doi khuon heading `gotchas.md` /
|
||||
khuon `**NEXT` = **quy uoc tai lieu** ⇒ chi cam lop (2) chot song-chet.
|
||||
2. **Nang severity / fold vao TOTAL** cho C13·C14·C15 — hop dong sink dau script ghi ro la quyet dinh
|
||||
**post-triage, owner-gated**. Giu INFORM.
|
||||
3. **Nguong so-ngay cho `H24-1 title-freshness`** (site cung-lop chua va) — dat nguong = **so cua owner**.
|
||||
4. **Lat dong V5 trong `bao-cao-cuoi.md:79`** — artifact da gui hub.
|
||||
5. **Mo rong C13 sang luoi trio-consent S141** (`error-ledger:66`, cung CLASS) — ngoai pham vi C-8.
|
||||
|
||||
### Khong lam (theo ranh lenh)
|
||||
|
||||
- KHONG commit / push · KHONG `store_memory` · KHONG cham file cua lane khac
|
||||
(`git status`: file code duy nhat toi sua = `scripts/governance-detectors.ps1`; cac file `M` khac
|
||||
la cua lane 3/4/5/6/7 chay song song).
|
||||
- KHONG inject vao repo that: **moi** fault-inject chay tren cay tam duoi `%TEMP%`, dung `-RepoRoot`.
|
||||
- Khong co file lenh `.md` / persona nao bi sua ⇒ **khong co khoan "an tu phien sau restart"** cho lane nay
|
||||
(script `.ps1` chay truc tiep, hieu-luc NGAY).
|
||||
|
||||
@ -182,6 +182,100 @@ grep -rn -iE "suggest.{0,12}(1|một).{0,4}dòng|1.dòng.{0,4}non-blocking|non-b
|
||||
|
||||
---
|
||||
|
||||
## 4. Kết quả land + acceptance đo SAU (điền khi xong)
|
||||
## 4. Kết quả land + acceptance đo SAU
|
||||
|
||||
(đang chạy…)
|
||||
### 4.1 Ba file đã sửa (0 file của lane khác)
|
||||
|
||||
| File | numstat | Bản chất |
|
||||
|---|---|---|
|
||||
| `docs/governance/naming-standard.md` | **+24 / −0** (add-only) · byte 31.822 → 35.067 (**+3.245**) | §12-bis MỚI + 1 dòng masthead "Bổ sung SAU ngày ký" |
|
||||
| `docs/governance/ctx-soft-memory-se-draft.md` | +2 / −2 · byte 11.223 → 11.621 (**+398**) | dòng `#` đầu flush `DRAFT` → trạng-thái thật; dòng 🧊 nối thêm lineage masthead |
|
||||
| `CLAUDE.md` | +6 / −0 (add-only) · **khối của tôi = 1.153 B** | blockquote 🗣️ suggest-1-dòng |
|
||||
|
||||
🔴 **Ghi trung thực về `CLAUDE.md`:** tổng delta file = +1.668 B nhưng **KHÔNG phải của tôi cả**. Một lane khác land dòng `:22` (YC-018 nghi-thức 2 đầu ONE-SHOT, 515 B) trong cùng cửa sổ thời gian. **Không clobber** — kiểm 2 chiều: `grep -c "YC-018"` = 1 **và** `grep -c "Lead suggest 1 dòng"` = 1 ⇒ cả hai edit cùng sống. *(Bài học ghi lại: `CLAUDE.md` KHÔNG độc quyền lane-3 như tôi giả định lúc chọn nhà — lần sau đọc lại file ngay trước khi Edit, đừng dựa vào bảng phân lane.)*
|
||||
|
||||
### 4.2 Acceptance
|
||||
|
||||
**C-3** — checklist đòi *"grep masthead-rule ra ≥1 hit ngoài adap-reports"*:
|
||||
```bash
|
||||
grep -rli "masthead" --include="*.md" . | grep -v "workflows/runs/" | grep -v "^./broadcasts/" | grep -v "adap-reports"
|
||||
```
|
||||
| | Kết quả |
|
||||
|---|---|
|
||||
| TRƯỚC | **0** |
|
||||
| SAU | **2** → `docs/governance/naming-standard.md` (luật) + `docs/governance/ctx-soft-memory-se-draft.md` (ca đã áp) |
|
||||
✅ **ĐẠT** (≥1). Đo thêm chống-mù-1-token: `grep -c "§12-bis"` → naming-standard **2** · ctx-draft **1**.
|
||||
|
||||
**Bất-biến heading** (chống sửa lén heading cũ):
|
||||
```bash
|
||||
diff <(git show HEAD:docs/governance/naming-standard.md | grep "^#") <(grep "^#" docs/governance/naming-standard.md)
|
||||
# → 19a20 > ## §12-bis … (CHỈ thêm 1; 25 → 26 heading; 0 heading cũ mất/đổi tên)
|
||||
```
|
||||
|
||||
**Content-preserving** cho file duy nhất có dòng `−` (`ctx-…-draft.md`): 5/5 mảnh nguyên-văn của dòng 🧊 cũ còn đủ 1 hit mỗi mảnh (`Header cũ "DRAFT chờ anh chốt — CẤM wire" đứng từ S153→S164` · `wired-but-declared-unwired` · `ring1+ring2 bắt @S163 "ô xanh thủng"` · `Thân doc dưới GIỮ NGUYÊN dạng draft làm lineage` · `không phải trạng-thái`). Byte chỉ **phình**, không hụt.
|
||||
|
||||
**C-4** — checklist đòi *"grep pattern ra hit tại nhà mới"*:
|
||||
```bash
|
||||
grep -rn -iE "suggest.{0,12}(1|một).{0,4}dòng|1.dòng.{0,4}non-blocking|non-blocking.{0,20}(suggest|rồi chạy)" \
|
||||
--include="*.md" docs .claude CLAUDE.md | grep -v "workflows/runs/"
|
||||
```
|
||||
| | Kết quả |
|
||||
|---|---|
|
||||
| TRƯỚC | 2 hit — **cả 2 trong chính adap-report** (mention) |
|
||||
| SAU | 3 hit — 2 cũ + **`CLAUDE.md:31`** (nhà mới) |
|
||||
✅ **ĐẠT**.
|
||||
|
||||
**Encoding:** `git diff | grep -c "<ký-tự-thay-thế>"` trên 3 file = **0** ⇒ không mojibake (repo này có tiền sử).
|
||||
|
||||
### 4.3 Fault-inject 2 chiều cho C-3 — chứng phép thử CÓ RĂNG (cây tạm, repo THẬT không đụng)
|
||||
|
||||
Cây tạm: `…/scratchpad/lane3-faultinject/` (2 bản sao của `ctx-…-draft.md`; 1 bản bị gài lại masthead `DRAFT`, thân giữ nguyên `RATIFIED`).
|
||||
|
||||
| Mẫu | Dòng `#` đầu đọc được | Phán |
|
||||
|---|---|---|
|
||||
| `ctx-INJECTED.md` (gài lỗi) | `… SE-form DRAFT …` | 🔴 **LỆCH** (masthead=DRAFT ⟂ thân=`RATIFIED + ĐÃ WIRE @S153`) — **phép thử BẮT** |
|
||||
| `ctx-CLEAN.md` (**positive-control** = bản repo sau khi vá) | `… SE-form ✅ RATIFIED + ĐÃ WIRE @S153 …` | ⚪ **khớp** — **im đúng lúc phải im** |
|
||||
|
||||
⇒ Phép thử đọc **đúng thứ nó tuyên đọc** (dòng `#` đầu), và **phân biệt được** 2 chiều — không phải happy-path. 🔴 **0 byte ghi vào repo thật** trong bước này (`rm -rf` + `cp` chỉ trong `%TEMP%`).
|
||||
|
||||
### 4.4 Tự-áp §12-bis lên chính 3 file vừa sửa (dogfood luật mới ngay lượt ký)
|
||||
|
||||
| File vừa sửa | Dòng `#` đầu | Phán |
|
||||
|---|---|---|
|
||||
| `naming-standard.md` | `# Chuẩn đặt tên — tầng BỘ MÁY (SOLUTION_ERP)` — masthead mang **`Ngày ký: 2026-08-07 (phiên S180, wave W1)`** | 🔶 thân nay có nội-dung S185 ⇒ **đã xử**: thêm 1 dòng `**Bổ sung SAU ngày ký:** §12-bis … 2026-08-09 / S185`. Giữ nguyên "Ngày ký" gốc (đó là mốc ký thật, không phải trạng-thái trôi) |
|
||||
| `ctx-soft-memory-se-draft.md` | đã flush | ⚪ khớp |
|
||||
| `CLAUDE.md` | `# CLAUDE.md — AI Agent Context` — thuần mô-tả, 0 trạng-thái | ⚪ miễn (khai theo L4) |
|
||||
|
||||
### 4.5 Bàn giao lead / lane khác (KHÔNG tự làm — ngoài item hoặc file lane khác)
|
||||
|
||||
1. **→ LANE-5 (C-18)**: khi viết addendum `adap-reports/2026-07-17-…-master-checklist-….md`, flip luôn dòng vocab-nit *"(L3, LOW, chờ owner) … rename hay alias-map"* → **đã quyết + đã thi hành @S139** (4 evidence ở §1.1). Tôi **không** chạm file đó vì nó là đích của C-18.
|
||||
2. **→ lead**: `checklist-final.md:24` mang tiền-đề sai (`vocab-alias-map.md` "CHƯA tồn tại") — thật là tồn tại từ 2026-07-01, tracked, 3 entry. Nguồn sai truy được: review F-4 dùng `git grep` (soi **nội dung**) để kết luận về **sự tồn tại của tên tệp**.
|
||||
3. **→ LANE-4 (C-20/F-11)**: `session-model-se-draft.md` dòng `#` đầu ghi `DRAFT v0.1 — HẠ-TẦNG đã wire, NGHI-THỨC chưa chuyển` và **khớp** thân (`0 nghi-thức chuyển per-L` @S146). Nếu C-20 kết luận wire ĐÃ xảy ra thì **phải sửa cả 2** (thân + dòng `#` đầu) — đúng §12-bis vừa ký. Tôi không đụng vì đó là câu của C-20.
|
||||
4. **→ lead (thấy khi đi ngang, KHÔNG sửa)**: `naming-standard.md` §12 bảng "3 chỗ" neo `detectors:1102` / `:1771` — LANE-5 đã đo là **toạ-độ hết hạn** (nay `:1109`/`:1778`). Cùng file tôi vừa sửa nhưng **khác dòng, khác item** ⇒ để nguyên cho chủ của nó, tránh giẫm báo cáo LANE-5.
|
||||
5. **→ lead (nợ đã ĐÓNG, ghi để khỏi mở lại)**: nghĩa-vụ tự-đặt của `vocab-alias-map.md` (*"bắt buộc thêm vào `$ExcludeExact`"*) **ĐÃ LAND** — `governance-detectors.ps1:122`, có 2 control dương cạnh bên. Không phải nợ.
|
||||
|
||||
### 4.6 Khai ENV-DEP (ranh 5)
|
||||
|
||||
- `CLAUDE.md` = bề mặt **nạp đầu phiên** ⇒ khối C-4 **ăn từ phiên sau** (bản trong context phiên này là bản trước edit). Không hot-reload.
|
||||
- `docs/governance/*.md` = doc đọc-theo-nhu-cầu ⇒ **hiệu lực ngay**, không phụ thuộc restart.
|
||||
- **0 file lệnh (`.claude/commands/*.md`) và 0 persona (`.claude/agents/*.md`) bị lane này chạm.**
|
||||
|
||||
### 4.7 Ranh đã giữ
|
||||
|
||||
| Ranh | Trạng thái |
|
||||
|---|---|
|
||||
| (1) đọc thư gốc + report trước khi chạm | ✅ 3/3 cặp, đọc TRỌN (§0) |
|
||||
| (2) vùng-owner ⇒ dừng + khai | ✅ **C-17 dừng đúng** (anh đã quyết nhánh rename @S139). C-4 đã cân N-1 + liệt-kê vùng-owner rồi mới chạm, khai ở §3.4 |
|
||||
| (3) fault-inject trên cây tạm + positive-control | ✅ §4.3, 0 byte vào repo thật |
|
||||
| (4) mọi số kèm lệnh tái-lập | ✅ mọi bảng số đều có block lệnh ngay trên |
|
||||
| (5) khai ENV-DEP | ✅ §4.6 |
|
||||
| (6) KHÔNG commit/push | ✅ 0 lệnh git ghi (chỉ `log`/`show`/`diff`/`ls-files`/`status`) |
|
||||
| (7) KHÔNG store_memory | ✅ 0 lần gọi |
|
||||
|
||||
### 4.8 Tự-nghi (thước của chính tôi có hỏng không)
|
||||
|
||||
- **Đo "0 hit" luôn kèm control dương** — baseline C-3 = 0 nhưng lệnh ấy có chạy thật không? Chứng: cùng lệnh đó SAU khi land trả **2**; và tại C-17, lệnh `git grep "sàn-5"` trả 0 ở lớp lệnh **đi kèm** control dương `grep "Luật đánh-số chờ-anh"` = 1. Không có ô 0 nào đứng một mình.
|
||||
- **Chỗ tôi có thể sai:** phép thử §12-bis quét **21 tệp** (`docs/governance/*` + 4 tệp gốc) — **không** phủ `.claude/commands/*.md` (19) và `.claude/agents/*.md` (27), là nơi masthead-trạng-thái rất có khả năng cũng trôi. Khai thẳng là **chưa đo**, không viết thành "đã quét sạch". Ai mở rộng thì nới vòng `for` trong §12-bis.
|
||||
- **1 dương / 21 là số của lượt này**, không phải tỉ lệ nền của kho.
|
||||
|
||||
**Trạng thái lane: XONG** — 2 DONE (C-3, C-4) · 1 SKIP-có-khai (C-17). ts-đóng 2026-08-09.
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
|
||||
## §0 — Trạng thái
|
||||
|
||||
| Item | Trạng thái | Ghi chú 1 dòng |
|
||||
| Item | Verdict | Ghi chú 1 dòng |
|
||||
|---|---|---|
|
||||
| C-14 | ✅ evidence ĐỦ → thi công | 4/4 câu HANDOFF:6 CÓ phán quyết (khác giả-thiết lead "P3/VK-5 chưa") |
|
||||
| C-20 | ⏳ evidence đang đo | VC-1/2/3 = điều-kiện (c) — chưa thấy owner duyệt tường minh |
|
||||
| C-15 | ⏳ evidence đang đo | carry 5 vế |
|
||||
| C-16 | ✅ **LOCATE XONG + phát hiện phụ** | nhà thật = `sub-apply-L5-evalcuaeval.md:37,41,59,115`; **đã từng là slot (22) + `[carry:eval-thamquyen]` — carry RƠI khỏi re-stamp S179/S181** |
|
||||
| C-21 | ⏳ 4/6 dòng đã đo | (c1) đóng từ S130 · (g) LIVE · (o) một phần · (t) đóng |
|
||||
| C-14 | ✅ **DONE** | Addendum report 08-07 + flip `HANDOFF:6` **4/4 câu** — cả 4 ĐỀU có phán quyết (ngược giả-thiết "P3/VK-5 chưa"), chia **2 hạng nền** thay vì lật 1 nước |
|
||||
| C-20 | ✅ **DONE** (nhánh B của đề bài) | Không trưng được owner-duyệt bảng VC ⇒ addendum *"wire-de-facto per-khoản + 2 quyết owner tường-minh"* + W-list; **nấc GIỮ `agreed` có lý do** |
|
||||
| C-15 | 🟡 **PARTIAL** (đúng acceptance) | 4/6 vế ĐÓNG + 1 nửa + 1 n-a ⇒ carry **THU HẸP** còn 2 vế (#19 chấm-xuyên-cửa-sổ · #23 pre-T5), **KHÔNG gỡ trắng** |
|
||||
| C-16 | ✅ **DONE** + phát hiện phụ | Nhà thật = `sub-apply-L5-evalcuaeval.md:37,41,59,115`; **không phải "chưa locate" mà là "đã locate @S150 rồi RƠI"** — slot (22) + `[carry:eval-thamquyen]` biến mất khỏi re-stamp; re-surface GIỮ SỐ (22) |
|
||||
| C-21 | ✅ **DONE** | 7 vế / 6 dòng: `verify-đóng` 4 · `Ghi-chú-khai-đúng` 2 · `C-item mới` 1 (→ LANE-1) · `W-candidate` 1 · +2 phát hiện phụ |
|
||||
|
||||
---
|
||||
|
||||
@ -93,6 +93,93 @@ Lệnh tái-lập: `rg -n "owner-LUẬT" .claude/workflows/runs/2026-07-25-S149-
|
||||
|
||||
---
|
||||
|
||||
## §4 — C-20 (đang đo) · §5 — C-15 (đang đo)
|
||||
## §4 — C-20 · report session-model-manifest 07-17 còn `agreed` sau khi wire đã xảy ra
|
||||
|
||||
(ghi tiếp bên dưới)
|
||||
### 4.1 Nguồn đã đọc TRƯỚC khi chạm
|
||||
THƯ GỐC `AI_INFRA/broadcasts/outbox/all/2026-07-17-Governance-session-model-phien-logic-manifest.md` (13.488 B) · REPORT `docs/governance/adap-reports/2026-07-17-…manifest.md` (5.374 B, trọn) · hub-reply `AI_INFRA/broadcasts/outbox/se/2026-07-22-ai_infra-to-se-reply-session-model-dung-ban-da-duyet.md` (`content_sha256 8378a68b…`, đọc 45 dòng đầu) · `docs/governance/session-model-se-draft.md:58-70`.
|
||||
|
||||
### 4.2 Đo tươi — wire ĐÃ xảy ra, per-khoản
|
||||
|
||||
| # | Khoản manifest | Nấc @S143 (report §3) | Hôm nay | Lệnh |
|
||||
|---|---|---|---|---|
|
||||
| 1 | run-folder không bị `.gitignore` nuốt | ✅ đạt sẵn | ✅ giữ | — |
|
||||
| 2 | pause/tiep + WAL có TRƯỚC | ✅ đạt sẵn | ✅ giữ | — |
|
||||
| 3 | trần `session_ctx_kb` | ❌ **treo** | 🔄 **= 64** + khoá vết `_session_ctx_kb_owner_set` = *"OWNER-SET TUONG-MINH @S146 2026-07-22"* | `grep -o 'session_ctx_kb[^,]*' .claude/agent-memory/memory-budget.json` |
|
||||
| 4 | folder-form theo ID phiên-LOGIC | ⚠️ K4 conflict | 🔄 **HUB-FORM**, 13 dir `session-1…session-13` | `ls -d .claude/sessions/*/` → 13 |
|
||||
|
||||
+ nhãn phiên-LOGIC sống xuyên cửa-sổ: **L9** (`HANDOFF:95`) → **L12** (`HANDOFF:5`) → **L13** (`run.md:1`); `grep -c "phiên-LOGIC" docs/HANDOFF.md docs/STATUS.md` → **7 · 9**.
|
||||
|
||||
### 4.3 Nhánh đã chọn = **B của đề bài** ("không trưng được owner-duyệt VC ⇒ addendum + W-list")
|
||||
|
||||
- **Không trưng được** owner duyệt **bảng VC-1/2/3 như một KHỐI**: `session-model-se-draft.md:64` vẫn nguyên văn *"(c) anh duyệt bảng VC-1/2/3 — ⏳ **CHỜ ANH**. Đây là **điều-kiện CUỐI**, và giờ là điều-kiện duy nhất còn đứng chắn."*
|
||||
- **Cái ĐÃ có** = 2 quyết-định owner **tường minh per-khoản** (K4 form override @S144→chốt @S146 · `session_ctx_kb`=64 @S146) — mạnh hơn "de-facto" nhưng **không phải** duyệt bảng.
|
||||
- ⇒ Viết **ADDENDUM §6** vào report (3 mục: 6.1 wire per-khoản có lệnh · 6.2 vì sao nấc GIỮ `agreed` · 6.3 câu W cho anh). **CỐ Ý KHÔNG nâng nấc** `agreed`→`executed`: nâng = claim cổng (c) đã mở, mà nó chưa ⇒ đúng lớp *"claim mạnh hơn việc đã làm"*. Nhánh an-toàn bậc-2, khai rõ.
|
||||
- **Bắt thêm:** `[carry:session-model-adopt]` (carry giữ đúng cổng này) **rơi khỏi RE-STAMP @S181** — `grep -n "carry:session-model-adopt" docs/HANDOFF.md` → 6 hit, mới nhất `:218` (segment S151), **0 hit** ở `:9`/`:78`.
|
||||
|
||||
---
|
||||
|
||||
## §5 — C-15 · carry `[carry:ctx-t9-dogfood]` đóng TỪNG VẾ (F-5)
|
||||
|
||||
### 5.1 Định nghĩa carry đa-vế (2 nguồn khớp nhau)
|
||||
`HANDOFF:206` verbatim: *"T9 phiên sau restart: **dogfood 4-cửa THẬT** + **spawn-probe CẢ 3 vai ctx** + **mồi-ngầm xuyên-cửa-sổ** + **checklist #18/#19/#20/#22/#23** + **điền wall-clock nếu lệch >2×**"*.
|
||||
Ánh xạ sang định nghĩa MÁY-KIỂM-ĐƯỢC — `runs/2026-07-26-S153-ctx-adopt/sub-fable-invest-S153.md` PHẦN B: **#18** dogfood 1 vòng 4-cửa (`:129`) · **#19** mồi-ngầm xuyên-cửa-sổ (`:130`) · **#20** restart-verify spawn-probe ALIVE + đối-chứng dương (`:131`) · **#22** lưới C11(b) fault-inject 2-chiều (`:133`) · **#23** hmw STOP-HARD + owner-note (`:134`) · wall-clock = **#16** (`:127`).
|
||||
|
||||
### 5.2 Bảng đóng-từng-vế
|
||||
|
||||
| Vế | Kết | Bằng-chứng + lệnh |
|
||||
|---|---|---|
|
||||
| **#18** dogfood 4-cửa THẬT | ✅ **ĐÓNG** | start/Phase-3.5 → 8 tệp `_mind-s-{6..13}.md` (12.482 → 43.663 B) · pause/C-bis → `_context-s-12.md:47` entry `PAUSE-1` · tiep/§3-ter → `owner-decisions…dot-2.md:3` *"window-2 … vào bằng `/tiep`"* · end/(l) → **10** tệp `sub-ctx-audit-*`. Lệnh: `ls .claude/sessions/*/_mind*.md` · `ls .claude/workflows/runs/*/sub-ctx-*.md` |
|
||||
| **#20** spawn-probe 3 vai ctx | ✅ **ĐÓNG** | `ctx-audit` 10 artifact (S154→S182) · `ctx-curator` **12.465 B** mtime 08-08 (seed ~1,5 KB) + owner @S179 chốt GIỮ 2 tệp nó ghi (`HANDOFF:20`) · `ctx-verifier` **19.205 B** mtime 08-07 23:14 + 15 cờ @S185 |
|
||||
| **#22** C11(b) 2-chiều | ✅ **ĐÓNG** | `runs/2026-07-24-S149-hoi-tu-bookend/sub-impl-M4-c11.md:46` ca (c): part(b) `diary-0-delta` FLAG ⟂ part(a) IM (anti-FP) |
|
||||
| **wall-clock (#16)** | ✅ **ĐÓNG** | Điều-kiện *"lệch >2× ⇒ điền số THẬT"* kích hoạt và ĐÃ điền: `pause.md:66` **+~0,12 s** (draft 61,3 ms + full 55,4 ms; tệp 34 KB = 63,8 ms) thay ước 0,3-0,6 s (**lệch 2,2-5,4×**) |
|
||||
| **#23** hmw STOP-HARD | 🟡 **ĐÓNG NỬA** | vế owner-note (roster > cap) đóng theo slot **(75)** @S181 (cap 20→30, roster 28). Vế **đối-chứng-dương TRƯỚC T5** = **n-a không tái-lập được** (T5 land từ S153) — khai, không giả vờ đạt |
|
||||
| **#19** mồi-ngầm xuyên-cửa-sổ | 🔴 **NỬA — CÒN MỞ** | vế *gieo* ĐẠT có vết: `runs/2026-08-05-S173-bookend-open/sub-ctx-audit-open-S173.md:377` *"(i)-4 gieo mồi-ngầm \| **ĐẠT** — gieo tại §(v)"*. Vế *"cửa-sổ SAU (/tiep) **nêu lại đúng ý**"* → **0 bằng-chứng trên đĩa** ⇒ chưa có fidelity-sau-nối-lại |
|
||||
|
||||
### 5.3 Xử — THU HẸP, KHÔNG gỡ trắng
|
||||
Carry giữ trong danh sách, **thu về đúng 2 vế**: (i) #19 vế chấm-xuyên-cửa-sổ · (ii) #23 vế đối-chứng-dương pre-T5 (n-a). Ghi vào `HANDOFF` khối RE-STAMP (dòng 🔻 THU HẸP @S185).
|
||||
🔴 **Bẫy đã né đúng như F-5 cảnh báo:** invest liệt 3 diary `harness-{eval,audit,refine}` làm evidence — đó là **trio 07-21**, **KHÁC** trio ctx. Đã tách bạch, không dùng làm chứng cho carry này.
|
||||
|
||||
### 5.4 2 lượt MISS có vết (đóng "đã dogfood", KHÔNG đóng "chạy đều")
|
||||
`_context-s-12.md` PAUSE-1 tự khai: *"Phase 3.5 của `/session-start` **không chạy**"* @S180-open · *"**`ctx-curator` KHÔNG spawn ở cửa này**"*. ⇒ 4/4 cửa có **≥1 lượt thật** (đủ đóng #18), nhưng độ-đều thì chưa.
|
||||
|
||||
---
|
||||
|
||||
## §6 — Vật đã sửa (4 tệp) + verify
|
||||
|
||||
| # | Tệp | Sửa gì | Verify (lệnh → kết quả) |
|
||||
|---|---|---|---|
|
||||
| 1 | `docs/governance/adap-reports/2026-08-07-…nghi-thuc-hai-dau….md` | **+mục 8 ADDENDUM @S185** (C-14a) — đính chính "CHƯA GHÉP", 2 bằng-chứng, nấc khoản → `executed` | `grep -c "ADDENDUM @S185"` → **1**; `grep -c "🔴 \*\*CHƯA GHÉP\*\*"` → **2** (dòng gốc `:12` CÒN + trích trong addendum) ⇒ bài-5 giữ vết ✓ |
|
||||
| 2 | `docs/governance/adap-reports/2026-07-17-…session-model-phien-logic-manifest.md` | **+mục 6 ADDENDUM @S185** (C-20) — wire per-khoản, nấc GIỮ `agreed` có lý do, W-list | `grep -c "ADDENDUM @S185"` → **1**; `grep -c "0 wire — đo chứ không khai suông"` → **2**; nấc `**agreed**` → **1** (KHÔNG đổi) ✓ |
|
||||
| 3 | `docs/HANDOFF.md` | (a) **flip khối CHỜ-ANH @S181** 4/4 câu, 2 hạng nền, giữ 🧊 nguyên-văn (C-14b) · (b) **🔻 THU HẸP carry ctx-t9** (C-15) · (c) **🔺 CARRY LẠI 2 slug rớt** · (d) **slot (22) RE-SURFACE** (C-16) | 4 anchor `grep -c` → **1/1/1/1**; `carry:eval-thamquyen` trong khối đỉnh → **1** (trước vá 0) ✓ |
|
||||
| 4 | `runs/…/sub-invest-email-adap-fable.md` | **+§2.1-disposition ADDENDUM @S185** (C-21, bảng 7 vế) + đính chính `105→101` (F-8) | `grep -c "§2.1-disposition — ADDENDUM @S185"` → **1** ✓ |
|
||||
|
||||
`git diff --stat` xác nhận **0 tệp ngoài phạm-vi** do lane-4 đụng (các tệp khác trong diff = lane-1/2/3 chạy song song: `governance-detectors.ps1`, `tien-kiem-cua.ps1`, `naming-standard.md`, `adap-apply.md`, `CLAUDE.md`, `session-{start,end}.md`, `adap-upgrade-pack-tracking.md`, `ctx-soft-memory-se-draft.md`, `so-yeu-cau-chu-du-an.md`).
|
||||
|
||||
---
|
||||
|
||||
## §7 — Ranh cứng: tự-kiểm
|
||||
|
||||
| Ranh | Trạng thái |
|
||||
|---|---|
|
||||
| Đọc THƯ GỐC + REPORT trước khi chạm | ✅ 5/5 item — bảng nguồn ở §1.1 · §4.1 · §5.1 · §2.1 · §3 |
|
||||
| Vùng-owner ⇒ DỪNG + khai | ✅ **KHÔNG chạm**: 0 đổi policy/số-nhịp/schema · 0 đụng `ACTIVE-MARKS` · **KHÔNG** nâng nấc G-011 (C-20) · **KHÔNG** sửa tally *"20 carry"* (số của lead) · **KHÔNG** đóng `[carry:bao-cao-cuoi-cho-duyet]` (nghi-thức `session-end §L.b(j)(iv)`) · **KHÔNG** tự thêm W vào khối CHỜ-ANH (trừ slot (22) được giao đích danh ở C-16) |
|
||||
| Fault-inject / cây tạm | **n-a** — lane-4 là doc-hygiene, 0 acceptance đòi fault-inject; 0 script bị sửa ⇒ 0 inject vào repo thật |
|
||||
| Mọi số kèm lệnh tái-lập | ✅ mọi ô số trong file này có lệnh bên cạnh |
|
||||
| ENV-DEP "ăn từ phiên sau restart" | **n-a** — 0 tệp lệnh (`.claude/commands/*`) và 0 persona (`.claude/agents/*`) bị sửa ⇒ mọi thay đổi ăn NGAY |
|
||||
| Không commit/push · không `store_memory` | ✅ 0 lệnh git write · 0 gọi store_memory |
|
||||
| Addendum = block MỚI, giữ dòng cũ (bài-5) | ✅ chứng bằng đếm 2-hit ở §6 hàng 1-2 |
|
||||
| Serial nội-lane (3 item cùng `docs/HANDOFF.md`) | ✅ C-14b → C-15 → C-16 → carry-lại, 4 Edit tuần tự, 0 xung đột |
|
||||
|
||||
---
|
||||
|
||||
## §8 — Trình LEAD (ngoài đề bài, lane-4 KHÔNG tự quyết)
|
||||
|
||||
1. 🔴 **`(g)` dangling-tick LIVE ngay lúc này** — `last_ticked_head` = `8491923e` = commit **`wal: flush 20260808T1349`**. Đúng hình DP-2 đã cảnh báo. Candidate-fix = owner-LUẬT ⇒ **W-candidate**.
|
||||
2. 🔴 **Slot (21) claim SAI so đĩa** — `HANDOFF:241` ghi *"khoá `_frozen_until_owner` **ĐÃ CẮM**"*; đo: `grep -c "_frozen_until_owner" .claude/governance/.session-counter.json` = **0**. Class `view-stale-status`.
|
||||
3. 🔴 **2 ca `gap-carry-dropped` chưa được đếm** — `[carry:eval-thamquyen]` + `[carry:session-model-adopt]` rơi im lặng, chỉ lộ khi đi tìm *nhà* của 1 câu hỏi. Nghi-thức re-stamp **không tự phát hiện slug mình đánh rơi** vì nó chép danh-sách kỳ trước thay vì dựng lại từ nguồn.
|
||||
4. 🔸 **Đếm lệch trong chính khối RE-STAMP** — header *"20 carry còn mở"* ⟂ danh-sách đếm được **23** slug (+2 vừa carry lại).
|
||||
5. 🔸 **Ứng-viên ĐÓNG carry:** `[carry:bao-cao-cuoi-cho-duyet]` đủ 3 lớp bằng-chứng (chữ owner + thư đã gửi + dấu RC) — lane-4 chỉ nêu, không tự đóng.
|
||||
6. 🆕 **Đề-xuất C-23** (giao LANE-1): detector nhãn-reuse — cùng họ C-8/C-19, đóng vế `(f)` của C-21.
|
||||
7. 🔸 **W-candidate mới cho C-20:** anh chốt bảng **VC-1/2/3** — phê-duyệt hồi-tố cả bảng, hay bỏ khái niệm "duyệt bảng" và chuyển hẳn sang per-khoản (thì phải lật `session-model-se-draft.md:64`)?
|
||||
|
||||
**ts-đóng:** 2026-08-09 · trạng thái: **XONG** — 4 DONE / 1 PARTIAL (C-15 thu-hẹp đúng acceptance).
|
||||
|
||||
@ -169,3 +169,98 @@ Lệnh: `grep -n -- "-return)" scripts/governance-detectors.ps1 scripts/memory-s
|
||||
(i) L2-1 sửa `naming-scan.ps1:196/318-321` cho số giải-thích bám số in — **vùng máy governance, cùng họ LANE-1, tránh đụng độ**;
|
||||
(ii) L9-1 sửa 2 nơi gọi `:565`/`:572` nhận `rules_end` — **chạm `session_ctx.py` = đường ống ctx**, cần chủ ý riêng + fault-inject;
|
||||
(iii) L4 ca-âm `checklist-final:43` *"nếu còn ngân sách"* — **quyền lead**, chỉ khai không sửa.
|
||||
|
||||
**LANDED:** `docs/governance/adap-reports/2026-08-05-Governance-loi-do-luong-phan-1-va-2.md` — block `# ✅ BỔ SUNG @S185` ở cuối, **KHÔNG sửa dòng Rổ C cũ** (bài-5 giữ vết). ⇒ **C-5 = DONE.**
|
||||
|
||||
---
|
||||
|
||||
# C-9 — đo vế treo 4.2 (`tier:` override qua resume) — DEFER từ S144
|
||||
|
||||
**Thư gốc:** `2026-07-19-Governance-goi-chot-owner-nam-khoan.md` khoản 2 (`:32-38`) — *"resume/continue một agent đã spawn làm rớt model-override … nếu bạn đang resume agent VÀ dựa vào model-override sống qua resume — coi chừng nó không sống"*.
|
||||
**Report:** `adap-reports/2026-07-19-…-goi-chot-owner-nam-khoan.md:38` caveat *"vế lane workflow … VẪN CHƯA ĐO … giữ DEFER-đo"*.
|
||||
|
||||
## Kết 2 phần
|
||||
|
||||
**(1) Vế nguyên bản = VACUOUS, n-a CÓ SỐ.**
|
||||
|
||||
| Phép đo | Kết quả |
|
||||
|---|---|
|
||||
| `grep -cniE "resume\|continue\|reattach\|session_id\|sessionId" .claude/workflows/hmw.js` | **0** |
|
||||
| **Control dương** cùng regex trên `.claude/commands/tiep.md` | **13** ⇒ 0 là vắng THẬT |
|
||||
| Model gắn ở đâu | duy nhất `hmw.js:284` `agent(prompt,{…})` + `:291` `model: resolveModel(role,raw,t&&t.tier,i)` |
|
||||
|
||||
⇒ SE **không có đường resume cho lane** ⇒ override **không thể** rớt qua resume.
|
||||
|
||||
**(2) 🔴 Rủi ro ĐÃ DỜI sang RELAUNCH — và ở đó đang hở, đo được.**
|
||||
|
||||
| Phép đo | Kết quả |
|
||||
|---|---|
|
||||
| `grep -ci tier .claude/commands/tiep.md` | **0** (control `grep -ci model` = **2** ⇒ grep sống) |
|
||||
| `tiep.md:199-205` nhánh `wf:` bước 4 | dặn re-derive memory-pack TƯƠI, 🔴 **0 chữ** về giữ per-task `tier:` |
|
||||
| run.md có `## taskList snapshot` | **54 / 88** |
|
||||
| run.md có chuỗi `tier:` | **15 / 88** (cận TRÊN — gồm nhắc trong văn xuôi) |
|
||||
| run.md **của run đang chạy hôm nay** | **0** `taskList` · **0** `tier` |
|
||||
|
||||
**Chuỗi hỏng:** workflow chết → `/tiep` bước 1 đọc `## taskList snapshot` → **34/88 run-folder (39%) không có snapshot**, *run hôm nay nằm trong nhóm đó* → lead gõ lại taskList từ trí nhớ → thiếu `tier:` → `resolveModel` (`:103-110`) trả `MODEL_INHERIT` → `model: undefined` → frontmatter worker-tier `opus` cầm lái. **Không lỗi, không cảnh báo.**
|
||||
🔴 **Bất đối xứng cảnh báo:** `hmw.js:105` CÓ `⚠️` khi `tier` **giá-trị lạ**, **KHÔNG** có nhánh nào khi `tier` **VẮNG** — máy kêu lúc gõ SAI, im lúc gõ THIẾU, mà THIẾU mới là chế-độ hỏng của relaunch.
|
||||
🔸 Lưới bắt hiện có chỉ **hồi-tố**: `spawn-model-audit.ps1` header `:30-32` tự khai *"RETROSPECTIVE … does not promise the next spawn stays on the expected version"*.
|
||||
|
||||
**LANDED:** addendum `# ✅ ADDENDUM @S185` cuối `adap-reports/2026-07-19-Governance-goi-chot-owner-nam-khoan.md`, dòng caveat cũ GIỮ NGUYÊN. Nấc 4.2: `DEFER-đo` → **`executed (có phạm vi) + đo XONG vế treo`**. ⇒ **C-9 = DONE.**
|
||||
|
||||
---
|
||||
|
||||
# C-18 — chấm master-checklist SELF-CHECK ô1/ô2 + sàn-2
|
||||
|
||||
**Thư gốc:** `2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien.md` §5 SELF-CHECK 4 ô (`:40-43`) + sàn-2 (`:24`) + sàn-4 (`:26`).
|
||||
**Report:** `adap-reports/2026-07-17-…-master-checklist…md:24-25` — sàn-2 `2/4 cửa`, ô1+ô2 `PENDING` *"cần 1 chu-kỳ đóng→mở phiên thật, chưa có dữ-liệu"* (23 ngày trước).
|
||||
|
||||
| Ô | @S139 | **@S185** | Bằng chứng |
|
||||
|---|---|---|---|
|
||||
| ô1 in plan 2 tầng khớp carry | PENDING | 🔶 **KHÔNG CHẤM ĐƯỢC — phép thử sai thiết-kế** | thứ cần chấm = **bản in màn hình**, chỉ sống trong transcript. Phép thử thay thế (hệ-quả durable) đo thử 1 điểm: `_context-s-13.md:21` + `:62` **CÓ** chở carry ⇒ ĐẠT theo bản thay thế |
|
||||
| ô2 mục chưa xong tự xuất hiện lại | PENDING | 🔴 **TRƯỢT — có số** | `HANDOFF` RE-STAMP: rơi **4 kỳ liên tiếp**, `gap-carry-dropped` = **12** = 4× JUMP, sổ tự kết *"không có răng"*; **+2 ca rơi IM LẶNG ngoài tally** (⇒ 12 là cận DƯỚI); slug đích danh `[carry:eval-thamquyen]` có ở S150-S152, **0 hit** khối RE-STAMP @S181 |
|
||||
| ô3 chờ-owner đánh số | PASS | ✅ **giữ** | `HANDOFF` (73)(74)(75) + 4 câu P-số @S181 + `checklist-final` W-1…W-4 |
|
||||
| ô4 file checklist nguồn-đôi | PASS 8=8 | ✅ **PASS thực chất** · 🔶 **phép đo HẾT HẠN** | `find` = **16** (12 adap-report + 3 run-artifact + 1 `security-checklist.md`) ⇒ **0 nguồn-đôi work-state**; nhưng *"8 trước = 8 sau"* là **đếm bằng-nhau trên corpus đang lớn** ⇒ không còn phân biệt được gì |
|
||||
|
||||
**Sàn-2:** khối `MASTER-CHECKLIST` grep ra **1/2/1/1** trên 4 lệnh — **khớp byte con số report ghi @S139 ⇒ 0 drift 23 ngày**. Vật-chứng nghi-thức chạy: mở/dừng/nối có `_context-s-13` · `_pause-1/2` · `_tiep-1/2/3`; đóng có **29 commit** closeout kể từ 07-17. Nhưng **vật-chứng BẢN IN** chỉ 2/4 (pause, tiep) — vì cùng lý do ô1.
|
||||
⇒ Điều-kiện tự đặt (*"không in đúng khuôn thì hạ nấc"*) **không kích hoạt** mà cũng **không thoả được**. Giữ `executed`; đổi caveat từ *"chờ 1 chu-kỳ"* sang ***"phép thử phải neo chứng-cứ durable"***.
|
||||
|
||||
**LANDED:** addendum cuối `adap-reports/2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien.md`, §5 cũ GIỮ NGUYÊN. ⇒ **C-18 = DONE.**
|
||||
|
||||
---
|
||||
|
||||
# C-22 — completeness-pass các report ngoài §2.1
|
||||
|
||||
**Nguồn:** review P2 **F-9** (grep-marker hụt nợ không-marker, 2/2 sample dính).
|
||||
**Phạm vi đo:** 39 id post-watermark; §2.1 phủ 25 dòng (a→y) ⇒ **13 report không có dòng nào**; trừ 2 đã được reviewer nhặt (`chuan-hoa-stamp`→C-19 · `master-checklist`→C-18) ⇒ **11 report**. **Đọc 11/11** section honest-caveat.
|
||||
|
||||
**Kết: 6 nợ THẬT chưa có nhà** (N1 memory-pack-qua-args · N2 acceptance-literal tự-lão-hoá · N3 K1/K6i chưa RCA + detector live-1-ngày · N4 h23-precedence hết hạn tự khai 24 ngày · N5 **0 máy canh pull-lag — ĐÃ TÁI PHÁT** · N6 luật-chung-#9 nằm trong run-folder) · **2 ghi-chú-khai-đúng** (G1 CRLF by-design · G2 điểm-mù-tương-lai) · **3 đã có nhà khác** (H1/H2/H3).
|
||||
|
||||
🔴 **META (giá trị chính của C-22):** **3/6 nợ (N2·N3·N4) cùng một hình dạng** — report tự viết **điều-kiện hết hạn** cho kết-luận của chính nó rồi **không ai quay lại đọc**. Cộng ô1/ô2 + sàn-2 của C-18 ⇒ **≥5 điều-kiện tự đặt, 0 lượt quay lại**.
|
||||
⇒ **Chất-lượng honest-caveat cao; tỷ-lệ THEO-DÕI caveat ≈ 0.** Đúng **Lớp 2** của thư 08-05 nhưng ở **tầng REPORT** thay vì tầng máy — và giải thích luôn vì sao grep-marker sót: nó bắt "TODO/pending/chưa", **không bắt** *"kết-luận này sẽ mục nếu…"*.
|
||||
**Đề nghị (chạm nghi-thức `/adap-report` ⇒ vùng owner, CHỈ KHAI):** caveat mang điều-kiện hết hạn phải sinh **1 carry-slug ngay lúc viết**.
|
||||
|
||||
🔸 **Residual-risk của chính C-22:** chỉ đọc section honest-caveat/Còn-nợ; nợ rải trong **thân bài** chưa quét. Mẫu 11/11 đủ kết luận về **phương-pháp**, **không** đủ tuyên "đã phủ hết nợ 11 report".
|
||||
|
||||
**LANDED:** `sub-invest-email-adap-fable.md` — section mới `# §2.1-bis — COMPLETENESS-PASS (C-22…)` ở cuối, bảng 11 dòng + meta + lệnh tái-lập. ⇒ **C-22 = DONE.**
|
||||
|
||||
---
|
||||
|
||||
# TỔNG LANE-5 — 4/4 DONE
|
||||
|
||||
| C | Việc | Nấc | Landed ở đâu |
|
||||
|---|---|---|---|
|
||||
| **C-5** | phép bác Lớp 2·4·9 | ✅ DONE — **3/3 CONFIRMED**, 0 lớp bác được | block `BỔ SUNG @S185` cuối report 08-05 gộp |
|
||||
| **C-9** | đo `tier:` qua resume | ✅ DONE — vế cũ **vacuous có số**, rủi ro dời sang **relaunch (hở, đã định lượng)** | addendum cuối report `goi-chot` 07-19 |
|
||||
| **C-18** | chấm ô1/ô2 + sàn-2 | ✅ DONE — ô2 **TRƯỢT có số**, ô1 **phép thử sai thiết-kế**, ô4 **phép đo hết hạn**, sàn-2 0-drift | addendum cuối report `master-checklist` 07-17 |
|
||||
| **C-22** | completeness-pass | ✅ DONE — **11/11** report, **6 nợ mới** + meta caveat-follow-up ≈ 0 | `§2.1-bis` cuối `sub-invest` |
|
||||
|
||||
## Khai theo ranh lane
|
||||
|
||||
- **Vùng-owner: 0 lần chạm.** 4 việc đề-xuất chạm nghi-thức/policy đều **CHỈ KHAI**, không thi công: sàn-4-có-răng · viết lại ô1/ô2 SELF-CHECK · carry-slug cho caveat-hết-hạn · nhãn *"nếu còn ngân sách"* (quyền lead).
|
||||
- **Fault-inject: KHÔNG dùng** — cả 4 item là **đo trên trạng-thái sẵn có**, không dựng máy mới ⇒ không có gì để inject. Thay vào đó mỗi phép 0-hit đều **kèm control dương** (`tiep.md`=13 · `model`=2 · `naming-standard.md`≠0 non-ASCII).
|
||||
- **File lệnh / persona: 0 lần sửa** ⇒ **không phát sinh ENV-DEP "ăn từ phiên sau restart"**. (Đề-xuất sửa `tiep.md` ở C-9 mục 1 **chưa thi công** — nếu lượt sau làm thì mới phải khai ENV-DEP.)
|
||||
- **KHÔNG commit/push · KHÔNG store_memory.** File đã đổi (4): 3 report trong `docs/governance/adap-reports/` + `sub-invest-email-adap-fable.md` + chính file này.
|
||||
- 🔸 **Quan sát ngoài phạm-vi, gửi lead:** `docs/governance/vocab-alias-map.md` **ĐÃ TỒN TẠI** (8.020 B, mtime 2026-07-22) — tiền-đề C-17 (*"file CHƯA tồn tại — tạo mới additive"*) là **STALE**. Lane-3 nên đọc file trước khi tạo, kẻo đè.
|
||||
- 🔸 **Cảnh báo đồng-thời:** `scripts/governance-detectors.ps1` (LANE-1) và `docs/HANDOFF.md` (LANE-4) đang bị sửa song song trong lúc tôi đo ⇒ mọi số-dòng tôi trích từ 2 tệp đó **kèm mốc giờ**, và số-dòng `HANDOFF` trong bảng C-18 đã trôi (`:8` → `:12`) giữa lượt đọc và lượt ghi.
|
||||
|
||||
ts-đóng: 2026-08-09 · trạng thái: **XONG 4/4**.
|
||||
|
||||
@ -240,6 +240,33 @@ Sửa **additive** 3 dòng M3 + 1 dòng ghi-chú lệch-số trong `docs/governa
|
||||
**KHÔNG sửa:** mọi file trong `.claude/agent-memory/**` (0 byte thay đổi) · `memory-budget.json` · `scripts/*.ps1` · báo cáo đã gửi hub · `HANDOFF.md`.
|
||||
**KHÔNG commit, KHÔNG push.** ENV-DEP: lane này **không** sửa file lệnh/persona ⇒ không có phần "ăn từ phiên sau restart".
|
||||
|
||||
## HẬU-KIỂM sau khi sửa (chạy lại bằng lệnh, không bằng trí nhớ)
|
||||
|
||||
| Phép | Lệnh | Kỳ vọng | Đo được |
|
||||
|---|---|---|---|
|
||||
| Bảng 20 khoản không vỡ | `grep -c '^\| A' docs/governance/adap-upgrade-pack-tracking.md` | 20 | **20** ✅ |
|
||||
| M3 vẫn đúng 3 dòng | `sed -n '/^### M3/,/^🔸 \*\*\`naming-scan/p' … \| grep -c '^\| \`'` | 3 | **3** ✅ |
|
||||
| Không ai tự phong nấc cuối (self-check GỐC của tệp) | `grep -c 'đã được kiểm chứng *\|' …` | 0 | **0** ✅ |
|
||||
| Bảng M3 đúng hình 3 cột | đếm `\|` từng dòng khối M3 | 4/4/4/4/4 | **4 đều** ✅ |
|
||||
| 🔴 **KHÔNG chạm memory** | `git status --short -- .claude/agent-memory \| wc -l` + `git diff --stat -- .claude/agent-memory` | 0 / rỗng | **0 / rỗng** ✅ |
|
||||
| File lane này sửa | `git diff --stat -- docs/governance/adap-upgrade-pack-tracking.md` | 1 file | **14+/5−** ✅ |
|
||||
|
||||
### Phát hiện phụ (KHÔNG sửa — báo để lead định đoạt)
|
||||
|
||||
🔸 **Self-check #2 của chính tệp `adap-upgrade-pack-tracking.md` là thước HỎNG, có TRƯỚC lane này.**
|
||||
Tệp tự viết (`:80-81`): *"Nấc khai theo từng giai đoạn — **phải ra 7 dòng**"* với lệnh `awk -F'|' '/^\| [0-6] \|/…'`.
|
||||
Đo: **12**, không phải 7. Regex bắt cả bảng §1 (7 dòng GĐ 0-6, `:19-25`) **lẫn** bảng thứ hai ở `:100-104` (5 dòng đánh số 1-5 `D-8/D-18/TC-03/TC-09/D-12`).
|
||||
**Chứng nó không do em gây ra:** `git show HEAD:… | awk … | wc -l` = **12**; trên cây làm việc sau khi em sửa = **12** ⇒ y hệt.
|
||||
Vá rẻ (đề xuất, **chưa áp**): neo thêm cột nấc, ví dụ `/^\| [0-6] \| .*\| \*\*đã /`. Em không tự sửa vì **đổi một tiêu-chí nghiệm-thu** là đổi thước — đúng lớp *rời tập-đo*, phải có người chốt.
|
||||
|
||||
### 🔸 Khai minh bạch về "KHÔNG commit"
|
||||
|
||||
Em **không chạy một lệnh git ghi nào** (chỉ `git grep` · `git show` · `git status` · `git diff` · `git log`). Nhưng repo **vẫn sinh commit** trong lúc lane chạy: `20d32450 wal: flush 20260809T2131` · `5f23d65c wal: flush 20260809T2117` — đó là **Stop-hook `wal-flush.ps1` bắn ở turn-boundary** (đúng dòng **M1** của bảng A16: *"Stop-hook, mọi turn-boundary"*). Nêu ra vì nếu lead `git log` sẽ thấy commit mang thay-đổi của lane này mà tưởng em tự commit. Vẫn **chưa có push**, và lead vẫn gom cuối như kế hoạch.
|
||||
|
||||
### Dọn dẹp
|
||||
|
||||
Cây tạm fault-inject đã **xoá** sau khi đo (`…/scratchpad/lane6-fi`). Dựng lại đúng 2 lệnh `cp -r` + 1 nhát sửa pattern đã ghi ở **C6.2** — tái-lập được, không cần giữ bản sao memory ngoài repo.
|
||||
|
||||
## SKIP-owner (khai đúng luật)
|
||||
|
||||
| Món | Vì sao SKIP |
|
||||
|
||||
@ -73,3 +73,99 @@ powershell.exe -ExecutionPolicy Bypass -NoProfile -File scripts/loi-hua-may-scan
|
||||
```
|
||||
8 control = 3 positive-must-catch (C1 câu-hứa-không-proof · C5 cite-máy-không-tồn-tại · C8 TODO-classify) + 5 negative-must-NOT-catch (C2 `bắt buộc` · C3 blockquote-định-nghĩa-luật · C4 proof thật · C6 văn thường · C7 baseline). Cây tạm nằm dưới `%TEMP%`, tự xoá; **0 byte inject vào repo thật** (ranh cứng #3).
|
||||
|
||||
### [B5] Chạy trên repo THẬT → 2 lỗi nữa lộ ra, cả hai đều là lỗi CỦA MÁY
|
||||
|
||||
Lượt chạy thật đầu tiên (`FLAG 64`) — đọc cờ đầu tiên thì thấy sai ngay:
|
||||
|
||||
1. 🔴 **HIGH giả** tại `naming-standard.md:50` báo `proof-dead: claude/hooks/wal-flush.ps1`. Kiểm đĩa: `ls .claude/hooks/wal-flush.ps1` → **file CÓ THẬT**. Gốc: `.Trim('.')` của tôi **ăn mất dấu chấm đầu** của `.claude/...` ⇒ biến path sống thành path ma. Vá: chỉ `Trim('`','(',')')` + `TrimEnd(',','.',';',':')`, **cấm TrimStart dấu chấm**. (Đúng lớp "bộ lọc chuỗi thất bại trong im lặng" mà C6 đã đếm 3 ca trong 1 phiên — đây là ca thứ 4, và nó rơi vào chính máy đi soi người khác.)
|
||||
2. **Sàng quá rộng**: hàng bảng dài / văn 5-why bị hút vào vì danh-từ ở ô này, động-từ ở ô kia cách 300 ký tự. Vá: **proximity** — tách dòng theo `|`, danh-từ ⟂ động-từ phải cùng MỘT khúc và cách ≤ 80 ký tự.
|
||||
|
||||
**Kiểm anti-Goodhart cho phép vá số 2** (bắt buộc — "cái mất đi là dương-giả hay CHỨNG-NHÂN?"):
|
||||
```
|
||||
# hatch audit dựng sẵn trong máy để ai cũng tái lập được:
|
||||
scripts/loi-hua-may-scan.ps1 -NoProximity -> FLAG 63
|
||||
scripts/loi-hua-may-scan.ps1 -> FLAG 48 (rơi 15)
|
||||
```
|
||||
**Đọc TỪNG dòng trong 15 dòng rơi** (không đọc con số tổng): 3 dòng = bảng/tiêu-đề (`| Máy | Fire tự động? | Bằng chứng |`) · 5 dòng = **ghi-chép lịch-sử** trong `error-ledger` (máy nào bắt gì hồi nào) · 4 dòng = **honest-caveat** (`harness-11-engine:289` *"FP-guard … blind-spot có-chủ-đích"* — đúng dòng C6 đã tự nhận là không vi-phạm) · 2 dòng = **dạng dự-định** hợp lệ (`"sẽ bắt bug slug"`, `"chờ owner chốt (P1)"`) · 1 dòng = phát-hiện tự-phê (`"hai máy … mà không cửa nào gọi"`). ⇒ **15/15 là dương-giả hoặc dòng-hợp-lệ, 0 chứng-nhân mất đi.**
|
||||
|
||||
🔴 **Và chính lượt đọc-15-dòng này lòi ra lỗ THẬT trong FP-guard:** `fable-real-runbook.md:571` viết **`bắt-buộc` CÓ GẠCH NGANG**, trong khi guard của tôi là `bắt(?!\s*buộc)` — `\s*` không khớp dấu `-` ⇒ **guard rò**, dòng đó chỉ thoát nhờ proximity một cách tình cờ. Vá `[\s-]*` + thêm **control C9** ghim cả hai lối viết. (Đúng bài *"vá 1 CLASS ⇒ grep MỌI matcher cùng-lớp"* — nếu chỉ nhìn con số tổng thì lỗ này sống sót.)
|
||||
|
||||
### [B6] Siết định-nghĩa "proof" cho đúng cách kho này viết
|
||||
|
||||
`docs/governance/*` gọi tên máy **không kèm thư mục** (`` `governance-detectors.ps1` ``, `` `hmw.js:171-186` ``). Câu đó **đã trả lời** câu hỏi của reviewer (*"mã nào làm việc đó?"*) nên phải tính là proof. Cắm `New-MachineIndex` (mọi `.ps1/.py/.js/.sh` dưới `scripts/` + `.claude/`, trừ `node_modules`): tên trần **resolve được** ⇒ proof-ok; tên trần **không resolve** ⇒ vẫn flag (control C11); path có thư mục nhưng stale mà file tồn tại nơi khác ⇒ proof-ok (không phải máy ma).
|
||||
⇒ `FLAG 48 → 30`, `proved 11 → 29`. **11/11 control PASS** sau khi thêm C10/C11.
|
||||
|
||||
### [B7] MẪU-SỐ — 30 dòng, **chấm tay từng dòng** (đây mới là mẫu-số, không phải output regex)
|
||||
|
||||
Corpus bị **các lane khác sửa GIỮA LÚC đo** (đã quan sát: `naming-standard.md` dòng trôi giữa 2 lượt chạy) ⇒ đóng băng 1 cây snapshot rồi chấm trên đó:
|
||||
```
|
||||
robocopy docs|scripts|.claude -> %TEMP%\lhm-snap-213114 (17 file governance, 30.3 MB)
|
||||
scripts/loi-hua-may-scan.ps1 -RepoRoot <snap> -> candidate 99 | mention 40 | proved 29 | FLAG 30
|
||||
```
|
||||
30 dòng đọc bằng MẮT, mỗi dòng 1 disposition + 1 ghi-chú → `scripts/loi-hua-may-baseline.json` (13.460 B, 30 entry, fragment ngắn nhất 51 ký tự, 30/30 fragment duy-nhất):
|
||||
|
||||
| disposition | n | nghĩa |
|
||||
|---|---|---|
|
||||
| `caveat-honest` | 12 | tự KHAI THIẾU ("mechanized = 0", "CHƯA CÓ MÁY", "mọi máy vẫn `exit 0`") |
|
||||
| `design-note` | 8 | mô tả ranh/thiết-kế của máy, không phải khẳng-định năng-lực mới |
|
||||
| `history` | 5 | biên bản sự-cố: máy nào bắt gì, khi nào |
|
||||
| `draft-proposal` | 3 | nằm trong tệp `*-se-draft.md` chưa wire |
|
||||
| `proof-elsewhere` | 1 | nêu 5 máy bằng STEM không đuôi `.ps1` — cả 5 đều tồn tại |
|
||||
| `debt-open` | 1 | nợ ghi rõ dạng dự-định ("CHƯA LÀM… cần một máy chặn/cảnh báo") |
|
||||
| **`violation-open`** | **0** | — |
|
||||
|
||||
🔴 **Đọc cho đúng con số 0 này:** *phân loại bằng MẮT của tôi, không phải máy phán*. Nó khớp với kết luận C6 (*"phần lớn là bản ghi lịch sử / honest-caveat / câu đã CÓ existence-proof"*) — nghĩa là **corpus governance của SE trung thực với class này trong phạm-vi C6**, chứ KHÔNG phải "đã quét sạch mọi thứ".
|
||||
|
||||
**Neo = fragment văn-bản, nên sống qua trôi dòng:** baseline sinh trên cây snapshot, đem áp lên **repo SỐNG** (đã bị lane khác sửa) vẫn khớp **30/30**:
|
||||
```
|
||||
powershell.exe -ExecutionPolicy Bypass -NoProfile -File scripts/loi-hua-may-scan.ps1
|
||||
# scope 17 file · candidate 99 -> mention 40 | proved 29 | baseline 30 | FLAG 0 (759ms)
|
||||
# breakdown: caveat-honest 12 | design-note 8 | history 5 | draft-proposal 3 | proof-elsewhere 1 | debt-open 1
|
||||
```
|
||||
Tổng baseline **luôn in vỡ theo disposition**, không in một số: "30 known" đọc thành 30 việc đã xong, còn "debt-open 1 / draft-proposal 3" thì giữ món nợ NHÌN THẤY.
|
||||
|
||||
### [B8] FAULT-INJECT trên CÂY TẠM + positive-control (acceptance a)
|
||||
|
||||
```
|
||||
CONTROL DƯƠNG cây snapshot NGUYÊN + baseline -> FLAG 0
|
||||
INJECT-1 thêm "detector nhịp này chặn mọi nhãn sai…" -> MED ritual-labels.md:152 no-proof-not-in-baseline ✅
|
||||
INJECT-2 thêm "…quét toàn bộ sổ bằng scripts/khong-he-co-may-nay.ps1" -> HIGH ritual-labels.md:153 proof-dead:… ✅
|
||||
INJECT-3a sửa KHÚC SAU của 1 dòng đã có trong baseline -> KHÔNG re-flag (baseline vẫn 30) ← giới hạn, khai ở §2
|
||||
INJECT-3b sửa ĐẦU dòng đó ("Fix DA XONG - máy đã canh…") -> baseline 30→29 + RE-FLAG MED ✅ chống-tắt-đèn
|
||||
```
|
||||
Cây tạm đã xoá sau khi đo (`snap removed: True`). **Repo thật 0 byte bị inject** — `git status --porcelain scripts/ + run-folder` cho đúng 2 dòng `??` của tôi (`loi-hua-may-scan.ps1`, `loi-hua-may-baseline.json`); các file governance đang `M` là của LANE-1/3/4/6, không phải tôi chạm.
|
||||
|
||||
### [B9] Phạm vi rộng `-All` (khai số, CHƯA phân loại)
|
||||
|
||||
```
|
||||
scripts/loi-hua-may-scan.ps1 -All
|
||||
# scope 46 file (+rules/gotchas/CLAUDE/commands/skills) · candidate 145 -> mention 49 | proved 48 | baseline 30 | FLAG 18 (1247ms)
|
||||
```
|
||||
18 dòng ngoài corpus C6 **chưa chấm tay** — cố ý: floor `goi-chot:55` chỉ đòi *tài-liệu governance MỚI*, hồi-tố là P-2 time-box (acceptance e). Khai số để không ai tưởng `-All` cũng đã sạch.
|
||||
|
||||
---
|
||||
|
||||
## 2. 🔴 KHAI THIẾU — đọc trước khi trích bất kỳ dòng nào ở trên
|
||||
|
||||
1. **Máy kiểm 1/3 mảnh của luật.** `goi-chot:52` đòi {máy tồn-tại + lệnh chạy được + test/positive-control}. Máy này verify được **mảnh 1** (máy có tồn tại trên đĩa không) và bắt được ca "0 máy nào được nêu tên". **Mảnh 2 + 3 grep không thấy** ⇒ **cổng-người C6 VẪN PHẢI SỐNG**. Cấm đọc thành *"cửa 4.4 đã cơ-giới-hoá trọn"*.
|
||||
2. 🔴 **CHƯA CÓ CỬA GỌI — máy này hiện chỉ chạy khi có người gõ tay.** Đây đúng hình dạng *"guard dựng mà không ai gọi"* mà `adap-upgrade-pack-tracking.md:147` gọi là phát hiện đắt nhất của W6. Cửa đề xuất: `session-end §L.b(k-ter)` (cùng chỗ `naming-scan.ps1` + `artifact-integrity.ps1`). **Tôi KHÔNG tự cắm**: file lệnh thuộc địa-bàn LANE-3, và sửa file lệnh = ENV-DEP **ăn từ phiên sau restart**. ⇒ để lead quyết.
|
||||
3. **Anchor phủ ~95 ký tự ĐẦU dòng** (INJECT-3a chứng): sửa ở khúc sau của một dòng dài sẽ KHÔNG bắt tái-duyệt. Trade-off có chủ đích (anchor dài = gãy vì mọi sửa vặt; anchor ngắn = tắt đèn nhầm). Khai, không giấu.
|
||||
4. **"0 violation-open" là phán của MẮT tôi**, không phải của máy — và chỉ trong 17 file corpus C6 tại thời điểm 2026-08-09 21:31.
|
||||
5. **Mẫu-số hôm nay = 30, KHÔNG phải 19.** 19 là mẫu-số lượt S144 dưới regex lỏng; cùng regex đó chạy hôm nay ra **29**. Ai đọc "19" như chỉ-tiêu cố định là đọc sai (`adap-report:39` đã cảnh báo đúng câu này).
|
||||
6. **Report 07-19 §4.4 hiện vẫn ghi *"máy-quét = DỰ-ĐỊNH, chưa có"*** — nay câu đó ĐÃ STALE. Tôi **cố ý không sửa**: `git status` cho thấy **LANE-5 đang mở đúng file đó** (C-9 addendum `tier:` override, phần đuôi 15/88 · 54/88 đã nằm trong file) ⇒ vào nữa là 2 người ghi 1 file. **Bàn giao lead/LANE-5**: thêm block MỚI (giữ dòng cũ, bài-5), evidence = `scripts/loi-hua-may-scan.ps1` + `-SelfTest 11/11` + fault-inject 3 ca, kèm caveat 1/3-mảnh ở mục 1 trên.
|
||||
7. **Artifact này bị hook `wal:` tự commit** (`20d32450 wal: flush 20260809T2131`) — **tôi không chạy git commit** (ranh cứng #6). 2 file `scripts/` vẫn `??` chờ lead gom.
|
||||
|
||||
## 3. VERDICT C-12
|
||||
|
||||
**DONE** — máy CÓ THẬT, chạy được, và cả 3 thứ checklist đòi đều có mặt & đo được:
|
||||
|
||||
| Checklist đòi | Trạng thái | Bằng chứng |
|
||||
|---|---|---|
|
||||
| máy-quét lời-hứa-máy 4.4 | ✅ dựng + chạy | `scripts/loi-hua-may-scan.ps1` (24 KB, ASCII-only 0/24270 byte non-ASCII), 759ms |
|
||||
| **mẫu-số** | ✅ **30** chấm tay (≠ 19 của S144, đã tái-lập số cũ = 29) | `scripts/loi-hua-may-baseline.json` 30 entry + bảng disposition |
|
||||
| **positive-control** | ✅ 11/11 self-test + 3 fault-inject trên cây tạm + control dương | `-SelfTest` exit 0 · `-RepoRoot <snap>` |
|
||||
| **use ⟂ mention** | ✅ tách bằng **enclosure**, 40 dòng mention bị loại đúng | `Get-MentionReason` m1/m2/m3 + control C3 |
|
||||
|
||||
Nhánh khai "chưa dựng, đã phân loại" của checklist **không phải dùng đến**. Nhưng 7 khai-thiếu ở §2 là phần KHÔNG được cắt khi trích dẫn kết quả này.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user