[CLAUDE] Docs: S149-S150 closeout — bookend lượt đầu end-to-end (hình B) + 2 arc đóng + tally #53 chốt 45
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m48s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m48s
- Arc-1 hội-tụ-bookend (rename 5 vai + 4 máy PS1 + C9-C12) + arc-2 adap-backlog 23/23 + probe Opus-5 khép (S149)
- Bookend @close S150: wave 6 vai (4 đo + 2 KIỂM) → 20 FLAG disposition từng-dòng; ring1 31/34-ĐẠT, ring2 10/10 + M-1 view-stale-role-desc
- Khoá _frozen_until_owner CẮM trước h24-signal-write (frozen-held in thật); 9 class FIRE; JUMP dải {5,4,4,3}+asym{1,4} chờ anh #21
- STATUS bump CURRENT S149-S150 + 2 khối Recently Done; HANDOFF segment mới + re-stamp đủ-slug + (17)(18)(19) lật + (14) viết lại + 6 slot #21-#26
- K2 posture-A @engine PHẦN K + K5 luật TÁCH vòng-đo-mới @session-end (O-2/O-3 OWNER-DELEGATED execute)
- sleep-doc derive-monitor-set (bỏ hardcode 4-tên); spawn-model-audit desc/comment fix; h24-signal-write param-default fix (first-live bug)
- M9 on-behalf ×3 (tooling + inv-cb F3 + reviewer F4); ring1/ring4 nhà seed; ring2 3 cite-dead vá
- Sổ garble #53 derive-from-body chốt 45 + sub-class ngược-#53/skeleton-ruột-rỗng (ghi-đĩa CẦN-KHÔNG-ĐỦ)
- Session-log S149-S150 (Sàn-5 đăng-ký 6 run=) + closeout-synthesis dạng-1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -38,9 +38,10 @@ 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)
|
||||
|
||||
Em main xác nhận **lead model resolve được** đầu session. **Lead = frontier-class do ANH CHỌN per-session** {**Fable 5 (1M) Max** | **Opus 4.8 (1M) Max**} — **owner-choice hợp-lệ CHÍNH THỨC** (đổi giữa phiên OK, ghi 1 dòng session-record); **CẤM lớp model thấp (Sonnet/Haiku-class) ngồi ghế lead** (§A1 floor).
|
||||
🔄 **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.
|
||||
🧊 *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Ữ):** lead-model DOWN = lỗi `"Model isn't available — claude-fable-5[1m]"` → fallback **`/model claude-opus-4-8[1m]`** (Opus 4.8 · 1M · Max — top-tier, KHÔNG hạ §A1; **KHÔNG sửa frontmatter agent** — sub nay pin cứng `opus`+`effort:max` (worker-tier-pin S124) nên outage lead KHÔNG chạm sub; chỉ lead đổi Fable→Opus, **revert-FREE**). Phản-xạ THỦ-CÔNG (không hook tự-switch).
|
||||
**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).
|
||||
|
||||
**Outage đóng:** phiên **ĐẦU TIÊN** sau đó em main hỏi anh **ĐÚNG 1 DÒNG** ("model hạng-nhất resolve lại — giữ hạng-hai hay đổi?"), **hỏi 1 lần, không lặp** (thay auto-revert cũ). **Flip-record từ nay gắn nhãn {owner-choice | outage}** khi ghi: **owner-chọn-hạng-hai ≠ outage → 0 caveat / 0 nghĩa-vụ revert**; chỉ outage-fallback mới mang caveat tạm-thời.
|
||||
|
||||
@ -86,6 +87,7 @@ Em main đọc `.claude/WAL.md` (sổ mạch-việc-dở H22 — ghi-đè ≤40
|
||||
- Thư-mục: `.claude/sessions/session-<N>/` · **regex `^session-\d+$`** (KHÔNG `L<mm>`, KHÔNG hậu-tố mô-tả — máy phải quét được).
|
||||
- `<N>` = **ID phiên-LOGIC, nguyên tăng** (`max(<N> hiện có) + 1`). 🔴 **Nhãn 2 tầng (VC-1):** `S<nn>` = **cửa-sổ vật-lý** (mọi cơ-chế tick/counter/H24 GIỮ NGUYÊN đơn-vị này) · `L<N>` = **phiên-logic**, dùng **CÙNG con số** với `session-<N>` — hai cách viết của **một ID**, **KHÔNG phải hai bộ đếm**.
|
||||
- **Ai tạo thư-mục — 🔴 SCAFFOLD IDEMPOTENT (owner chốt @S146 "giống hub"; floor manifest `101e69d6` §1 "Cộng ba miếng nền"):** *"thư-mục phiên **tự tạo ở đầu phiên**; **chạy lại nhiều lần vô hại** (không đè cái đã có)"*. ⇒ **BẤT-KỲ điểm-vào nào** (`/session-start` · `/pause` · `/tiep`) gặp `session-<N>/` chưa tồn-tại thì **TẠO**; đã có thì **DÙNG LẠI, CẤM đè**.
|
||||
- 🔄 **@S149 CHẠY BẰNG MÁY (M1 — gốc "cứ sai mã" chết tại đây):** `/session-start` gọi `powershell.exe -ExecutionPolicy Bypass -File scripts/session-scaffold.ps1 -New` (cấp `<N>=max+1`; collision → exit 4 không ghi) · `/pause`+`/tiep` gọi `… -Ensure` (idempotent exit-0 no-op; khuôn hub `:144-151`). ts-mốc = git-committer TỰ ĐỘNG. Template = `.claude/templates/session-context-template.md`. **Prose khối này = luật để hiểu; máy = đường thi hành** (fault-inject 4/4+6/6 @S149 — chính phiên mà lead ĐÃ ĐỌC luật này rồi VẪN quên tạo session-3, anh phải bắt: *"đấy là lý do mà nghi thức này bắt buộc"*).
|
||||
- 🔴 **Ai cấp `<N>` (khác "ai tạo thư-mục" — đừng lẫn):** **CHỈ `/session-start`** mới **MỞ SỐ MỚI** (`max(<N> hiện có) + 1`). `/pause` · `/tiep` **KHÔNG BAO GIỜ tự tăng `<N>`** — chúng chỉ **tạo thư-mục cho `<N>` ĐANG MỞ** nếu nó chưa có trên đĩa (ca "cửa đầu chưa kịp scaffold"). Không có `<N>` nào đang mở ⇒ dùng `<N> = max+1` **và ghi 1 dòng khai** trong khối đó là số được cấp ngoài `/session-start`.
|
||||
- 🧊 **Vá mâu-thuẫn @S146:** bản trước ghi *"Ai mở `<N>` mới: **CHỈ** `/session-start`"* trong khi [`pause.md §2.6`](pause.md) ghi *"chưa có thì đây là cửa đầu ⇒ **tạo** `session-<N>/`"* ⇒ **hai file nói ngược nhau về quyền tạo**. Gốc lỗi = **gộp hai khái niệm khác nhau** (*cấp SỐ* ⟂ *tạo THƯ-MỤC*) vào một câu. Nay tách đôi: **cấp số = độc-quyền `/session-start`** · **tạo thư-mục = idempotent, ai gặp trước thì tạo**. Hub chỉ ràng vế thứ hai.
|
||||
|
||||
@ -141,7 +143,7 @@ git check-ignore -q .claude/sessions/session-1 ; echo "exit=$?" # → exit=1
|
||||
|
||||
## Phase 2 — AUDIT (state check)
|
||||
|
||||
### 2.1 Sub-agent state (topology — **10 product/quality + monitor INFORM-only (H1 · H2 · 2×H24 · 3×trio-memory · 3×round-KIỂM `tooling-harvest-audit`/`h24-audit`/`sleep-audit` S145)**; số vai canonical → [`docs/STATUS.md`](../../docs/STATUS.md) §Sub-agents, B1 KHÔNG chép số ở đây)
|
||||
### 2.1 Sub-agent state (topology — **10 product/quality + monitor INFORM-only (H1 · H2 · 2×H24 · 3×trio-memory · 3×round-KIỂM `ring1-audit`/`ring2-audit`/`ring4-audit` S145)**; số vai canonical → [`docs/STATUS.md`](../../docs/STATUS.md) §Sub-agents, B1 KHÔNG chép số ở đây)
|
||||
- Check TOÀN roster đã spawn chưa:
|
||||
- 🟦 **investigator-codebase** — internal SQL/EF/grep/reference mirror audit
|
||||
- 🟦 **investigator-api** — external docs/CVE/lib/cross-project reference
|
||||
@ -155,10 +157,10 @@ git check-ignore -q .claude/sessions/session-1 ; echo "exit=$?" # → exit=1
|
||||
- 🟩 **cicd-monitor** — post-deploy Gitea + bundle hash + smoke
|
||||
- 🟫 **tooling-auditor** (monitor H1, INFORM-only) — tooling/docs-freshness 4-mặt (skill·sub-role·plugin·docs)
|
||||
- ⬜ **harvest-curator** (monitor H2, INFORM-only) — harvest-integrity 5-trục (Coverage/Completeness/Fidelity/Placement/Corruption)
|
||||
- 🔷 **lead-view-auditor** (monitor **H24**, INFORM-only, **+S121 W2**) — soi **VIEW LỆCH SOURCE** của chính cái LEAD surface (bản-tóm-tắt trỏ số cũ · tiêu-đề chưa bump · chú-thích-trạng-thái chưa lật · số trong mô-tả một VAI lệch · dư-lượng bất-đối-xứng)
|
||||
- 🔶 **lead-omission-auditor** (monitor **H24**, INFORM-only, **+S121 W2**) — soi **CÁI BỊ THIẾU** trong cái LEAD surface (việc rớt khỏi work-state · carry rớt/quá-già · yêu-cầu owner ghi chung-chung mất specifics · quyết-định-treo chìm · memory nạp dưới hạn-mức)
|
||||
- 🔷 **lead-stale-auditor** (monitor **H24**, INFORM-only, **+S121 W2**) — soi **VIEW LỆCH SOURCE** của chính cái LEAD surface (bản-tóm-tắt trỏ số cũ · tiêu-đề chưa bump · chú-thích-trạng-thái chưa lật · số trong mô-tả một VAI lệch · dư-lượng bất-đối-xứng)
|
||||
- 🔶 **lead-gap-auditor** (monitor **H24**, INFORM-only, **+S121 W2**) — soi **CÁI BỊ THIẾU** trong cái LEAD surface (việc rớt khỏi work-state · carry rớt/quá-già · yêu-cầu owner ghi chung-chung mất specifics · quyết-định-treo chìm · memory nạp dưới hạn-mức)
|
||||
- 🧪 **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-omission-auditor`).
|
||||
- 🧭 **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).
|
||||
- 🔴 **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**.
|
||||
@ -235,9 +237,9 @@ git check-ignore -q .claude/sessions/session-1 ; echo "exit=$?" # → exit=1
|
||||
|
||||
### 2.1.8 H24 lead-self-audit — TICK counter + OVERDUE check (adopt S122 W3; file+shape = W2)
|
||||
|
||||
> Floor H24: 2 vai `lead-view-auditor` + `lead-omission-auditor` soi **chính LEAD**, chạy **theo NHỊP** chứ KHÔNG mỗi phiên. Nhịp đọc từ `h24_cadence`; trạng-thái đếm ở `.claude/governance/.session-counter.json`. 🔴 **Lead = single-writer** của counter. **W2 sở-hữu file + hình-dạng; W3 (đây) sở-hữu NGHI-THỨC tick.**
|
||||
> Floor H24: 2 vai `lead-stale-auditor` + `lead-gap-auditor` soi **chính LEAD**, chạy **theo NHỊP** chứ KHÔNG mỗi phiên. Nhịp đọc từ `h24_cadence`; trạng-thái đếm ở `.claude/governance/.session-counter.json`. 🔴 **Lead = single-writer** của counter. **W2 sở-hữu file + hình-dạng; W3 (đây) sở-hữu NGHI-THỨC tick.**
|
||||
|
||||
**(a) TICK — content-addressed, KHÔNG blind-increment:**
|
||||
**(a) TICK — content-addressed, KHÔNG blind-increment — 🔄 @S149 CHẠY BẰNG MÁY:** `powershell.exe -ExecutionPolicy Bypass -File scripts/session-counter-tick.ps1 -Session S<nn>` (M2 — thi hành ĐÚNG `_contract` trong counter-file: OR-guard idempotent · 3-nhánh classify · atomic temp+move · fail-loud exit≠0; fault-inject 5/5 @S149). **Prose dưới = MÔ TẢ contract để người đọc hiểu, KHÔNG phải quy trình tay nữa** — tay chỉ khi script exit≠0 (fail-loud → báo anh):
|
||||
```
|
||||
head = git rev-parse HEAD
|
||||
nếu head == last_ticked_head HOẶC session == last_ticked_session → NO-OP (idempotent per HEAD + per nhãn-phiên)
|
||||
@ -260,7 +262,7 @@ ngược lại → counter += 1 ; last_ticked_session = S<nn> ; last_ticked_head
|
||||
|
||||
**(d) JUMP:** một class trong `lead_self_audit.flag_classes` lặp **≥ `jump_on_class_repeat`** lần → **kéo audit tới sớm**, bất-kể counter.
|
||||
|
||||
**(e) BÁO dòng-nợ 4-vế (nâng dòng H24 cũ — 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 cũ). 🔴 **probe KHÔNG chặn**: lỗi → in `probe-loi (khong chan)` → đi tiếp. OVERDUE(light|deep) → 🔴 **SPAWN AUTO cặp H24 NGAY, KHÔNG consent (owner chốt @S146 "3 → auto"; THAY luật era-S122 "anh gật mới chạy")**. 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**.
|
||||
**(e) BÁO dòng-nợ 4-vế (nâng dòng H24 cũ — 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 cũ). 🔴 **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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user