wal: flush 20260716T1930

This commit is contained in:
pqhuy1987
2026-07-16 19:30:09 +07:00
parent 44a906f11e
commit d0de843058
5 changed files with 270 additions and 11 deletions

View File

@ -6,8 +6,8 @@ chain:
[x] check-email AI_INFRA: nhận 6 file (1 thư + 5 broadcast), verify hash 6/6 PASS 2-tuyến, sha khớp thư hub (85bf89ca·291550ff·190c11ba·9234a7aa·f5ce2778), log 7 row INBOUND status=pending (bằng chứng: broadcasts/inbox/2026-07-1[56]-*.md + broadcasts/_index.md)
[x] Giai đoạn A — fable-real reviewer #1 (engine: fable-real-single·Fable-S127, spec 3-mục H21): VERDICT GO-ADAP, BÁC claim thư hub "bản 2 duy nhất" bằng rag.json:26 contextual_retrieval=true override ACTIVE; V1 lead spot-check 3/3 khớp; AC 8/8; harvest 1-entry (bằng chứng: .claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-reviewer-1-verdict.md + agent-memory/reviewer/MEMORY.md entry S127)
[x] H24 tick 5→6 (head c1b9566) light 3/6 deep 3/15 OVERDUE-none + fail-loud ancestor-check → root-cause dangling-by-squash-S126, ghi event history KHÔNG silent-reset (bằng chứng: .claude/governance/.session-counter.json history[0])
[~] Giai đoạn B — ĐANG CHẠY NỀN (S128 /tiep verify 5/5 → spec-B `spec-invest-cach-lam-16-07-2026.md` → spawn investigator-codebase model:fable). Sub ghi draft tăng-dần `sub-investigator-2-spec-draft.md` — phiên đứt thì VỚT DRAFT TỪ ĐĨA (N9), đừng re-run mù. Xong → lead V1 spot-check ≥3 anchor → ghi spec-execute
[ ] Giai đoạn C — fable-real reviewer #2 re-review spec (anh đã gõ lệnh 3 trong đề bài S127) → D — HMW execute workers Opus-MAX (RUN-TRACE folder này) + HMW review RIÊNG (Harness-9 2-workflow) → E — adap-reports ×5 + _index STAGE-2 move (pending→ai_infra) + email hub gộp
[x] Giai đoạn B — draft 6/6 việc XONG trên đĩa (return garble #53 nhưng ghi-đĩa-trong-lúc-làm cứu trọn); V1 lead 5/5; LỆCH-1 rag.json TRONG repo SE; lead chốt spec-execute-dot-16-07.md 3-wave + 3 owner-gated (bằng chứng: runs/.../sub-investigator-2-spec-draft.md + spec-execute-dot-16-07.md)
[~] Giai đoạn C — ĐANG CHẠY NỀN (S128): fable-real reviewer #2 re-review `spec-execute-dot-16-07.md` + draft (consent lệnh 3 S127). Sub ghi verdict tăng-dần `sub-reviewer-3-verdict.md` — đứt thì vớt đĩa. Xong → lead fold fixes → D — HMW execute workers Opus-MAX (RUN-TRACE folder này) + HMW review RIÊNG (Harness-9 2-workflow) → E — adap-reports ×5 + _index STAGE-2 move (pending→ai_infra) + email hub gộp
[ ] 🔒 CHỜ ANH (3 quyết-định cũ S126, giữ nguyên): B3 mega-line giữ/tách/re-tier + B4 diff 1-dòng memory-budget.json:74 (đề-xuất: runs/2026-07-16-S126-adap-spec-execute/b3-b4-owner-gated-proposals.md) + mark S123 (ACTIVE-MARKS.md:33)
[ ] CHỜ HUB (thu hẹp còn 1): ask do-token reply/re-stamp (errata batch hub đang soạn). Ask #2 bookend-NO-DECLARED-SHA ĐÃ RESOLVE S127 (bản published sha 85bf89ca nằm trong inbox)

View File

@ -110,6 +110,8 @@ Bearer từ `POST api.solutions.com.vn/api/auth/login` → status matrix expecte
- **[→ archive/2026-07.md @S125 verbatim] S122 retro-harvest 7 orphan (6/6 lane 0-garble):** 🔴 LẬT tiền-đề — **0/7 mất, 7/7 XONG chỉ synthesis SAI CHỖ** (orphan đo TÊN không đo NỘI-DUNG, 8 dương-giả/25=32%) · lane-RỖNG ≠ mất (per-turn ≠ per-task) · memoryPack premise CÓ THỂ SAI — lane tự truy git đừng tin brief. Tag `[s122-retro-harvest, false-orphan-by-naming]`.
- **S126 (2026-07-16) A2 worker-pin tally + B1 all-inherit sweep [opus ×2, em-main VERIFY+APPEND]:** A2: **14/14 opus + 14/14 max** — lane no-tier CHÍNH NÓ resolve `claude-opus-4-8` DÙ lead=Fable ⇒ pin ăn runtime. B1: 284 instance → **15 floor-sống/5 file** + 26 lineage + 235 frozen; ⭐ nặng nhất `vocab-alias-map.md` §3 TỰ khai all-inherit="Canonical (hiện hành)" — doc chống-fork tự fork; class = S125 vá 2 command-file KHÔNG grep sibling governance. Lesson: mega-line blow Read-cap → perl-window giữ file:line; 2-pattern grep LỌT biến-thể không-literal (runbook:119 "lead-runtime (inherit)") — cần mắt-người pass khi vá. Em-main vá 15+3, fault-inject Section-D 2-chiều PASS, re-grep 0 floor-sống. Tag `[s126, h23-precedence, all-inherit-sweep]`.
- **S128 (2026-07-16) adap-đợt-16-07 B ground-truth 6-việc + spec-draft [fable-real-single; return GARBLE #53 → lead ghi on-behalf sau verify-đĩa 5/5]:** ⭐ LỆCH-1: config RAG per-project nằm TRONG repo con — `AI_INFRA\claude-rag\lib\projects.py:43-56` walk-up cwd tìm `.claude/rag.json`, `cfg.setdefault` chỉ merge key THIẾU ⇒ SE `rag.json:26 true` override THẮNG default `False` khung (`projects.py:39` owner-final) ⇒ flip = in-repo edit, KHÔNG cross-repo. · Nhãn-đo sweep: CHỈ C1 `crystallized-backfill.ps1:25/:117` mang "calibrated"; `mfe-eval.ps1:166-180` CÙNG divisor /4.0-/3.0 nhưng honest-RANGE không-nhãn ⇒ cùng-số-khác-tội — nhãn là vấn-đề, không phải hằng-số. · `budget.measured` 0 automated reader (`memory-selfimprove-audit.ps1:18/:110` khai stale+ignore; archive-gate/backfill đo live) — MẠNH hơn seed verdict A "1 reader ignore". · Ghi-đĩa-TRONG-lúc-làm cứu trọn draft 6/6 việc khi return garble (bài S123 lần đầu chạy THẬT ở lane invest). Draft: `runs/2026-07-16-S127-adap-dot-16-07/sub-investigator-2-spec-draft.md`. Tag `[s128, adap-dot-16-07, lech-1-config-in-repo, ghi-dia-trong-luc-lam]`
## 🔄 Curate trigger
- >~30KB → archive recent → L2 `archive/<period>.md` (byte-exact append) + `_INDEX.md` substring pointer. Stale >3mo → remove.
- **Last curate: 2026-07-16 S125 (em-main single-writer, hook-triggered @23.9KB)** — 14 dòng ≈9.5KB (5 cluster digest S87-89/06-20/S69-76/S65-69/S71 + 2 section S117 + block S122 retro-harvest) verbatim byte-exact → `archive/2026-07.md`, thay stub giữ anchor nóng. L1 ~15KB.

View File

@ -16,7 +16,7 @@
## Giai đoạn
- [x] **A** — fable-real reviewer #1: **GO-ADAP** (verdict + AC 8/8 → `sub-reviewer-1-verdict.md`; V1 lead spot-check 3/3 khớp; harvest 1-entry reviewer MEMORY S127 [engine: fable-real-single · Fable-S127])
- [~] **B** — fable-real investigator-codebase: ground-truth SE + PROPOSE spec-cách-làm chi-tiết + checklist (lead verify → ghi spec execute) — 🔄 S128 /tiep nối mạch (verify 5/5 khớp), spec-B ghi `spec-invest-cach-lam-16-07-2026.md`, spawn `model:fable` ĐANG CHẠY NỀN. Chống #53: sub ghi draft TĂNG-DẦN vào `sub-investigator-2-spec-draft.md` — nếu phiên đứt giữa chừng, VỚT DRAFT TỪ ĐĨA (per-turn ≠ per-task N9), đừng re-run mù. Consent: lệnh `/fable-real invest` anh đã gõ trong đề bài S127 (per-invocation H21, note cũ giữ hiệu lực).
- [x] **B** — fable-real investigator-codebase (S128, spec `spec-invest-cach-lam-16-07-2026.md`): draft 6/6 việc HOÀN TẤT trên đĩa `sub-investigator-2-spec-draft.md` (~218K tok · 48 tool-use · ~16 phút). ⚠️ RETURN GARBLE #53 (dòng mô-tả-hành-động thay VERDICT-header) — ghi-đĩa-trong-lúc-làm CỨU TRỌN, 0 mất, không re-run. V1 lead 5/5 anchor PASS. **LỆCH-1:** config flip nằm TRONG repo SE (`.claude/rag.json:26` — projects.py walk-up + setdefault) ⇒ Việc 1 = in-repo edit, KHÔNG cross-repo. Lead chốt `spec-execute-dot-16-07.md` (3 wave + 3 owner-gated proposals). memoryDelta: lead ghi on-behalf sau verify-đĩa.
- [ ] **C** — fable-real reviewer #2: re-review spec execute → GO/NO-GO + fixes fold
- [ ] **D** — HMW execute (workers opus max, RUN-TRACE này) + HMW review riêng (Harness-9 2-workflow)
- [ ] **E** — adap-reports ×5 + _index STAGE-2 move + email hub + closeout

View File

@ -0,0 +1,39 @@
# SPEC-EXECUTE — adap đợt 16-07 (Giai đoạn D input; C re-review file này + draft)
> Lead chốt từ `sub-investigator-2-spec-draft.md` (canonical detail — B1 trỏ, KHÔNG chép; mọi diff before→after + lệnh verify + acceptance per việc nằm ở đó, V1 lead 5/5 anchor PASS: rag.json:26/:31 · budget:123 · backfill:25/:117-119 · budget:89/:92 · bookend-report:8). Return sub garble #53 nhưng draft ghi-đĩa-trong-lúc-làm → 0 mất.
## ① Đề-bài D
Execute 6 việc adap đợt broadcast 16-07 theo draft, chia 3 wave + 1 nhóm owner-gated. Engine D: HMW workers Opus-MAX (worker-tier-pin S124, RUN-TRACE folder này) + HMW review RIÊNG sau execute (Harness-9 2-workflow).
## ② Thứ-tự wave + lane + gate (lead chốt)
**Wave-1 — diff nhỏ độc-lập (workers song-song được):**
1. Việc 1: flip `.claude/rag.json:26` true→false + rationale :31 (diff ở draft §VIỆC-1; LỆCH-1: file TRONG repo SE, KHÔNG đụng AI_INFRA). Verify: python parse in `False`.
2. 4a: hạ-nhãn C1 `scripts/crystallized-backfill.ps1:25,:117` calibrated→heuristic (comment-only; pure-ASCII #30 — ⚠️ wording draft :134 có chữ Việt-có-dấu, worker PHẢI chuyển ASCII-safe khi apply vào .ps1).
3. 4c: câu cửa-duyệt measured-label vào `.claude/agents/reviewer.md` sau §"Apply 5-category checklist" (nấc verified-pending — agent .md không hot-reload).
4. 2a: bookend adap-report dòng 8 "7 khoản cũ SAI"→"5 sai/sai-một-nửa + 2 chỉ đổi-cách-đọc" (+2 note ngoặc, giữ enumeration).
5. 2b-file1: `session-start.md:206` re-tune neo cycle-2 CỦA SE (wording draft §2b; giữ vế đầu nguyên).
**Wave-2 — 5 adap-reports (REPORT-FORMAT LOCK 5 trường, khuôn `adap-report.md:13-19`):**
6. Bản 2 NEW: transcribe bảng 7×3 + kết-luận q1/q2/q3 từ draft §VIỆC-3 (KHÔNG tự điều-tra lại) + đề-xuất seal-verify = CHỜ-ANH.
7. Bản 3 NEW (4d): kiểm-kê + C1 executed + C2 chờ-anh + positive-exemplars.
8. Bản 4 NEW: nấc `agreed` nắm-hướng, trích hub §7 "chưa build, chưa dùng thử", 0 câu "SE sẽ áp mục 2".
9. Bản 5 NEW: nấc `executed`, evidence diff Việc-1 + verify-output; caveat re-bootstrap = AI_INFRA-op.
10. Bản 1 UPDATE: mục "Re-verify nhịp S127-S128" (4 sàn nguyên · counter GIỮ 3→6/2-ngày · 2 citation: 1 re-tuned + 1 owner-gated · STAGE-2 done-ở-wave-3).
**Wave-3 — chốt tuần-tự (1 worker, thứ-tự CỨNG):**
11. Email hub GỘP 1 thư (khuôn draft §VIỆC-6; full-grammar VN outward; selftest-stamp 6c NGAY sau Write + `_index` bước 7 CÙNG LƯỢT; ask do-token GIỮ pending).
12. 2d STAGE-2: move 6 file inbox→`inbox/ai_infra/` + flip 6 row `_index` (hash-verify byte-preserve trước+sau move). Chạy CUỐI vì reports đọc file gốc.
**Owner-gated — KHÔNG chạy wave này, ghi `owner-gated-proposals-dot-16-07.md` (khuôn S126 b3-b4) chờ anh:**
- (i) 2b-file2 `_owner_ratified` budget:123 wording mới (số 6/15/3 GIỮ).
- (ii) 4b C2: option-iii rename `measured_token_estimate``token_floor_estimate` vs option-ii exemption-note sibling.
- (iii) Việc-3 seal-verify sau move: codify doc-checklist vào nghi-thức curate hay defer.
- *Điều-chỉnh lead vs draft:* draft cho "anh OK rồi worker apply trong D" — em chốt AN-TOÀN hơn: proposals-file only, apply lượt sau khi anh trả lời (mạch D không block, không đụng vùng owner-ratified khi anh vắng).
## ③ Acceptance D (tổng)
- Per việc: chạy đúng lệnh verify trong draft (expected output ghi sẵn) — worker PASTE output thật vào sub-file mình.
- Tổng: `git status` sạch ngoài diff dự-kiến · JSON parse OK 2 file sửa (.claude/rag.json + không đụng memory-budget.json) · backfill.ps1 chạy exit-0 · 5 reports đủ 5-trường (grep) · email stamp PASS + `_index` OUTBOUND +1 · 6 file moved hash-khớp · commit scope `[CLAUDE] Docs/Governance/Scripts` theo convention.
- Post-D: HMW-review riêng (Harness-9) trước commit-push; commit đụng `scripts/*.ps1` + `rag.json` → KHÔNG phải docs-only → CI chạy → cicd-monitor verify sau push.

View File

@ -1,18 +1,236 @@
# sub-investigator-2 — spec-cách-làm draft (Giai đoạn B, fable-real single deep-pass)
> Ghi TĂNG-DẦN trong lúc làm (chống #53, bài S123). Trạng thái: ĐANG GHI.
> Ghi TĂNG-DẦN trong lúc làm (chống #53, bài S123). Trạng thái: **HOÀN TẤT** (6/6 việc ground-truthed + spec'd).
> Engine: fable-real-single · investigator-codebase · 2026-07-16 · run S127-adap-dot-16-07
> Nguồn: spec-invest-cach-lam-16-07-2026.md + sub-reviewer-1-verdict.md (verdict A) + 6 broadcast inbox (hash 6/6 verified ở run.md)
## Trạng thái ground-truth per việc
- [ ] Việc 1 (bản 5) — rag.json AI_INFRA
- [ ] Việc 2 (bản 1) — re-verify nhịp 4 mục
- [ ] Việc 3 (bản 2) — 3-câu-hỏi × 7 vòng lặp
- [ ] Việc 4 (bản 3) — nhãn đã-đo
- [ ] Việc 5 (bản 4) — n-a nắm-hướng
- [ ] Việc 6 (thư 0) — adap-reports ×5 + email gộp
- [x] Việc 1 (bản 5) — rag.json — GT XONG (LỆCH-1 vị-trí: file trong repo SE)
- [x] Việc 2 (bản 1) — re-verify nhịp 4 mục — GT XONG (a/b/c/d đều verified đĩa)
- [x] Việc 3 (bản 2) — 3-câu-hỏi × 7 vòng lặp — GT XONG (bảng 7×3 + seal-gap loop 2/7 confirmed)
- [x] Việc 4 (bản 3) — nhãn đã-đo — GT XONG (C1+C2 verified; sweep ứng viên 3 = 0 độc-lập mới, 2 borderline cùng-lớp)
- [x] Việc 5 (bản 4) — n-a nắm-hướng — GT XONG (hub tự khai §6/§7)
- [x] Việc 6 (thư 0) — adap-reports ×5 + email gộp — GT XONG (khuôn LOCK + send-email 6c/7 + WAL:12)
---
# VIỆC 1 (bản 5, f5ce2778) — flip `contextual_retrieval` true→false
## Ground-truth (TỰ MỞ đĩa)
| Anchor | Đĩa nói | vs verdict A |
|---|---|---|
| `D:\...\SOLUTION_ERP\.claude\rag.json:26` | `"contextual_retrieval": true,` | ✓ KHỚP (nhưng file ở repo SE — xem LỆCH-1) |
| `...\rag.json:31` | rationale `"Flag true but per v1.3 §12.1 + §9.4: ... Evaluate per eval recall@5 trial week 3."` — trial 2026-06-16 treo, không chạy | ✓ KHỚP |
| `AI_INFRA\claude-rag\lib\projects.py:39` | `"contextual_retrieval": False, # OWNER-FINAL 2026-07-16 (s100)...` — default khung ĐÃ false + owner-final rationale sẵn | ✓ KHỚP (mirror — SE KHÔNG sửa) |
| `AI_INFRA\.claude\rag.json:33` | hub tự config `false` từ 2026-05-26 (rationale :38) | (bổ sung — khớp claim bản 5 "default false từ cuối tháng Năm") |
| `projects.py:54 cfg.setdefault` | chỉ merge key THIẾU → SE override `true` THẮNG default | Xác nhận hedge "đúng sẵn" KHÔNG áp SE ✓ |
## Spec execute
- **File đích:** `D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP\.claude\rag.json` (TRONG repo SE — KHÔNG đụng AI_INFRA)
- **Diff:**
- Line 26 before: ` "contextual_retrieval": true,` → after: ` "contextual_retrieval": false,`
- Line 31 before: `"contextual_retrieval_rationale": "Flag true but per v1.3 §12.1 + §9.4: SOLUTION_ERP chunks self-contained (gotchas, patterns, decisions) → Contextual Retrieval prepend likely wasteful. Evaluate per eval recall@5 trial week 3."`
- after (đề xuất): `"contextual_retrieval_rationale": "FALSE — OWNER-FINAL fleet-wide 2026-07-16 (broadcast f5ce2778: hub-owner chốt false toàn fleet; flag trong khung chỉ gate structural title-prepend ở chunking.py — 0 API-call, KHÔNG phải dead-config-vì-thiếu-key). Lineage SE: true 2026-05-26 → flip S127 2026-07-16. Rationale cũ 'Evaluate trial week 3' = revisit ĐÓNG bởi owner-final (trial không chạy). Recall-delta chưa đo (hub khai); data đã nhúng giữ nguyên tới re-bootstrap kế (AI_INFRA op). Mirror khung: projects.py:39 default False."`
- **Lệnh verify (chạy được):**
```powershell
python -c "import json; c=json.load(open(r'D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP\.claude\rag.json', encoding='utf-8')); print(c['contextual_retrieval'])"
# expected output: False (đồng thời chứng JSON parse OK — không vỡ file)
```
- **Owner-gate:** KHÔNG cần gate mới — hub-owner đã chốt fleet-wide + anh đã gõ `/adap-apply` trong đề bài S127 (consent per-invocation). Quyền SE sửa = tiền lệ S41 tự sửa `exclude_paths` cùng file. Báo anh trong closeout + báo hub 1 dòng (gộp email Việc 6). Hiệu-lực index chờ re-bootstrap = AI_INFRA-op (KHÔNG tự chạy bootstrap.py — charter v2, cần VOYAGE key).
- **Lane D:** HMW-worker mechanical ✅ (edit in-repo 2 dòng + verify; KHÔNG cross-repo write)
- **Acceptance D:** lệnh verify trên in `False` + `git diff --stat` chỉ 1 file `.claude/rag.json`.
---
# VIỆC 2 (bản 1, 85bf89ca) — re-verify nhịp: 4 mục (a)-(d)
## Ground-truth (TỰ MỞ đĩa)
| Anchor | Đĩa nói | vs verdict A |
|---|---|---|
| `docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md:8` | `...7 khoản cũ SAI (3 nhịp · "ở nguồn" 6/15/3 · >=/OVERDUE · "đến hạn" trigger · "delta run-2" · self-check >= · "dogfood mốc-0").` | ✓ KHỚP — "7 khoản cũ SAI" lệch bản published (broadcast §2: "năm thành sai hoặc sai một nửa, hai khoản đổi cách đọc"; reviewer_gate M-1 fold "3-chỗ") |
| `.claude/commands/session-start.md:206` | Honest-caveat: `hub nói rõ "số của các em..." ... Chỉnh lại sau chu-kỳ-2 — n=1 ở hub là mocc-0, chưa ai được bán "đã chứng minh hiệu-quả"` | ✓ KHỚP — stale: neo "n=1 ở hub / mốc-0 hub" (hub ĐÃ GỠ counter → không bao giờ có run-2 hub; typo "mocc-0") |
| `.claude/agent-memory/memory-budget.json:123` `_owner_ratified` | `"...anh chot 6/15/3, 'tuong tu Hub'... Re-tune after cycle-2 (H24 caveat (c): the real delta only appears from run-2; n=1 at the hub is mocc-0...)"` | ✓ KHỚP — stale cùng class: "tuong tu Hub" + neo run-2 CỦA HUB (nay không tồn tại) |
| `.claude/governance/.session-counter.json:13-20` | `counter=6, last_ticked S127 (07-16), last_audit light/deep@3 (S124, 07-15)` → tick 3→6 trong 2 ngày | ✓ KHỚP verdict A "(c) GIỮ counter — phiên ngắn-nhiều, điều-kiện gỡ hub (1-phiên/ngày + trả-mọi-lượt) KHÔNG áp" |
| `broadcasts/_index.md:33-38` | 6 row INBOUND 2026-07-16, tất cả `pending` + folder `(root)` | ✓ KHỚP — khuôn move: header `:11` "pending (ở inbox/ root) → processed (đã MOVE vào inbox/<from>/)" |
## Spec execute (4 sub-việc)
### 2a — sửa adap-report bookend dòng 8
- **File đích:** `D:\...\SOLUTION_ERP\docs\governance\adap-reports\2026-07-15-Governance-h17-cadence-update-bookend.md`
- **Diff dòng 8:** before `...chuyển **bookend** (rà đầy-đủ 2-đầu mỗi phiên). 7 khoản cũ SAI (3 nhịp · ...)` → after `...chuyển **bookend** (rà đầy-đủ 2-đầu mỗi phiên). 7 khoản cũ cần soi lại — **5 sai/sai-một-nửa + 2 chỉ đổi-cách-đọc** (3 nhịp · "ở nguồn" 6/15/3 · >=/OVERDUE · "đến hạn" trigger [lõi (a) máy-không-tự-bắn VẪN ĐỨNG] · "delta run-2" · self-check >= [idempotent GIỮ] · "dogfood mốc-0").` — GIỮ nguyên enumeration 7 mục, chỉ sửa phân-loại tổng + chèn 2 note ngoặc.
- **Verify:** `Select-String -Path "docs\governance\adap-reports\2026-07-15-*.md" -Pattern "5 sai"` → 1 hit; `-Pattern "7 khoản cũ SAI"` → 0 hit.
- **Gate:** không — đây là đính-chính khớp bản published (derived-flush class). Lane D: HMW-worker ✅.
### 2b — 2 citation stale re-tune (neo cycle-2 CỦA SE)
- **File 1:** `.claude/commands/session-start.md:206` — before: `**Chỉnh lại sau chu-kỳ-2** — n=1 ở hub là mocc-0, **chưa ai được bán câu "đã chứng minh hiệu-quả"**.` → after (đề xuất): `**Chỉnh lại sau chu-kỳ-2 CỦA SE** (deep-audit lần 2, xem .session-counter.json last_audit). Hub đã GỠ counter (bookend 07-15, sha 85bf89ca) → ví-dụ 6/15/3 "ở nguồn" = lịch-sử, KHÔNG còn mốc hub để so; delta hub hứa từ run-2 KHÔNG BAO GIỜ có (hub gỡ trước run-2) — **chưa ai được bán câu "đã chứng minh hiệu-quả"**.` (giữ vế đầu dòng 206 nguyên: "SE chọn cùng 6/15/3 là điểm khởi-đầu anh CỐ Ý chọn").
- **File 2:** `.claude/agent-memory/memory-budget.json:123` `_owner_ratified` — before chứa `'tuong tu Hub'` + `Re-tune after cycle-2 (H24 caveat (c): the real delta only appears from run-2; n=1 at the hub is mocc-0, so nobody may sell 'proven effective' yet)` → after (đề xuất, ASCII-safe giữ style file): `"owner-decisions-15-07-2026 Q2 -- anh chot 6/15/3 (dat thoi diem do hub CUNG dung 6/15/3; hub GO counter 2026-07-15 bookend 85bf89ca -> vi-du 'o nguon' nay la LICH-SU, khong con moc hub). HONEST-CAVEAT khi bao hub: SE chon 6/15/3 = DELIBERATE STARTING POINT cua owner, NOT copy vo-thuc. Re-tune after cycle-2 CUA SE (deep-audit lan 2 tinh tu .session-counter.json last_audit; delta hub hua tu run-2 khong bao gio co - hub go truoc run-2), nobody may sell 'proven effective' yet."`
- **Verify:** `Select-String -Path ".claude\agent-memory\memory-budget.json" -Pattern "mocc-0|tuong tu Hub"` → 0 hit; JSON parse OK: `python -c "import json; json.load(open(r'.claude\agent-memory\memory-budget.json', encoding='utf-8')); print('OK')"`. session-start.md: `Select-String -Pattern "n=1 ở hub"` → 0 hit.
- **Gate:** `_owner_ratified` là lời-chốt CỦA ANH → wording đổi cần anh XÁC NHẬN 1 dòng (không đổi 6/15/3, chỉ đổi câu neo). Lane D: soạn diff = HMW-worker; APPLY memory-budget.json chờ anh OK (session-start.md:206 = doc dẫn-xuất, worker apply được).
### 2c — counter GIỮ NGUYÊN (0 diff)
- Không sửa gì. Ghi vào adap-report: điều-kiện gỡ của hub (§4 bookend: 1-phiên/ngày + owner-trả-mọi-lượt) KHÔNG áp SE — bằng-chứng đĩa: counter 3→6 trong 2 ngày (`.session-counter.json:13-16`). Lane D: đưa vào text adap-report Việc 6.
### 2d — STAGE-2 move 6 file inbox root → `inbox/ai_infra/` + flip 6 row _index
- **Khuôn hiện tại (đĩa):** `_index.md:11` — pending (root) → processed (MOVE vào `inbox/<from>/`). 6 file: `2026-07-16-ai_infra-to-se-huong-dan-adap-4-ban-moi.md` + `2026-07-15-Governance-h17-cadence-update-bookend.md` + 4 file `2026-07-16-Governance-*.md`.
- **Diff:** `git mv broadcasts/inbox/<6 file>.md broadcasts/inbox/ai_infra/` + `_index.md` 6 row: `pending`→`processed`, `(root)`→`ai_infra` (sha cột GIỮ).
- **Verify:** `(Get-ChildItem broadcasts\inbox\*.md).Count` → 0 file .md còn ở root; `Get-FileHash` 3 file spot-check sau move == sha-prefix trong _index (byte-preserve); `Select-String -Path broadcasts\_index.md -Pattern "\(root\)"` → 0 hit ở 6 row đó.
- **Thứ-tự:** move SAU KHI adap-reports ×5 viết xong (Việc 6) — vì adap-report cần đọc file gốc; move là bước chốt xử-lý. Lane D: HMW-worker ✅ (mechanical, có verify hash).
---
# VIỆC 3 (bản 2, 291550ff) — inventory 3-câu-hỏi × 7 vòng lặp SE
## Ground-truth: bảng 7 vòng × 3 câu (mọi anchor TỰ MỞ đĩa)
| # | Vòng lặp | q1: trigger đọc instrument SỐNG? | q2: bảo-toàn-byte + NIÊM-PHONG? | q3: ĐO/LÀM tách + phanh? |
|---|---|---|---|---|
| 1 | wal-flush Stop-hook (`.claude/hooks/wal-flush.ps1`) | SỐNG — `git diff --cached --quiet` per-path (:17-18) mỗi turn; sau commit diff rỗng → hội tụ | không move; git commit = content-addressed sha (niêm-phong máy sẵn) | ĐO=:17-18 / LÀM=commit :20-23 chỉ khi cand>0; phanh = rebase-interlock :12 + fail-open :2 |
| 2 | memory-archive-gate.ps1 (planner L1-cap) | SỐNG — PASS-1 đo byte MEMORY.md trên đĩa mỗi run (header :11-15); tunables đọc live từ budget `archive_gate` (:44-51) | ⚠️ **GAP THẬT** — gate = DRY-planner (:6-7 "Does NOT move"); MOVE do em-main TAY; A7 chỉ verify pointer-resolve + file-exists + size>0 (:16-19) ≠ niêm-phong nội-dung; byte-preserve = kỷ-luật tay (vd budget:153 tooling-auditor S106 "moved-not-cut md5-verified") | ĐO=planner / LÀM=người; phanh đủ 3 tầng: A4 hysteresis 0.85 + A5 keep_floor 5 + A6 strike 2 (budget:34-37) |
| 3 | crystallized-backfill.ps1 | SỐNG — đo byte `hotload_sources` tươi mỗi run (:105-115); KHÔNG đọc `budget.measured` | n/a — DRY print-only; pour = em-main tay per-session | ĐO=print plan / LÀM=tay; phanh = precondition `target>0 AND headroom>0` (:126-131); target = owner-authority (budget:74) |
| 4 | governance-detectors.ps1 | SỐNG — đọc docs live + config `h24_cadence` từ budget; key thiếu → **FAIL-LOUD đo-0, cấm default** (:833-845) | n/a — flag-only, không move | ĐO-only by design; LÀM=em-main; INFORM-not-enforce |
| 5 | measure-agent-memory.ps1 | Script đo SỐNG (`Get-Item .Length` :14-23, stdout-only :36-41 — KHÔNG tự ghi budget); NHƯNG snapshot transcribe vào `budget.measured` (:144) = ĐÔNG-CỨNG giữa 2 lần chạy. **Đã được né đúng cách:** consumer `memory-selfimprove-audit.ps1:18` + `:110` khai "budget.measured is STALE — re-measure on disk / ignored"; archive-gate cũng đo live ⇒ **0 trigger tự-động đọc snapshot** (display/bookkeeping-only) | n/a | ĐO-only |
| 6 | sleep-recovery L2 gist (`.claude/commands/sleep-recovery-memory-l2.md`) | SỐNG — trigger tay HOẶC INFORM-only đọc `last_sleep_at` (budget:4); field do CHÍNH command set sau run (Phase 4.4, :54) = instrument phản-ứng hành-động vòng lặp; skip file đã có `.gist.md` (:59) → hội tụ | DERIVE additive KHÔNG move (verbatim ở-lại-đĩa :28); seal-analog = coverage-diff GATE (budget l2_gist rule :29) + reviewer Fidelity (G-001) — kiểm NGƯỜI/AI, chưa máy | ĐO=Phase 0.2 detect / LÀM=nén reviewer-gated; phanh = double-distill guard `distill-gen≥1` REFUSE (:60) + guard-rỗng |
| 7 | curate L1→L2 (nghi-thức em-main closeout) | SỐNG — trigger = size L1 đọc thật lúc closeout (MEMORY.md curate log: hook-triggered @23.9KB/@21.4KB) + planner loop-2 đo live | ⚠️ **GAP cùng lớp loop-2** — "byte-exact append" + append-only (budget l2_verbatim :24) = kỷ-luật TAY; không phép niêm-phong máy sau move | ĐO=planner / LÀM=người; phanh = A4/A5/A6 + value_protect advisory (budget:38-41) |
## Kết luận inventory (input cho adap-report bản 2)
- **q1:** KHÔNG có bom instrument-đông-cứng loại hub — mọi trigger đọc live; snapshot đông-cứng duy nhất (`budget.measured`) có 0 consumer tự-động (bị ignore chủ-động, evidence `memory-selfimprove-audit.ps1:18,110`). Standing-note: CẤM wire trigger tương-lai vào `budget.measured` — nếu cần thì tái-cơ-sở như bài hub.
- **q2:** **GAP THẬT tập trung ở 2 vòng CÓ MOVE (loop 2+7)**: có bảo-toàn-byte kỷ-luật-tay + pointer-check A7, **KHÔNG có niêm-phong máy** (kho-mới = kho-cũ + phần-thêm đúng byte + khối-dời là substring nguyên văn). Khớp seed verdict A.
- **q3:** mọi vòng có LÀM đều tách tầng + có phanh (hysteresis/keep-floor/strike/precondition/distill-guard/interlock).
## Spec execute
- **File đích:** `docs/governance/adap-reports/2026-07-16-Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung.md` (NEW, REPORT-FORMAT LOCK 5 trường — khuôn `adap-report.md:13-19`)
- **Nội dung:** nấc `executed` (inventory tự-áp = chính hành-động adopt; 3 câu hỏi đã chạy trên 7 vòng) · evidence = bảng trên (file:line) · tailored = "port nguyên 3 CÂU HỎI; ngưỡng/số hub KHÔNG chép (SE đã có phanh riêng A4/A5/A6 từ H11)" · honest-caveat = seal-gap loop 2+7 + đề-xuất-chờ-anh.
- **Đề-xuất chờ anh (KHÔNG build wave này):** codify bước **seal-verify sau move** vào nghi-thức curate (md5 file trước/sau + `Select-String -SimpleMatch` đầu/cuối khối-dời trong archive = substring-containment) — mức NGHI-THỨC/doc-checklist, chưa viết tool (đúng mandate bản 2 "KHÔNG bảo bạn chép công-cụ").
- **Verify:** file tồn tại + đủ 5 trường (`Select-String -Pattern "nac G-011|evidence|tailored|honest"`) + có từ "niêm-phong" trong caveat.
- **Lane D:** HMW-worker mechanical ✅ (transcribe từ bảng draft này — KHÔNG cần tự điều-tra lại); seal-verify codify = CHỜ-ANH.
- **Acceptance D:** `Test-Path docs\governance\adap-reports\2026-07-16-Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung.md` → True; grep 5 trường đủ.
---
# VIỆC 4 (bản 3, 190c11ba) — kiểm-kê nhãn "đã-đo" + xử 2 ứng viên + câu cửa-duyệt
## Ground-truth kiểm-kê (grep `calibrat|measured|empirical|đã-đo` toàn `scripts/*.ps1` + `hmw.js` + `memory-budget.json`)
| Ứng viên | Đĩa nói | Phân loại |
|---|---|---|
| **C1** `scripts/crystallized-backfill.ps1:117` (+ header :25 "CALIBRATED RANGE") | `# calibrated RANGE (invariant 4): tok_low = bytes/4, tok_high = bytes/3.0` — :118-119 hardcode `/4.0` `/3.0`; KHÔNG assert, KHÔNG negative-control, KHÔNG data-point gốc | ✓ KHỚP verdict A — nhãn sống bằng uy-tín |
| **C2** `memory-budget.json:89` `"measured_token_estimate": 55000` | TÊN field mang "measured"; note :90 tự khai "**honest mid estimate** (~19K byte-measured + ~36K harness-injected-**est**)"; :92 khai "NOT actively subtracted by the current scripts" = **0 consumer tự-động** | ✓ KHỚP verdict A — metadata giàu ≠ phản-chứng |
| Ứng viên 3? | **KHÔNG có hằng-số mới:** `hmw.js` 0-hit; các MEASURED khác đều là đo-live-mỗi-run hoặc probe-có-artifact: `mfe-eval.ps1:266` "(MEASURED, not target-then-force)" = computed live; `spawn-model-audit.ps1:33,45` = probe S126 thật; `wal-recovery-test.ps1` EMPIRICAL = execute-and-measure per-run (ca0/ca3 "Declared, not hidden" :375); `agent-frontmatter-eol-check.ps1:65,304` = computed-from-measured per-run; `memory-selfimprove-audit.ps1:283,304,322` "calibration-interim" = miễn-trừ visible sẵn | Sweep XONG — 0 ứng viên độc-lập thứ 3 |
| Borderline (cùng-lớp, ghi nhận) | (a) `memory-budget.json:144` section `measured` = snapshot S107 stale-by-design NHƯNG 0 automated consumer (đã ignore, xem Việc 3 loop 5) → OK-by-architecture, note "byte-governor snapshot" :145 đã visible. (b) `memory-budget.json:65` "VN-diacritic hot-memory ~3.0-3.5 byte/tok" = NGUỒN của /3.0 — không provenance, nằm trong honest_caveats | (b) xử cùng C1 (1 class) |
**Honest scope-caveat:** sweep phủ đúng scope spec (scripts/*.ps1 + hmw.js + memory-budget.json). KHÔNG quét văn-xuôi docs/ — hub bản 3 §5 cũng đóng lối văn-xuôi (toàn cảnh-báo-giả).
## Spec execute (4 sub-việc)
### 4a — C1: hạ-nhãn (lối-thoát 3 "bỏ nhãn đo-lường") — comment-only, 0 behavior change
- **File:** `scripts/crystallized-backfill.ps1` — 2 chỗ:
- `:25` before `# (4) CALIBRATED RANGE: token headroom is a RANGE [bytes/4 .. bytes/3.0], NOT the` → after `# (4) HEURISTIC RANGE (convention, NOT measured): token headroom is a RANGE [bytes/4 .. bytes/3.0], NOT the`
- `:117` before `# calibrated RANGE (invariant 4): tok_low = optimistic (bytes/4), tok_high = worst (bytes/3.0)` → after `# heuristic RANGE (invariant 4): divisors = convention char/4 + VN ~3.0-3.5 byte/tok — CHUA do tokenizer that tai SE (see dinh-chinh letter 58f5afd8 2026-07-16). tok_low = optimistic (bytes/4), tok_high = worst (bytes/3.0)`
- **Cùng-lớp đã grep (0 diff thêm):** `mfe-eval.ps1:166-167,180` dùng /4.0-/3.0 nhưng KHÔNG nhãn calibrated (khai RANGE honest) → giữ. `memory-budget.json:65` thêm đuôi `(convention -- chua do tokenizer that tai SE; dinh-chinh 58f5afd8)` — gộp gate với 2b.
- **Verify:** `Select-String -Path scripts\crystallized-backfill.ps1 -Pattern "calibrat" -CaseSensitive:$false` → 0 hit; chạy `powershell.exe -ExecutionPolicy Bypass -File scripts\crystallized-backfill.ps1` → exit 0, output giữ dòng "tok RANGE [low..high]". ⚠️ giữ pure-ASCII PS 5.1 (gotcha #30).
- **Lane:** HMW-worker ✅.
### 4b — C2: chọn lối-thoát — CHỜ ANH chọn 1 trong 2
- **Option-iii (bỏ nhãn, sạch nhất):** rename key `measured_token_estimate` → `token_floor_estimate` (memory-budget.json:89). **Điều-kiện tiên-quyết D:** `Grep "measured_token_estimate"` toàn repo → nếu >1 file (docs/adap-reports nhắc tên) thì update mọi ref cùng commit; consumer script = 0 (đã khai :92, grep re-confirm).
- **Option-ii (miễn-trừ visible, ít-chạm):** giữ tên, thêm sibling field `"_measured_label_exemption": "NAME says measured but value = honest MID-ESTIMATE (19K byte-measured + ~36K harness-injected-est, not byte-countable locally) -- exemption per san-su-that 190c11ba 3-loi-thoat; phep kiem lam no truot = re-run _s112_remeasure procedure"` ngay sau :89.
- **Verify (either):** JSON parse OK + grep key mới/exemption 1 hit.
- **Lane:** CHỜ-ANH chọn → worker apply. (Gộp cùng câu hỏi gate 2b — 1 lần hỏi.)
### 4c — câu cửa-duyệt vào checklist reviewer
- **File:** `.claude/agents/reviewer.md` — anchor `:35` `### 2. Apply 5-category checklist` → append 1 mục (cuối section): `**Measured-label gate (sàn-sự-thật 190c11ba):** diff chứa con-số mang nhãn đo-lường (measured/empirical/calibrated/đã-đo)? → hỏi: "phép kiểm nào khiến con số này TRƯỢT nếu nó sai?" Không trả lời được → yêu cầu 1 trong 3: phản-chứng chạy được · miễn-trừ lý-do visible · bỏ nhãn.`
- **Caveat:** agent .md không hot-reload → nấc `verified-pending` (restart/spawn-test sau).
- **Verify:** `Select-String -Path .claude\agents\reviewer.md -Pattern "TRƯỢT" ` → ≥1 hit.
- **Lane:** HMW-worker ✅.
### 4d — adap-report bản 3
- **File:** `docs/governance/adap-reports/2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do.md` (NEW, 5 trường). Nấc `executed` (sau 4a/4c) — riêng 4b theo lối anh chọn. Evidence = bảng kiểm-kê + positive-exemplars có sẵn (thư đính-chính 58f5afd8 = negative-control đã chạy; `wal-recovery-test.ps1` + `spawn-model-audit.ps1` = measured-đúng-nghĩa). Honest-caveat: máy-quét cuối-phiên của hub KHÔNG port (tuỳ-chọn per bản 3 §4 — "luật + câu cửa-duyệt mới là phần chuyển được"); văn-xuôi ngoài scope.
- **Lane:** HMW-worker ✅.
---
# VIỆC 5 (bản 4, 9234a7aa) — n-a nắm-hướng: CHỈ adap-report
- **Ground-truth:** broadcast §6 "**Chưa cần làm gì cả — bản này để nắm hướng**" + §7 "chưa build, chưa dùng thử" — hub tự khai. ✓ KHỚP verdict A n-a + CẤM copy mục 2.
- **File đích:** `docs/governance/adap-reports/2026-07-16-Governance-session-logic-tach-session-vat-ly-huong-van-hanh-moi.md` (NEW, 5 trường)
- **Nội dung:** nấc `agreed` (nắm-hướng; 0 hành-động theo chỉ-định hub §6 — KHÔNG phải n-a-vì-không-fit, mà hub-chỉ-định-chưa-làm; reviewer #2 chốt wording nấc). Evidence = precursor SE ĐÃ CÓ (mapping 5-vòng: gặt=harvest-curator · soi-lead=H24 2-vai · tự-đo=MFE/H17 · nén-kho=sleep-recovery+archive-gate · sàn-sự-thật=Việc-4-đợt-này; + H22 WAL `/pause·/tiep` + counter content-addressed = đúng hướng "điểm dừng chủ-động"). Honest-caveat: KHÔNG mô tả mục 2 như thứ SE sẽ áp (hub chưa build — trích §7).
- **Verify:** file tồn tại + chứa trích `"chưa build, chưa dùng thử"` + 0 câu "SE sẽ áp mục 2".
- **Lane D:** HMW-worker ✅.
---
# VIỆC 6 (thư 0, 181a6d19) — adap-reports ×5 + email hub GỘP 1 thư
## Ground-truth khuôn
- **REPORT-FORMAT LOCK:** `adap-report.md:13-19` — đúng 5 trường {id-broadcast · nấc G-011 (agreed|executed|verified-pending|n-a — KHÔNG tự khai verified) · evidence đo THẬT (commit-sha·file·byte/dòng) · tailored+skip-vì-sao · honest-caveat}; idempotent update (:33); Write-tool only (:43).
- **Email khuôn:** `send-email.md:24-34` — id `<YYYY-MM-DD>-se-to-ai_infra-<slug>`, sha canonical strip-`\r`+strip-1-leading-newline (🔴 CẤM `Get-Content -Raw` — :28), Write tool, **selftest-stamp 6c** NGAY sau Write, log `_index` bước 7 **CÙNG LƯỢT** (bài reconcile S123 `_index.md:75`); to=ai_infra → không cần bản CC.
- **WAL:12 (đĩa):** ask do-token = pending (errata batch hub) · ask #2 bookend ĐÃ RESOLVE S127 ✓ KHỚP verdict A row 0 — **đừng đóng ask do-token trong email**.
## Spec execute
- **5 file adap-reports:**
1. `2026-07-15-Governance-h17-cadence-update-bookend.md` — **UPDATE** (sau 2a): thêm mục "Re-verify nhịp S127": 4 sàn nguyên · counter GIỮ + evidence 3→6/2-ngày · 2 citation re-tuned · nấc `executed`.
2. Bản 2 — NEW (Việc 3).
3. Bản 3 — NEW (Việc 4d).
4. Bản 4 — NEW (Việc 5).
5. Bản 5 — NEW: nấc `executed` + evidence = diff rag.json:26/:31 + commit-sha + verify-output `False`; honest-caveat "hiệu-lực index chờ re-bootstrap (AI_INFRA op); data cũ giữ nguyên tới re-index (broadcast §3)".
- **Email GỘP:** id đề-xuất `2026-07-<ngày-gửi>-se-to-ai_infra-adap-dot-16-07-bao-nac` → `broadcasts/outbox/ai_infra/`. Body ≤ ~1 trang: nấc per-bản ×5 (1 dòng/bản) + ack thư 0 (3 ghi-nợ hub = acknowledge-only, không cần SE làm gì) + 1 dòng "contextual_retrieval flipped false (rag.json SE) — chờ re-bootstrap" + 1 dòng counter-GIỮ (điều-kiện gỡ hub không áp: phiên ngắn-nhiều, 3 tick/2 ngày) + ask do-token GIỮ pending. **Full-grammar VN outward** (harness-7). Reviewer-gate outward trước gửi (send-email.md:37 — wave này = HMW-review Harness-9 2-workflow phủ).
- **Thứ-tự D:** 4a/4c/2a/2b-đợi-gate → 5 reports → email (6c stamp + bước 7 cùng lượt) → STAGE-2 move (2d) → closeout.
- **Verify:** 5 file tồn tại đủ 5 trường; email selftest-stamp PASS + `_index` OUTBOUND +1 row; `git log --oneline` các commit scope `[CLAUDE] Docs:`/`Governance`.
- **Lane D:** HMW-worker ✅ toàn bộ (input = draft này); riêng thứ-tự phải giữ.
---
# PHÂN-LANE D tổng + gate chờ anh (gộp 1 lần hỏi)
| Việc | Lane | Ghi chú |
|---|---|---|
| 1 | HMW-worker | in-repo SE (LỆCH-1); verify python parse |
| 2a | HMW-worker | đính-chính khớp published |
| 2b | ½ worker ½ CHỜ-ANH | session-start.md = worker; memory-budget.json `_owner_ratified` = anh OK wording |
| 2c | 0-diff | text vào report bản 1 |
| 2d | HMW-worker | chạy CUỐI, hash-verify trước move (check-email.md:28) |
| 3 | HMW-worker (transcribe) | seal-verify codify = CHỜ-ANH (backlog) |
| 4a | HMW-worker | comment-only, ASCII #30 |
| 4b | CHỜ-ANH chọn iii/ii | rồi worker apply |
| 4c | HMW-worker | verified-pending restart |
| 4d+5+6 | HMW-worker | theo khuôn LOCK + send-email 6c/7 cùng lượt |
**3 gate chờ anh (1 câu hỏi gộp):** (i) wording mới `_owner_ratified` (2b — không đổi 6/15/3) · (ii) C2 lối-thoát: rename vs exemption-note (4b) · (iii) seal-verify curate ritual = codify doc-checklist hay defer (Việc 3).
# Self-acceptance (spec ③) — tự check trước return
- [x] 6 việc × 4-trường {file-đích · diff before→after · lệnh verify · gate} + phân-lane D
- [x] ≥5 evidence file:line TỰ MỞ (đếm được ~18: rag.json:26/:31 · projects.py:39/:54 · AI_INFRA rag.json:33/:38 · bookend-report:8 · session-start.md:206 · memory-budget.json:4/:65/:89/:92/:123/:144 · .session-counter.json:13-20 · _index.md:11/:33-38/:75 · backfill:25/:117-119/:126-131 · mfe-eval:166-180 · selfimprove-audit:18/:110 · wal-flush:12-23 · detectors:833-845 · measure:14-41 · sleep-cmd:28/:52-60 · adap-report.md:13-19 · send-email.md:28/:31-33 · check-email:20-28 · WAL:12 · reviewer.md:35)
- [x] ≥1 LỆCH explicit (LỆCH-1 vị-trí file Việc 1) + các KHỚP có thử-phá (xem addendum LỆCH section)
- [x] Per việc ≥1 acceptance chạy được cho D
- [x] Draft = file DUY NHẤT được ghi; 0 file khác chạm; 0 store_memory
## Mục LỆCH vs verdict A (adversarial log — cập nhật dần)
(chưa có — sẽ ghi ngay khi phát hiện)
### LỆCH-1 (Việc 1 — VỊ-TRÍ file, không phải giá-trị): config cần flip nằm TRONG repo SE, KHÔNG phải AI_INFRA
- **Spec B (lead brief) nói:** "Việc 1 nằm ở repo khác: `D:\Dropbox\CONG_VIEC\AI_INFRA\**` — tìm config RAG per-project SE trong khung AI_INFRA".
- **Đĩa nói:** file per-project của SE = `D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP\.claude\rag.json` (TRONG repo SE). Cơ chế: `AI_INFRA\claude-rag\lib\projects.py:43-56 load_project_config()` walk-up từ cwd tìm `.claude/rag.json` per-repo; `cfg.setdefault` chỉ merge key THIẾU → key `contextual_retrieval` CÓ trong file SE nên **override default False của khung**.
- **Giá-trị verdict A KHỚP đĩa 100%:** SE `rag.json:26` = `"contextual_retrieval": true,` ✓ · `:31` rationale `"...Evaluate per eval recall@5 trial week 3."` treo (trial 2026-06-16 không chạy) ✓ · mirror `projects.py:39` = `False` + comment `OWNER-FINAL 2026-07-16 (s100)` ĐÃ có sẵn phía hub ✓.
- **Phía AI_INFRA KHÔNG cần sửa gì:** `AI_INFRA\.claude\rag.json:33` đã `false` (từ 2026-05-26, rationale :38) + `projects.py:39` đã `False` owner-final. SE chỉ sửa file của mình.
- **Hệ-quả lane D:** Việc 1 KHÔNG phải cross-repo-write → HMW worker mechanical ĐƯỢC (edit in-repo 2 dòng), không cần lead-solo cross-repo. AI_INFRA chỉ-đọc để verify mirror (đã verify lượt này).
- **Hedge bản 5 "có thể đúng sẵn" KHÔNG áp SE — CONFIRMED trên đĩa:** SE override explicit `true` line 26 → phải flip (khớp verdict A).
### Addendum — các KHỚP đã THỬ PHÁ (adversarial log, không chỉ xác nhận mù)
| Anchor verdict A | Cách thử phá | Kết quả |
|---|---|---|
| rag.json:26/:31 | Nghi file verdict A trỏ = AI_INFRA rag.json → mở CẢ HAI file + trace cơ-chế load (`projects.py:43-56`) | Giá-trị khớp ở file SE; AI_INFRA:33 đã false → LỆCH-1 (vị-trí, spec theo đĩa) |
| bookend-report dòng 8 "7 khoản SAI" | Đối chiếu ngược bản published §2 + reviewer_gate M-1 ("năm-sai-hai-đổi-cách-đọc 3-chỗ") | KHỚP lệch-thật — report SE viết theo draft cũ trước fold M-1 |
| session-start.md:206 | Đọc cả block :185-206 xem caveat có tự-đứng không cần hub không | Stale THẬT: neo "n=1 ở hub"/run-2-hub nay không tồn tại (hub gỡ trước run-2, bookend §4) |
| memory-budget.json `_owner_ratified` | Grep line-number thật (:123, verdict A không ghi số dòng) + xem 6/15/3 có phải đổi không | Chỉ đổi CÂU NEO, số giữ — khớp scope verdict A "(c) GIỮ counter" |
| counter "phiên ngắn-nhiều" | Mở `.session-counter.json` đếm tick thật thay vì tin mô-tả | 3→6 trong 07-15→07-16 (2 ngày) = đúng điều-kiện-KHÔNG-gỡ |
| backfill:117-119 "calibrated" | Grep cùng-lớp `/4.0|/3.0` toàn scripts xem verdict A có sót site nào | mfe-eval:166-167 cùng divisor NHƯNG không nhãn calibrated (RANGE honest :180) → chỉ C1 cần hạ-nhãn; nguồn hằng-số = budget:65 (bổ sung ngoài verdict A) |
| "bản 2 seed: budget.measured STALE consumer ignore" | Mở selfimprove-audit :18/:110 + kiểm archive-gate/backfill có đọc `budget.measured` không | Cả 2 script đo live, 0 automated reader → seed ĐÚNG và còn MẠNH hơn (0 reader, không chỉ 1 reader-ignore) |