[CLAUDE] Docs: S152 closeout — bookend hình B trọn 2 đầu + owner (30)(31)(32) + queue memory-ops TRỌN (squash 20 wal:)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m30s

- Owner 3-quyết: (30) JUMP để-nguyên-theo-nhịp · (31) 4 persona +NEVER-block (restart ĐÃ THOẢ) · (32) vòng 1→5 AUTO — lô consent gỡ 9 site (5 H1 + ring1-tự-bắt + 3 trio; E-013 EXT)
- Memory-ops TRỌN: A1-A4/D1/D2/R1/B-series — A7 392/392 · mfe 20/20-100% lần đầu · lead-gap drain 24.728→16.485B · strike-ledger + WARN-latch (-Ack = owner-action)
- V4 sleep AUTO đầu: 1 shard thật/16 KÊU · ring4 đầu-đời TRƯỢT-4/5 → 4 fix gist (scribe sub-ring4-close vì return-only)
- Thư model re-stamp: 59ce1d0f → 9c909007 published (G-024a) — adap-report Đính-chính @S152 + sweep 13 bề-mặt LIVE
- Bookend @close: stale 6 FLAG + gap 2 FLAG → vá 8/8; ring2 8/8 ĐẠT (4-A pin-bản-cắt → slot 33) · ring1 48Đ/5T/59-claim
- M9 13 đơn-vị diary (3 S151-deep hồi-tố) · #53 ×10-chắc → tally 60-cận-dưới + errata subject-1b85713
- Session-log 2 run= + completeness-gate 5-vòng ĐẠT · HANDOFF segment S152 (carry 3-đóng/3-mới/23-giữ; slot 33/34)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-26 01:58:30 +07:00
parent 1b85713bb6
commit c2d01f0dce
96 changed files with 4334 additions and 199 deletions

View File

