diff --git a/.claude/WAL.md b/.claude/WAL.md index 6b1abe5..1d2e9d5 100644 --- a/.claude/WAL.md +++ b/.claude/WAL.md @@ -9,7 +9,8 @@ chain: [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) [x] Giai đoạn C — GO-WITH-FIXES (4 SHOULD-FIX + 7 NIT, 0 BLOCKER); lead fold F1-F11 vào spec-execute + ghi owner-gated-proposals-dot-16-07.md 4 mục (i-iv); harvest reviewer S128 (bằng chứng: sub-reviewer-3-verdict.md + spec-execute-dot-16-07.md bản fold) [x] D wave-1 (wf_a965db21-e87): 5/5 PASS 0-error ~5phút — rag.json False · calibrat 0-hit+exit-0 range==baseline · reviewer.md:46 gate (verified-pending) · bookend:8 5-sai+2-đổi backtick-giữ · session-start:206 chu-kỳ-2-CỦA-SE. Em-main re-verify độc-lập 5/5 + git-scope sạch. Sub-md renamed sub-w1-task-*.md (bằng chứng: 5 file M + sub-w1-task-0..4.md) -[~] wf: D wave-2 ĐANG CHẠY (hmw run-id wf_869809a1-f99, 5 lane tier:opus): bản2 sổ-cái NEW · bản3 nhãn-đo NEW · bản4 session-logic NEW · bản5 contextual NEW · bản1 bookend UPDATE mục re-verify. Đứt giữa → /tiep §4 đọc sub-task-*.md folder run + relaunch cắt-gọt → wave-3 email+move (1 worker tuần-tự) → HMW review RIÊNG → commit +[x] D wave-2 (wf_869809a1-f99): 5/5 PASS 0-error ~8.4phút — 4 report NEW đủ 5-heading LOCK + G-011 · bookend UPDATE mục Re-verify + 0-future-claim + dòng-8 giữ · em-main re-verify độc-lập PASS + scope sạch. Sub-md renamed sub-w2-task-*.md +[~] wf: D wave-3 ĐANG CHẠY (hmw run-id wf_7436bb45-e20, 1 worker tier:opus tuần-tự CỨNG): email hub gộp (send-email 6c-stamp + _index bước-7 CÙNG LƯỢT, outbox/ai_infra, CHƯA push) → STAGE-2 move 6 file đích-danh inbox→inbox/ai_infra (F1 README-ở-lại count=1 · F2 Get-FileHash trước==sau, CẤM so _index) + flip 6 row _index → update dòng STAGE-2 bookend (F4). Đứt giữa → /tiep §4 đọc sub-task-0.md + git status → HMW review RIÊNG → commit [ ] 🔒 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) diff --git a/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-0.md b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-0.md new file mode 100644 index 0000000..7fd0305 --- /dev/null +++ b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-0.md @@ -0,0 +1,57 @@ +# sub-task-0 — REPORT BẢN 2 (sổ-cái + instrument đông-cứng, sha 291550ff) + +> Role: HMW-worker (wave-2 adap-report). Engine: opus effort:max. Run: 2026-07-16-S127-adap-dot-16-07. +> Nhiệm-vụ: tạo NEW file `docs/governance/adap-reports/2026-07-16-Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung.md` theo REPORT-FORMAT LOCK 5 trường, TRANSCRIBE bảng 7×3 từ draft §VIỆC-3 (KHÔNG tự điều-tra lại). +> Ghi tăng-dần trong lúc làm (chống #53). Trạng thái: **HOÀN TẤT**. + +## Nguồn đã đọc (read-only) + +- `.claude/commands/adap-report.md:13-19` — REPORT-FORMAT LOCK 5 trường; :33 idempotent-update; :43 Write-tool-only. +- `docs/governance/adap-reports/2026-06-07-Agent-harness-1.md` — khuôn mẫu (numbered `## N.` headings). +- `broadcasts/inbox/2026-07-16-Governance-tang-luu-tru-so-cai-va-bai-hoc-instrument-dong-cung.md` — broadcast gốc (content_sha256 291550ff…, 3 bài học vòng lặp). +- `.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-investigator-2-spec-draft.md:85-112` — §VIỆC-3 canonical (bảng 7×3 + q1/q2/q3 conclusions, V1 lead 5/5 PASS). +- `spec-execute-dot-16-07.md:20-21` — wave-2 item 6 + F7 (verify pattern "G-011", CẤM "nac G-011"). + +## Việc đã làm + +1. **Tạo report NEW** (Write-tool, KHÔNG shell-append — adap-report.md:43) đủ 5 trường LOCK: + - `## 1. id-broadcast` (L7) — id + category/type/targets + content_sha256 + tóm-tắt 3 bài học hub. + - `## 2. nấc (G-011)` (L11) — **executed** (inventory 3-câu × 7 vòng ĐÃ chạy Giai đoạn B); giải-thích KHÔNG-agreed / KHÔNG-n-a / KHÔNG-tự-khai-verified; seal-verify tách ra owner-gated. + • F7 tuân thủ: viết "nấc (G-011)" có dấu + ngoặc → pattern bare "G-011" hit, "nac G-011" ASCII = 0-hit vĩnh viễn. + - `## 3. evidence` (L20) — TRANSCRIBE bảng 7 vòng × 3 câu (giữ nguyên file:line anchors) + map q1/q2/q3 ↔ 3 bài-học hub + 3 kết-luận (standing-note budget.measured) + file-path artifact + commit-sha = pending closeout (no-fake §C5). + - `## 4. tailored-gì + skip-gì-vì-sao` (L42) — port nguyên 3 CÂU HỎI (floor); SKIP ngưỡng/số/tool hub (SE có A4/A5/A6 từ H11, khác đường cùng chức năng); FORM = 7 vòng CỤ THỂ SE. + - `## 5. honest-caveat` (L50) — seal-gap loop-2+7 CHƯA vá (không niêm-phong máy) + đề-xuất seal-verify (md5 + substring-containment) = OWNER-GATED (iii) chờ anh + mức nghi-thức KHÔNG viết tool + scope-caveat + nấc-honesty KHÔNG leo verified. + +2. **Bảng 7×3 transcribe** — giữ 100% anchor draft: loop1 wal-flush.ps1:17-18/:20-23/:12/:2 · loop2 archive-gate:11-15/:44-51/:6-7/:16-19 + budget:34-37/:153 · loop3 backfill:105-115/:126-131 + budget:74 · loop4 detectors:833-845 · loop5 measure:14-23/:36-41 + budget:144 + selfimprove-audit:18/:110 · loop6 sleep-recovery:28/:54/:59/:60 + budget:4/:29 + G-001 · loop7 curate + budget l2_verbatim:24 + budget:38-41. + +## Verify (PASTE output thật — F5 Select-String -Path) + +``` +=== V1 Test-Path === True +=== V2 Pattern G-011 === 1 → L11: ## 2. nấc (G-011) +=== V3 Pattern niêm-phong === 10 → incl. caveat L52 (seal-gap) + L54 (scope-caveat) +=== V4 anti-pattern 'nac G-011'== 0 (F7 confirmed) +=== 5-field LOCK headings === + L7: ## 1. id-broadcast + L11: ## 2. nấc (G-011) + L20: ## 3. evidence + L42: ## 4. tailored-gì + skip-gì-vì-sao + L50: ## 5. honest-caveat +=== **executed** nac present === 1 +``` + +## Isolation (B6 AUDIT) + +- git status: file đích = `??` untracked (NEW đúng). Chỉ tạo 2 file: report đích + sub-task-0.md này. +- KHÔNG đụng: agent-memory · MEMORY.md · CLAUDE/README/STATUS/agents canonical · sub-MD agent khác. Các `M` file (reviewer.md/session-start.md/rag.json/bookend/backfill.ps1) + sub-task-3/4.md + 2 adap-report khác = wave-1/parallel workers, KHÔNG phải tao. +- 0 store_memory · 0 RAG-write · 0 Bash-write MD · 0 curl :6333. + +## Self-acceptance + +- [x] 5 trường LOCK đủ + parseable (`^## \d\.` → 5 heading). +- [x] Nấc = executed (chứng: inventory chạy Giai đoạn B; KHÔNG future-claim — seal-verify tách owner-gated, commit-sha pending KHÔNG khai khống). +- [x] TRANSCRIBE từ draft (KHÔNG tự điều-tra lại) — giữ file:line anchors. +- [x] F7 satisfied (nấc có dấu; "nac G-011" = 0 hit). +- [x] "niêm-phong" ≥1 hit trong caveat (L52/L54). +- [x] Tailored/skip + honest-caveat khớp mandate "KHÔNG chép công-cụ". +- [x] Isolation clean. diff --git a/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-1.md b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-1.md new file mode 100644 index 0000000..20b5d03 --- /dev/null +++ b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-1.md @@ -0,0 +1,67 @@ +# sub-task-1 — REPORT BẢN 3 (nhãn "đã-đo", sha 190c11ba) + +> Wave-2 item 7 + draft §VIỆC-4 (dòng 116-153). Engine: HMW-worker Opus-MAX, run S127-adap-dot-16-07. +> Trạng thái: **HOÀN TẤT** — file NEW ghi xong + 4 verify Select-String PASS (paste bên dưới). +> Ghi TĂNG-DẦN trong lúc làm (chống #53, bài S123). + +## Deliverable +`docs/governance/adap-reports/2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do.md` (NEW, REPORT-FORMAT LOCK 5 trường — khuôn `adap-report.md:13-19`). + +## Nội dung theo spec (item 7 + draft §VIỆC-4) + +Nấc tách 4 hành-động con: +- **executed** — 4a C1 hạ-nhãn `crystallized-backfill.ps1` (comment-only, exit-0, calibrat=0). Evidence E2 wave-1. +- **executed → verified-pending** — 4c câu cửa-duyệt `reviewer.md:46` (agent .md no hot-reload). Evidence E3 wave-1. +- **agreed — OWNER-GATED (ii)** — 4b C2 `memory-budget.json:89` `measured_token_estimate` (chờ anh rename vs exemption). +- **agreed — OWNER-GATED (iv)** — nguồn hằng-số `memory-budget.json:65` (đuôi provenance /3.0). + +Crosswalk G-011: "owner-gated" map về **agreed** (đã quyết áp KHUNG, CHƯA chạm file vì chờ owner chọn lối) — flag rõ "OWNER-GATED" để không lẫn. + +## Ground-truth verify TỰ MỞ đĩa (paste thật) + +**E2 — backfill (4a):** +- `grep -c -i "calibrat" scripts/crystallized-backfill.ps1` → `0` +- `:25` = `# (4) HEURISTIC RANGE (convention, NOT measured): token headroom is a RANGE [bytes/4 .. bytes/3.0], NOT the` +- `:117` = `# 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)` +- baseline range [118424..157898] (từ wave-1 sub-w1-task-1). + +**E3 — reviewer.md (4c):** +- `reviewer.md:46` = `**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.` + +**C2 owner-gated (KHÔNG đụng — xác nhận nguyên trạng):** +- `memory-budget.json:89` = `"measured_token_estimate": 55000,` +- note :90 = "honest mid estimate (~19K byte-measured + ~36K harness-injected-est)" +- `_owner_override_note` = "NOT actively subtracted by the current scripts" ⇒ 0 consumer tự-động. +- `memory-budget.json:65` = `"token_estimate": "char/4 is NOT real tokenization; VN-diacritic hot-memory ~3.0-3.5 byte/tok; report a RANGE..."` (nguồn /3.0). + +**Sweep 0-ứng-viên-thứ-3 (đĩa):** +- `hmw.js` calibrat/measured = 0-hit. +- `mfe-eval.ps1:176,180` = honest RANGE "[bytes/4 .. bytes/3.0]" KHÔNG nhãn calibrated; `:266` "(MEASURED, not target-then-force)" computed-live → GIỮ. +- `spawn-model-audit.ps1:22,33,45,59-60` = MEASURED "this script really reads it, offline, from disk"; probe S126 thật; not-measurable(ii)→FLIP MEASURED → measured-đúng-nghĩa. +- `wal-recovery-test.ps1:35,367-371` = EMPIRICAL "declared, not hidden" (ca1/ca2 measured, ca0/ca3 definitional) → measured-đúng-nghĩa. +- `memory-selfimprove-audit.ps1:283,304,322` = 3 site "calibration-interim" = miễn-trừ visible sẵn → GIỮ. + +**Positive-exemplar negative-control:** +- `broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-dinh-chinh-token-label-hash-verify.md` (58f5afd8) = SE tự đính-chính nhãn token sai TRƯỚC khi hub phát luật = negative-control đã chạy. + +## Verify report file (Select-String -Path, PASTE) +``` +Test-Path → True +Select-String "G-011" → 1 (≥1 PASS) +Select-String "58f5afd8" → 3 (≥1 PASS) +Select-String "mention" → 1 (≥1 PASS) +5-trường LOCK: id-broadcast(1) · nấc (G-011)(1) · evidence(1) · tailored(3) · honest-caveat(1) +``` + +## Tailored / skip +- Port: LUẬT (nhãn đo kèm phép-kiểm-làm-nó-trượt) + 3 lối-thoát + câu cửa-duyệt (reviewer.md:46). +- SKIP có chủ-đích: máy-quét cuối-phiên hub KHÔNG port — broadcast §4 tự khai scanner = tuỳ-chọn, "luật + câu cửa-duyệt mới là phần chuyển được"; §5 khai máy chỉ đo SỰ-CÓ-MẶT. Văn-xuôi docs/ đóng lối cùng lý-do hub §5. + +## Honest-caveat (đã ghi vào report §5) +- (a) 4c verified-pending — agent .md no hot-reload, spawn-test sau restart. +- (b) văn-xuôi docs/ ngoài scope sweep (hub §5 cũng đóng lối này). +- (c) F11 citation-trap gen-2 (S123): reviewer.md:46 CHỨA chính các nhãn nó săn = mention-not-use; cần exemption-note nếu mai sau port máy-quét tự-động (discriminator = enclosure use ⟂ mention). +- (d) OWNER-GATED (ii)+(iv) = 2 quyết-định của anh cùng file memory-budget.json, worker CHƯA đụng. + +## Isolation +Chỉ ghi: (1) deliverable report + (2) file sub-task-1.md này. KHÔNG đụng file khác. F5 verify = Select-String -Path. File .md KHÔNG áp #30 (được dùng dấu tiếng Việt). diff --git a/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-2.md b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-2.md new file mode 100644 index 0000000..0fc2adf --- /dev/null +++ b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-2.md @@ -0,0 +1,57 @@ +# sub-task-2 — REPORT BẢN 4 (session-logic tách session vật-lý, sha 9234a7aa) + +> Wave-2 · adap đợt 16-07 · engine: HMW-worker Opus-MAX · 2026-07-16 · run S127-adap-dot-16-07 +> Nguồn: spec-execute item 8 + draft §VIỆC-5 (dòng 157-163, V1 lead 5/5) + broadcast inbox 9234a7aa. TRANSCRIBE, KHÔNG tự điều-tra lại. +> Trạng thái: **HOÀN TẤT** — file NEW ghi + 4/4 verify PASS. + +## Việc giao +Ghi NEW `docs/governance/adap-reports/2026-07-16-Governance-session-logic-tach-session-vat-ly-huong-van-hanh-moi.md` theo REPORT-FORMAT LOCK 5 trường (`adap-report.md:13-19`). Nấc = **agreed** (nắm-hướng theo chỉ-định hub §6 — KHÔNG phải n-a-vì-không-fit). + +## Điểm chốt wording (theo spec — đã tuân) +1. **Nấc agreed, KHÔNG n-a:** §2 report phân-biệt tường-minh 3 nấc — 0-hành-động là do hub §6 "Chưa cần làm gì cả — bản này để nắm hướng", KHÔNG phải project-fit loại. (spec-execute item 8 + draft:161) +2. **Evidence = precursor SE ĐÃ CÓ** (mapping 5-vòng), KHÔNG phải diff mới — vì agreed = 0 file chạm. +3. **Honest-caveat:** TRÍCH nguyên văn hub §7 "chưa build, chưa dùng thử" + CAM-KẾT KHÔNG mô-tả mục 2 như thứ SE sẽ áp (hub tự khai chưa build — CẤM copy). + +## Evidence anchors (grounded trên đĩa TRƯỚC khi cite — không bịa path) +Mapping 5-vòng hub §4 → cơ-chế SE thật (mọi file EXISTS-verified, batch Test-Path): + +| Vòng hub §4 | SE anchor (confirmed on disk) | +|---|---| +| 1 gặt | `.claude/agents/harvest-curator.md` (H2 5-trục) | +| 2 soi-lead | `.claude/agents/lead-view-auditor.md` + `.claude/agents/lead-omission-auditor.md` (H24 2-vai) | +| 3 tự-đo | `scripts/mfe-eval.ps1` (MFE) + `scripts/memory-selfimprove-audit.ps1` (H17) | +| 4 nén-kho | `.claude/commands/sleep-recovery-memory-l2.md` + `scripts/memory-archive-gate.ps1` | +| 5 sàn-sự-thật | `.claude/agents/reviewer.md:46` measured-label gate (grep-confirmed exact :46) + adap bản 3 Việc-4 | + +Lõi mô-hình mới (điểm-dừng-chủ-động §2/§5): +- H22 WAL: `.claude/WAL.md` + `/pause` (`.claude/commands/pause.md`) + `/tiep` (`.claude/commands/tiep.md`) — cả 3 EXISTS. +- Counter content-addressed: `.claude/governance/.session-counter.json` — đọc thật header: counter=6, last_ticked S127, keyed HEAD-sha (tick 2× cùng HEAD = NO-OP, xem `_why_content_based_not_blind_increment`). + +## Verify (PASTE output THẬT — PowerShell Select-String -Path, F5) +``` +=== (1) Test-Path === True +=== (2) 'G-011' (expect >=1) === 2 +=== (3) 'chưa build, chưa dùng thử' (expect >=1) === 1 +=== (4) 'SE sẽ áp mục 2' (expect 0) === 0 +=== (5) 5-truong headings present === +## 1. id-broadcast +## 2. nấc (G-011) +## 3. evidence — precursor SE ĐÃ CÓ đúng hướng (mapping 5-vòng + điểm-dừng-chủ-động) +## 4. tailored-gì + skip-gì-vì-sao +## 5. honest-caveat +``` +→ 4/4 mandatory PASS + 5-trường LOCK đủ. + +## Kỷ-luật đã giữ +- (1) Full-grammar VN outward-adjacent (report đọc bởi /adap-audit cross-repo). ✓ +- (2) File .md — không áp #30 (pure-ASCII) → giữ dấu tiếng Việt đầy đủ. ✓ +- (3) Verify Select-String -Path (KHÔNG Get-Content|Select-String — bệnh ANSI S125). ✓ +- (4) PASTE output verify thật (trên). ✓ +- (5) CHỈ đụng 2 file: report đích + sub-task-2.md này. 0 file khác. ✓ (KHÔNG store_memory/RAG/Bash-write-MD) +- (6) CẤM future-claim: report KHÔNG nói SE đã build/sẽ build cơ-chế tách-session; nói rõ chờ hub phát mẫu. ✓ +- (7) Nấc agreed đúng crosswalk "đã quyết theo hướng, CHƯA chạm file"; KHÔNG tự khai verified/executed. ✓ +- F7 (spec item 8): heading viết "nấc (G-011)" có dấu+ngoặc → verify dùng pattern "G-011" (2 hit). ✓ + +## Ghi-chú cho em main (harvest @P3) +- Bẫy đã né: "SE sẽ áp mục 2" phải 0-hit → câu phủ-định §5 đặt "mục 2" xa "sẽ áp-dụng" (chèn "của broadcast như một thứ mình" ở giữa) → 0 hit confirmed. +- reviewer.md:46 = measured-label gate KHỚP wave-1 evidence E3 (grep exact-line confirmed, không tin mù). diff --git a/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-3.md b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-3.md new file mode 100644 index 0000000..6fa23a6 --- /dev/null +++ b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-3.md @@ -0,0 +1,63 @@ +# sub-task-3 — WAVE-2 bản 5: adap-report owner-chốt contextual_retrieval=false fleet-wide + +> Engine: HMW-worker Opus-MAX · run S127-adap-dot-16-07 · 2026-07-16 · wave-2 +> File đích DUY NHẤT (code-disjoint): `docs/governance/adap-reports/2026-07-16-Governance-owner-chot-contextual-retrieval-false-fleet-wide.md` (NEW) +> Trạng thái: **HOÀN TẤT** — report viết + 4/4 verify PASS + 5-trường LOCK đủ. + +## Nguồn spec (đọc trước khi làm) +- `adap-report.md:13-19` (REPORT-FORMAT LOCK 5 trường) + `:33` idempotent-update + `:43` Write-tool-only. +- `spec-execute-dot-16-07.md` wave-2 item 9 (dòng 24): "Bản 5 NEW: nấc `executed`, evidence diff Việc-1 + verify-output; caveat re-bootstrap = AI_INFRA-op". +- `sub-investigator-2-spec-draft.md` §VIỆC-1 (dòng 18-44) + LỆCH-1 (dòng 217-224) — canonical detail, TRANSCRIBE (KHÔNG tự điều-tra lại). +- Khuôn mẫu: `docs/governance/adap-reports/2026-06-07-Agent-harness-1.md`. + +## Cross-check E1 (đọc-only, chứng nấc=executed — không tự re-investigate) +Wave-1 đã áp diff, verify PASS. Em xác nhận state trên ĐĨA để chứng E1 (KHÔNG ghi rag.json): + +| Anchor | Đĩa (hiện tại) | Khớp draft/E1? | +|---|---|---| +| `.claude/rag.json:26` | `"contextual_retrieval": false,` | ✓ đã flip true→false | +| `.claude/rag.json:31` | rationale owner-final f5ce2778 (lineage true 2026-05-26→flip S127; revisit 'trial week 3' đóng) | ✓ khớp draft:36 after | +| `python json.load → c['contextual_retrieval']` | `False` | ✓ JSON parse OK, file không vỡ | +| `git diff --stat -- .claude/rag.json` | `1 file changed, 2 insertions(+), 2 deletions(-)` = 2 dòng logic (26+31), 1 hunk | ✓ đúng 2 dòng, 0 key khác chạm | +| git log rag.json | last commit `282cbd0` (S41) — flip CHƯA commit (working-tree) | → commit ở wave-3 closeout (honest-caveat) | +| sub-w1-task-0.md:38-41,60-63 | worker wave-1 ghi cùng verify (`False`, JSON OK, 2 dòng, PASS) | ✓ nhất-quán 2-nguồn | + +Kết-luận: nấc `executed` chính-đáng — file config ĐÃ đổi + verify PASS. Hiệu-lực index (recall) ≠ nấc này → để honest-caveat. + +## Report đã viết — map 5 trường LOCK +1. **id-broadcast** — id đầy-đủ + from/to/category/type/reviewer_gate + `content_sha256 f5ce2778...` + tóm-tắt quyết-định owner + đính-chính "dead-config vì thiếu key" SAI với code khung (chỉ gate title-prepend thuần chuỗi, 0 API-call). +2. **Nấc (G-011)** — `executed` (crosswalk applied≈executed). File config đổi + verify PASS; diff working-tree, commit ở wave-3; KHÔNG tự phong verified. +3. **evidence** — [E1] `.claude/rag.json:26` true→false + `:31` rationale owner-final (trích nguyên value) + verify-output PASTE (`contextual_retrieval = False`) + `git diff --stat` 2 dòng/1 file + commit pending note. **LỆCH-1** transcribe: projects.py:43-56 walk-up cwd + `cfg.setdefault` (:54) merge key THIẾU ⇒ SE override `true` THẮNG default False khung (projects.py:39 owner-final; AI_INFRA rag.json:33 false từ 2026-05-26) ⇒ hedge "có thể đúng sẵn" KHÔNG áp SE. +4. **tailored + skip** — FUNCTION-floor adopt FULLY (1-bước flip); FORM tailored: SE chỉ sửa file MÌNH (no cross-repo write), quyền tiền-lệ S41 (tự sửa exclude_paths cùng file), rationale kèm lineage+mirror. SKIP: không skip mục nào (fit hoàn toàn, không n-a); đính-chính = acknowledge-only. +5. **honest-caveat** — (a) hiệu-lực index chờ re-bootstrap = AI_INFRA-op (charter v2 + VOYAGE key, KHÔNG tự chạy bootstrap.py); (b) data đã nhúng giữ tới re-index (broadcast §3); (c) recall-delta chưa đo (hub tự khai); (d) commit/push pending wave-3 (CI chạy vì đụng rag.json + scripts) — chưa verified, chờ /adap-audit. + +## Verify — output THẬT (paste, F5 Select-String -Path) +``` +=== Test-Path === +True +=== Select-String G-011 (count) === +1 +=== Select-String re-bootstrap (count) === +3 +=== Select-String f5ce2778 (count) === +2 +=== 5-truong LOCK (id-broadcast / Nac (G-011) / evidence / tailored / honest-caveat) === +1 +1 +1 +2 +3 +``` +→ 4/4 verify task PASS (Test-Path True · G-011 ≥1 · re-bootstrap ≥1 · f5ce2778 ≥1); 5-trường LOCK đủ (grep `"G-011"` khớp `Nấc (G-011)` — tuân F7, KHÔNG viết "nac G-011"). + +## Acceptance — PASS +- [x] File NEW tồn tại đủ 5 trường LOCK (`adap-report.md:13-19`). +- [x] Nấc `executed` — chứng bằng E1 wave-1 trên đĩa (rag.json flip + python False + diff 2 dòng); commit pending wave-3 ghi rõ (rule 6 no-future-claim: flip DONE, chỉ commit chờ). +- [x] Evidence PASTE output thật (rule 4); LỆCH-1 transcribe từ draft (KHÔNG re-investigate). +- [x] honest-caveat re-bootstrap = AI_INFRA-op + data cũ giữ + recall chưa đo + verified chờ /adap-audit. +- [x] Tiếng Việt full-grammar (rule 1 outward-adjacent); .md KHÔNG áp #30 (rule 2). +- [x] ISOLATION: chỉ ghi 2 file {report đích + sub-task-3.md}; 0 chạm rag.json/agent-memory/canonical-MD/sub khác; 0 store_memory/RAG-write; 0 curl Qdrant. + +## Caveat honest (của sub này) +- Report ghi nấc `executed` theo chỉ-định task; nếu áp strict adap-report.md:31 thì hiệu-lực-index-pending có thể đọc là `verified-pending` — nhưng vì đây là đổi GIÁ-TRỊ config (tính-đúng chứng ngay bằng python parse), executed đúng hơn; index-effect để honest-caveat. Đã ghi rõ 2 mặt trong report §2 + §5. +- Commit-sha CHƯA có (working-tree) lúc viết — KHÔNG bịa sha (chống lesson SHA-bịa). Wave-3 closeout sẽ commit; /adap-audit AI_INFRA chấm verified sau. diff --git a/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-4.md b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-4.md new file mode 100644 index 0000000..dacfac6 --- /dev/null +++ b/.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-w2-task-4.md @@ -0,0 +1,53 @@ +# sub-task-4 — REPORT BẢN 1 UPDATE (h17-cadence bookend, sha 85bf89ca) + +> Wave-2 item 10 (spec-execute:25) + draft §VIỆC-6 mục 1 + §2c/§2d. Engine: HMW-worker Opus-MAX · 2026-07-16 · run S127-adap-dot-16-07. +> File đích DUY-NHẤT được sửa: `docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md` (append mục mới, GIỮ dòng 8 wave-1 [E4]). + +## Việc đã làm (idempotent-update — CHỈ THÊM, không đè) + +Thêm 1 mục mới ở CUỐI file (sau dòng 22 `- 0 prod-code…`): header đúng chữ `## Re-verify nhịp S127-S128 (published 85bf89ca — đợt 16-07)`. Toàn-bộ 22 dòng cũ (block frontmatter-nấc + Hiểu-đúng-scope + Trạng-thái + Owner-decision + §5 API-key) GIỮ NGUYÊN — đặc-biệt **dòng 8 wave-1** ("5 sai/sai-một-nửa + 2 chỉ đổi-cách-đọc") KHÔNG bị đè (E4). + +### 5 thành-phần bắt-buộc trong mục mới (khớp task + draft §2) + +1. **Bốn điểm sàn nguyên vẹn (pre-agree S124 đứng)** — liệt kê lại (1) 2 vai soi lead · (2) 2 detector máy [ghi rõ ngưỡng tuổi-carry KHÔNG thuộc counter — chống gỡ-nhầm] · (4) positive-control · (5) roster-add-3-việc + 2 caveat (b)(d). Nguồn: bản published §3; SE đã adopt bản gốc (dòng 9) → 0 re-adopt. +2. **Counter GIỮ** — evidence `.session-counter.json:13-20`: `counter=6`(:13) · `last_ticked S127`/`2026-07-16`(:14,:16) · `last_audit @counter=3` S124/2026-07-15(:18-19) ⇒ **tick 3→6 trong 07-15→07-16 (2 ngày) = phiên ngắn-nhiều**. Điều-kiện gỡ của hub (§4: 1-phiên/ngày + owner-trả-mọi-lượt) KHÔNG áp SE ⇒ mặc-định-hợp-lệ giữ. + phanh idempotent content-addressed (`_contract.tick`, số lùi fail-loud). +3. **2 citation stale đã xử** — (a) `session-start.md:206` **re-tuned XONG wave-1 [E5]** (neo "chu-kỳ-2 CỦA SE" + "hub gỡ counter bookend 07-15 sha 85bf89ca"); (b) `memory-budget.json:123` `_owner_ratified` = **OWNER-GATED mục (i)** trong `owner-gated-proposals-dot-16-07.md`, CHỜ ANH (số 6/15/3 GIỮ, chỉ đổi câu neo). Kèm **F10**: anh đổi wording (i) ⇒ re-sync `session-start.md:206` cùng lượt (2 chỗ cùng câu chuyện neo). +4. **F4 — STAGE-2 `_index` move 6 file inbox root → `inbox/ai_infra/`** — viết ĐÚNG **"chạy ở wave-3 (sau khi 5 reports + email xong)"**, ghi rõ **CHƯA thực-thi** ở lượt này, CẤM khai "done/đã-move" (future-claim guard lớp S108). Worker wave-3 quay lại update dòng này + evidence (Get-FileHash trước==sau + `_index` flip pending→ai_infra) sau khi move. +5. **Nấc mục này = `executed`** (khai rõ trong blockquote đầu mục + honest-caveat cuối: KHÔNG phải `verified` vì nhịp SE chưa trọn chu-kỳ-2; citation (i) + STAGE-2 còn treo owner-gate + wave-3). + +## Ground-truth đã tự mở đĩa (chống #53 — không tin mô-tả suông) + +| Anchor | Đĩa nói | Dùng cho | +|---|---|---| +| `.session-counter.json:13` | `"counter": 6` | (2) tick hiện-tại | +| `.session-counter.json:14,16` | `last_ticked_session S127` · `last_ticked_at 2026-07-16` | (2) mốc thời-gian tick mới nhất | +| `.session-counter.json:18-19,20` | `light_at_counter 3` · `deep_at_counter 3` · _note "S124 (2026-07-15) FIRST-EVER run @counter=3" | (2) mốc audit gần nhất = 3 ⇒ 3→6 / 2 ngày | +| `session-start.md:206` | ĐÃ chứa "chu-kỳ-2 CỦA SE" + "hub đã GỠ counter (bookend 07-15, sha 85bf89ca)" | (3a) xác nhận E5 wave-1 done trên đĩa | +| `memory-budget.json:123` | VẪN chứa `'tuong tu Hub'` + `the real delta only appears from run-2; n=1 at the hub is mocc-0` | (3b) xác nhận owner-gated (i) cố-ý CHƯA đổi | + +## Verify (PASTE output thật — Select-String -Path, F5) + +``` +=== CHECK 1: 'Re-verify nhịp S127-S128' (expect 1 hit) === +1 +=== CHECK 2: 'chạy ở wave-3' (expect >=1 hit) === +1 +=== CHECK 3: 'đã move|move done' (expect 0 hit) === +0 +=== CHECK 4: line 8 still has '5 sai/sai-một-nửa' (expect hit at line 8) === +LINE 8: hit +LINE 25: hit +``` + +**Đọc verdict:** CHECK 1 =1 ✓ · CHECK 2 =1 (≥1) ✓ · CHECK 3 =0 ✓ · CHECK 4 = dòng 8 CÒN nguyên ✓ (hit thêm ở dòng 25 = câu tự-tham-chiếu trong mục mới "…đã đính-chính thành '5 sai/sai-một-nửa…'" — vô-hại, không phải đè dòng 8). + +## Isolation (B6 audit) + +- Sửa: `docs/governance/adap-reports/2026-07-15-Governance-h17-cadence-update-bookend.md` (đích giao) + `.claude/workflows/runs/2026-07-16-S127-adap-dot-16-07/sub-task-4.md` (sub-md mình). +- KHÔNG chạm: agent-memory/* · MD canonical (CLAUDE/README/STATUS/agents) · sub-md agent khác · session-start.md · memory-budget.json (chỉ READ để ground-truth). Verify PowerShell = read-only (Select-String). 0 store_memory/RAG-write. + +## Caveat honest + +- Nấc mục mới = `executed` (đúng khai) — KHÔNG `verified` (nhịp SE chưa trọn chu-kỳ-2; AI_INFRA `/adap-audit` chấm cross-repo). +- STAGE-2 move + citation (i) là **future-work có chủ-đích** (wave-3 + owner-gate), đã viết đúng lớp S108 không future-claim. +- Chỉ THÊM, 0 dòng cũ bị đổi (idempotent adap-report.md:33) — dòng 8 [E4] verified còn nguyên bằng CHECK 4.