[CLAUDE] Docs: S151 closeout — bootstrap + trio-AUTO đầu tiên + gói 3-máy vá sống + bookend DEEP trả nợ JUMP (tally #53=53, AS-17 promote)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m38s

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-25 20:13:25 +07:00
parent 398d343403
commit 1b85713bb6
54 changed files with 2422 additions and 95 deletions

View File

@ -162,7 +162,7 @@ git check-ignore -q .claude/sessions/session-1 ; echo "exit=$?" # → exit=1
- 🧪 **harness-eval** (monitor **trio-memory**, INFORM-only, **+S141**) — con **ĐO**: đọc output 5+1 instrument + `memory-budget.json` → TRẢ **số nguyên-văn** + so-baseline + verdict {HEALTHY|REGRESSION|MIXED}. 🔴 CẤM số-từ-trí-nhớ.
- 🧭 **harness-refine** (monitor **trio-memory**, INFORM-only, **+S141**) — con **ĐỀ-XUẤT**: đọc `harness-eval-return.md` (PIN) → action 4-lớp {nạp-lại · thăng-hạng · lưu-kho L1→L2 · chưng-cất} + mục "đã cân-nhắc→BÁC". Chỉ acts **AGENT-MEMORY corpus** (lead hot-feed/carry ⇒ NHƯỜNG `lead-gap-auditor`).
- 🧮 **harness-audit** (monitor **trio-memory**, INFORM-only, **+S141**) — con **KIỂM**: đọc **run-folder PIN đích-danh** → verdict ĐẠT/TRƯỢT per-claim + falsify-log + **re-chạy ≥2 số load-bearing**. 🔴 CẤM tự tìm "run mới nhất", CẤM ĐẠT-ảo.
- 🔴 **Bộ-ba trio-memory = trục CHÍNH-HỆ-MEMORY, KHÁC H1/H2/H24/reviewer** — chạy **TUẦN TỰ** eval→refine→audit, **consent-gated**; nghi-thức đầy-đủ ở **§2.1.9** (đầu phiên) / `session-end §L.b(k)` (cuối phiên).
- 🔴 **Bộ-ba trio-memory = trục CHÍNH-HỆ-MEMORY, KHÁC H1/H2/H24/reviewer** — chạy **TUẦN TỰ** eval→refine→audit, **AUTO 1 vòng/phiên giữa 2 bookend (owner @S151 — 🧊 consent-gated S141 superseded)**; nghi-thức đầy-đủ ở **§2.1.9** (đầu phiên) / `session-end §L.b(k)` (cuối phiên).
- 🔴 **2 vai H24 = trục KHÁC H1/H2, KHÔNG gộp:** H1 = tooling-freshness · H2 = harvest-integrity · **H24 = soi chính LEAD**. Class-flag lấy từ **enum ĐÓNG** `lead_self_audit.flag_classes` (`.claude/agent-memory/memory-budget.json`) — **vai KHÔNG tự chế class**. Nhịp = `h24_cadence` (cùng file), **KHÔNG chạy mỗi phiên**.
- Task match delegate criteria (ACCEPT) → BẮT BUỘC delegate (xem `.claude/agents/README.md` decision tree)
- Con cũ rảnh TRONG-session → resume qua SendMessage (khả dụng lại — F2 S100) HOẶC fresh spawn re-inject MEMORY; cross-session luôn fresh spawn
@ -264,16 +264,16 @@ ngược lại → counter += 1 ; last_ticked_session = S<nn> ; last_ticked_head
**(e) BÁO dòng-nợ 4-vế (nâng dòng H24 Item 2 S135):** gọi `powershell.exe -ExecutionPolicy Bypass -File scripts/nhip-no-probe.ps1` in **1 dòng** `NHIP-NO: kiem light a/e deep b/f <ok|OVERDUE:…> | tran-bo-nho x over-cap | run-chua-gom y` (vế-1 nhịp-kiểm = `counter/light/deep/OVERDUE` thay dòng H24 ). 🔴 **probe KHÔNG chặn**: lỗi in `probe-loi (khong chan)` đi tiếp. 🔄 **HÌNH B @S149 (bookend-hoá light — spec qua gate W2):** cặp soi-lead (`lead-stale-auditor` + `lead-gap-auditor`) spawn **VÔ-ĐIỀU-KIỆN mỗi đầu phiên** KHÔNG còn cổng OVERDUE(light); **OVERDUE(deep) GIỮ** (deep-sweep theo `deep_every`). Cặp trả ghi số bằng máy `scripts/h24-signal-write.ps1` (đơn-vị tally = phiên-LOGIC: @open+@close gộp 1 quyết-định/class FIX-1). `ring2-audit` AUTO sau cặp, **PIN đích-danh run-folder tươi** (cấm glob-latest carve-out §A1). Luật sống canonical [`session-end`](session-end.md) §L.b(j)(ii) **B1, mục này chỉ ÁP, không chép phạm-vi**. 🧊 *Bản S146→S149 = "auto khi tới nhịp"; đảo @S149 theo direction anh "chạy đc VIPIX, AI_INFRA" (lineage đầy đủ ở §L.b(j)(ii)).*
🔸 **Phạm-vi 1 dòng (chống đọc nới):** gỡ **cổng NGƯỜI**, **giữ cổng NHỊP** (`h24_cadence`) auto **khi tới nhịp**, KHÔNG phải mỗi phiên. Khác bookend-hub (hub bỏ counter) SE chưa theo nhánh đó.
**KHÁC sleep-check §2.1.2** (vẫn CONSENT) và **KHÁC trio §2.1.9** (vẫn CONSENT) 3 cổng nay **không còn cùng khuôn**, đừng suy một ra ba.
**KHÁC sleep-check §2.1.2** (vẫn CONSENT) 🧊 vế "KHÁC trio §2.1.9 (vẫn CONSENT)" hết hiệu lực @S151: trio nay CŨNG AUTO (1 vòng/phiên giữa 2 bookend). Chỉ còn sleep-check cổng consent; đừng suy khuôn cổng này sang cổng khác.
🔴 **Số nhịp = quyền anh.** Bước này **ĐỌC** `h24_cadence`, **KHÔNG** ghi. **CẤM hardcode nhịp ở đây** copy số vào doc dẫn-xuất chính drift single-source sinh ra để chặn (detector `governance-detectors.ps1` H24-2 **fail-loud** nếu key thiếu, **không** giả-định default).
> 🟡 **Honest-caveat mang theo khi báo hub:** hub nói rõ *"số của các em = config của các em; ĐỪNG chép 3 số này"*. SE chọn **cùng 6/15/3** là **điểm khởi-đầu anh CỐ Ý chọn**, KHÔNG phải chép vô-thức. **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ả"**. ✅ **Ratified 2026-07-17:** anh mark cổng reply `e50a4bd0` (2026-07-16-ai_infra-to-se-reply-adap); canonical = `memory-budget.json → h24_cadence._owner_ratified` (B1 — wording sống ở đó, đừng chép lại đây).
### 2.1.9 Bộ-ba đồng-kiểm memory — nhịp 2-đầu-phiên, CONSENT-GATED (adopt S141, khuôn hub 5-câu `58e28bae` khối B)
### 2.1.9 Bộ-ba đồng-kiểm memory — AUTO 1 vòng/phiên GIỮA 2 bookend (owner @S151; 🧊 adopt S141 dạng consent-gated → superseded; khuôn hub 5-câu `58e28bae` khối B)
> Trục = **CHÍNH HỆ MEMORY** (độ-giữ · hành-động · đúng-spec) — **KHÁC** H1 tooling-freshness · H2 harvest-integrity · H24 soi-LEAD · reviewer chấm-diff. 3 vai read-only INFORM-only propose-only, chạy **TUẦN TỰ**: `harness-eval` (con ĐO) → `harness-refine` (con ĐỀ-XUẤT) → `harness-audit` (con KIỂM). Contract từng vai = canonical ở [`.claude/agents/harness-{eval,refine,audit}.md`](../agents/harness-eval.md) (B1 — **KHÔNG chép contract vai vào đây**).
- **(a) 🔴 CONSENT-GATED KHÔNG auto-run** (cùng khuôn **sleep-check §2.1.2** 🧊 **@S146 GỠ vế "+ H24 §2.1.8(e)"**: H24 nay **AUTO khi tới nhịp**, viện làm khuôn consent **SAI**): em-main **IN đề-xuất 1 dòng** dạng `trio-memory: de-xuat chay eval->refine->audit @S<nn> (consent?)` **anh gật mới chạy**. Không gật KHÔNG chạy (KHÔNG hỏi vòng 2, KHÔNG "chạy thử cho nhanh").
- **(a) 🔄 AUTO 1 VÒNG/PHIÊN vị trí GIỮA 2 bookend (owner chốt @S151 2026-07-25, supersede consent-gate S141; ĐÂY = nhà canonical, `session-end §L.b(k)(i)` chỉ TRỎ):** anh: *"OK đồng ý, cứ đúng luật là tự làm, tao muốn có 1 vòng auto giữa 2 phiên bookend"* trio chạy **TỰ ĐỘNG đúng 1 vòng mỗi phiên**, vị trí = **SAU bookend @open, TRƯỚC bookend @close** KHÔNG cần anh gật từng lần (HANDOFF #12 resolve theo hướng này; vòng auto đầu tiên = chính S151). Em-main vẫn **IN 1 dòng trạng-thái** `trio-memory: auto-vong @S<nn> (giua 2 bookend)` khi khởi chạy hết consent nhưng KHÔNG chạy chìm. Đã chạy @giữa rồi @close KHÔNG chạy lần 2 (đúng 1 vòng/phiên). 🧊 *Lineage: consent-gated per-run (S141, khuôn 5-câu `58e28bae`) → AUTO @S151 owner-direction. ⚠️ Khuôn sleep-check §2.1.2 VẪN CONSENT — 3 cổng không cùng khuôn, đừng suy một ra ba.*
- **(b) 🔴 TUẦN TỰ, CẤM song song:** **3 spawn RIÊNG** đúng thứ-tự eval refine audit. **KHÔNG dùng `parallel()` của `hmw.js` cho bộ-ba** refine đọc output eval, audit chấm output của cả 2; chạy song song chấm **bản cũ** verdict vô-nghĩa.
- **(c) Lead scribe NGAY (single-writer):** return từng con lead ghi `.claude/workflows/runs/<run-id>/harness-{eval,refine,audit}-return.md` **ngay khi con đó trả**, **KHÔNG đợi đủ 3**. Lý-do: 3 vai **không có Write/Edit** (chặn-bằng-thiếu-tool) nên tự-ghi-đĩa bất-khả; phiên chết giữa chừng mất return (bài-học vòng-1 S141).
- **(d) PIN đích-danh (fail-closed):** `harness-refine` nhận **path** `…/harness-eval-return.md`; `harness-audit` nhận **path run-folder** đang chấm. 🔴 Pin **missing/rỗng ⇒ vai TỪ-CHỐI / TRƯỢT** **CẤM** để vai tự đi tìm "run mới nhất" (vớ bản **ĐẠT-ảo**).
@ -281,9 +281,9 @@ ngược lại → counter += 1 ; last_ticked_session = S<nn> ; last_ticked_head
- **(f) Post-wave assertion:** chạy xong 3 con `git status --short` **kỳ vọng 0 tracked-change ngoài run-folder**. thay-đổi lạ vai đã ghi (residual-write) **báo anh + revert**. (G-015: propose-only **KHÔNG** code-enforced kênh Bash git-diff backstop THẬT.)
- **(g) KHAI ranh 2 cánh-tay (chống đọc nhầm thành "đo 2 lần"):** **script-arm** = §2.1.22.1.62.1.7 (các script deterministic **in SỐ**) **sub-arm** = bộ-ba (**ĐỌC** output script-arm rồi ĐO-lại/ĐỀ-XUẤT/CHẤM). Bộ-ba **KHÔNG thay** script-arm **KHÔNG re-implement máy đo**.
- **(h) Đơn-vị nhịp:** "**phiên-LOGIC**" của hub map **TẠM** = nhãn-phiên `S<nn>` của SE (SE chưa adopt session-logic cùng caveat đơn-vị với counter §2.1.8). 🔴 **KHÔNG thêm cadence-key** vào `memory-budget.json` **KHÔNG tick** counter cho bộ-ba (nhịp bộ-ba nhịp H24 trộn 2 đồng-hồ = hỏng cả hai).
- **(i) [M4] Vết 2 lớp chuỗi skip PHẢI nhìn thấy được:**
- **(1)** proposal-line (a) **IN CẢ khi Light/hỏi-đáp session**. Light skip **CHẠY** hợp-lệ, nhưng **CẤM skip IM-LẶNG**.
- **(2)** khi skip (anh không gật **HOẶC** Light) ghi **1 dòng vết** vào [`.claude/WAL.md`](../WAL.md): `trio: skipped S<nn> (<ly-do: light | khong-gat | ...>)`. Chuỗi skip dài **nhìn ra ngay** WAL thay biến mất.
- **(i) [M4] Vết 2 lớp chuỗi skip PHẢI nhìn thấy được (giữ NGUYÊN sau khi bỏ consent @S151 auto không nghĩa được im):**
- **(1)** dòng trạng-thái (a) **IN CẢ khi Light/hỏi-đáp session**. Light skip **CHẠY** hợp-lệ, nhưng **CẤM skip IM-LẶNG**.
- **(2)** khi skip (Light **HOẶC** vòng không chạy được 🧊 vế "anh không gật" retired @S151 cùng consent-gate) ghi **1 dòng vết** vào [`.claude/WAL.md`](../WAL.md): `trio: skipped S<nn> (<ly-do: light | loi | ...>)`. Chuỗi skip dài **nhìn ra ngay** WAL thay biến mất.
### 2.2 Skill registry (6 skill)
- Liệt kê: `contract-workflow` · `form-engine` · `permission-matrix` · `dependency-audit-erp` · `ef-core-migration` · `iis-deploy-runbook`
@ -291,7 +291,7 @@ ngược lại → counter += 1 ; last_ticked_session = S<nn> ; last_ticked_head
- Skill staleness audit: chỉ chạy theo lịch định kỳ (xem 2.4)
### 2.3 RAG + MCP health
- `mcp__rag-unified__list_projects` verify collection `proj_solution_erp` còn sống (baseline ~3076 chunks)
- `mcp__rag-unified__list_projects` verify collection `proj_solution_erp` còn sống (chunk-count so LIVE với row "RAG chunks" trong `docs/STATUS.md` §CURRENT STATE B1, KHÔNG chép số đây; 🧊 mốc cứng "~3076" cũ = thước hỏng, gỡ @S151 per stale FLAG-2/H1 F-7)
- Chunk count + `last_indexed_at` delta (drift > 20% → flag AI_INFRA). ⚠️ Re-index = **AI_INFRA op** (charter v2, cần VOYAGE_API_KEY) — KHÔNG tự chạy `bootstrap.py`; SE stopgap = `store_memory` key facts.
- Voyage rerank quota OK (verify 1 query có rerank_score)
- Kiểm tra RAG chủ trì + sub: prompts đã store + đánh dấu re-rank đầy đủ chưa