@ -38,7 +38,7 @@ Em main đọc `.claude/hmw-mode.on` → **BÁO ngay đầu response** (anh kh
## 📋 BƯỚC 0.6 — Model-availability check (H5 — adopt S63 · MTv3 reword S110)
🔄 **VALUE-update @S149 2026-07-25 (broadcast `model-default-opus-5-max` sha `59ce1d0f`, hub-owner "làm gấp" + anh cùng ngày "đám Opus 5 MAX"):** **Default = Opus 5 MAX ở MỌI vị trí, KỂ CẢ ghế lead** (Khoản 5 — lối "owner-choice per-session cho lead" THÔI DÙNG). Model cao hơn default = **gọi bằng LỆNH từng phát**: `/fable-real <vai> <đề-bài>` HOẶC anh gõ `/model` trực tiếp (**quyền tuyệt đối, không bị rào** — ghi 1 dòng "chủ dự án đổi", 0 caveat). **CẤM lớp thấp (Sonnet/Haiku) ngồi lead** (§A1 giữ). **Báo đầu phiên RÚT GỌN:** lead đúng default ⇒ **im, không nêu**; chỉ nêu khi anh chủ động đổi hoặc model không resolve.
🔄 **VALUE-update @S149 2026-07-25 (broadcast `model-default-opus-5-max` sha published `9c909007` — re-stamp G-024a @07-25, pre `59ce1d0f`, hub-owner "làm gấp" + anh cùng ngày "đám Opus 5 MAX"):** **Default = Opus 5 MAX ở MỌI vị trí, KỂ CẢ ghế lead** (Khoản 5 — lối "owner-choice per-session cho lead" THÔI DÙNG). Model cao hơn default = **gọi bằng LỆNH từng phát**: `/fable-real <vai> <đề-bài>` HOẶC anh gõ `/model` trực tiếp (**quyền tuyệt đối, không bị rào** — ghi 1 dòng "chủ dự án đổi", 0 caveat). **CẤM lớp thấp (Sonnet/Haiku) ngồi lead** (§A1 giữ). **Báo đầu phiên RÚT GỌN:** lead đúng default ⇒ **im, không nêu**; chỉ nêu khi anh chủ động đổi hoặc model không resolve.
🧊 *Lineage: MTv3 owner-choice {Fable 5 | Opus 4.8} per-session (S110→S149) = superseded-VALUE bởi broadcast trên; CẤU TRÚC (floor §A1 · outage-reflex · per-invocation engine-đắt) GIỮ NGUYÊN.*
**Outage-path (H5, GIỮ — value-update):** Opus 5 KHÔNG resolve (lỗi `"Model isn't available"`) → **GIỮ `/model claude-opus-4-8[1m]` + BÁO HUB NGAY** (caveat Khoản 3 broadcast — đừng đổi mù để agent chết im; blameless per-env). **KHÔNG sửa frontmatter agent** — sub pin ALIAS `opus`+`effort:max` (worker-tier-pin S124) ⇒ alias family tự resolve, outage lead KHÔNG chạm sub. Phản-xạ THỦ-CÔNG (không hook tự-switch).
@ -181,7 +181,7 @@ git check-ignore -q .claude/sessions/session-1 ; echo "exit=$?" # → exit=1
> Read-side "vật-chất-tối": archive `agent-memory/<sub>/archive/*.md` KHÔNG vào RAG. Inject **mục-lục** (`archive/_INDEX.md`), nội dung verbatim + `.gist.md` đọc-theo-nhu-cầu. "Inject tấm bản-đồ, KHÔNG inject lãnh-thổ."
- **🌙 Sleep-check — 🔄 ĐỔI TRIGGER @S144 (adap đợt-11, owner chốt O-6 + số):** chạy `powershell.exe -ExecutionPolicy Bypass -File scripts/distill-shard-probe.ps1` → in `SHARD-PROBE: pending=<n> | nguong=<m> => KEU|IM`. **KÊU → INFORM gợi-ý** chạy `/sleep-recovery-memory-l2 <agent|all>`. 🔴 **KHÔNG auto-run** — anh consent mới chạy.
- **🌙 Sleep-check — 🔄 ĐỔI TRIGGER @S144 (adap đợt-11, owner chốt O-6 + số):** chạy `powershell.exe -ExecutionPolicy Bypass -File scripts/distill-shard-probe.ps1` → in `SHARD-PROBE: pending=<n> | nguong=<m> => KEU|IM`. **KÊU → 🔄 AUTO chạy** `/sleep-recovery-memory-l2 all` trong phiên (owner @S152 *"các vòng 1→5 auto luôn"* — 🧊 INFORM-consent S144 superseded; vết M4 giữ: in 1 dòng trạng-thái, KÊU-mà-không-chạy-được ⇒ ghi WAL `sleep: skipped S<nn> (<lý-do>)`); `ring4-audit` AUTO sau nén như cũ (Phase 4.5 skill).
- 🔴 **Trigger = ĐẾM VẬT THẬT** (số shard `archive/<period>.md` chưa có `.gist.md` cặp đôi), **KHÔNG còn ngày-lịch**. Ngưỡng đọc LIVE từ `memory-budget.json → distill_trigger.min_pending_shards` (**B1 — CẤM chép số vào đây**).
- 🔴 **SHARD loại trừ `_INDEX.md` + `*.gist.md`** — bộ đếm đầu tiên của lead ra 20, trong đó **5 là `_INDEX.md`** ⇒ 25% dương-giả; số thật 15. Fault-inject 6/6 2-chiều (0/6/7-biên/8 + 2 ca anti-dương-giả).
- 🧊 **Dòng cũ `today last_sleep_at ≥ 7 ngày` = GHI-CHÚ PHỤ, KHÔNG còn là trigger.** Đảo có chủ đích @S144 2026-07-22, chữ-ký = anh (owner), qua 2 cửa tường minh: O-6 chọn cơ-chế + trả lời sau chốt SỐ. Lý do: ngày-lịch = proxy-giả (`auto-toan-vong:21-27`), và trái chính mark Active-High `RC-pqhuy1987-20-06-2026-10-29-11` (age = false-proxy). `last_sleep_at` **giữ lại** làm dấu-thời-gian tham chiếu, không dùng để quyết. **+ Byte-display (Item 8/M-10 S135):** khi INFORM fire → in kèm **tổng byte `agent-memory/*/archive/<period>.md` CHƯA có `.gist.md`** (match PREFIX kỳ; đo TƯƠI `(Get-Item).Length` — 🔴 CẤM `Get-Content`-đếm, bẫy encoding E-010; baseline 17-07 kỳ `2026-07` ≈183KB/5 file [ví-dụ-lịch-sử — kỳ 2026-07 đã gist @S140→chưa-gist ~0]) → anh nhìn số rồi **tự ĐẶT ngưỡng byte** nếu muốn chuyển hẳn sang trigger-theo-byte; 🔴 **KHÔNG bịa số** (giữ INFORM 7-ngày — DP-5 quyền owner cục-bộ B1 §3.4).
@ -264,7 +264,7 @@ 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)" 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.
🧊 Vế "KHÁC sleep-check §2.1.2 (vẫn CONSENT)" **hết hiệu lực @S152** owner chốt *"các vòng 1→5 auto luôn"* sleep-check CŨNG AUTO-khi-KÊU. **Từ S152: cả 5 vòng (V1 tooling/harvest+ring1 · V2 soi-lead+ring2 · V3 trio · V4 nén-ngủ+ring4 · V5 floor/detector) đều AUTO, 0 cổng consent** vết M4 (in dòng trạng-thái + WAL khi skip) giữ cho MỌI vòng; auto chạy-chìm, auto chạy-mù (fail-safe NO-OP khi thiếu input giữ nguyên). *(Lineage cổng-consent: trio gỡ @S151 · sleep gỡ @S152 — đây là cổng consent CUỐI CÙNG của 5 vòng.)*
🔴 **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).
@ -273,7 +273,7 @@ ngược lại → counter += 1 ; last_ticked_session = S<nn> ; last_ticked_head
> 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) 🔄 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.*
- **(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. Vế cũ "sleep-check §2.1.2 VẪN CONSENT — 3 cổng không cùng khuôn" hết hiệu-lực @S152 (owner "vòng 1→5 auto"): nay cả 3 cổng cùng AUTO.*
- **(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**).