[CLAUDE] Docs: S153 closeout — adopt TRỌN Ctx soft-memory + OWNER-VETO 3-vai + RENAME hub-form (squash 22 wal:)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m39s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m39s
Pipeline anh lệnh: /check-email + /adap-apply -> /fable-real invest (spec 9-task/24-checklist) -> hmw Opus-5-MAX 2 đợt + lead-solo T6-T8 -> checklist verify. Thư ① 9c909007 (model-default Opus 5 MAX): TRỌN — filing 2-tuyến + probe-sau-restart 2-nguồn claude-opus-5[1m] + thư hub d432f5eab5cd + caveat (e) đóng. Thư ② 0df10df4 (pause-tiep Ctx soft-memory, sàn 7-khoản): EXECUTED - máy mind-check: scripts/session_ctx.py +542 dòng (7 phép + 2 phụ, 4 mức, draft/closed/--root/--session PIN, exit 0/1/3) - template .claude/templates/session-mind-template.md + wire 4 lệnh (pause C-bis+2bis+§1-carve-out, tiep §2.6+§3-ter, session-start Phase 3.5, session-end §L.b(l)+6.3-bis) - memory-budget: mind_ctx_kb=32 + tiep_reload + ĐÓNG ghost-wire session_ctx_kb (H18 class-2 sống S146->S153) - fault-inject 18/18 + 2 fix hậu-T4 (FI 6/6): GAP-#9 closed-mode E-0-con-trỏ CỜ->TRƯỢT (chặn gradient thưởng xoá-con-trỏ-trung-thực, họ bẫy F-1 của chính thư hub) · secrets-sweep +--root parity - số ĐO THẬT pause +117ms thay ước lệch 2.2-5.4x OWNER 2 quyết trong-phiên: - (38) VETO: 1-vai -> hub-form 3-vai (ctx-curator @pause + carve-out pause §1 · ctx-verifier @tiep · ctx-audit @2-bookend) - RENAME theo chuẩn hub/sisters để audit chéo: ctx-pause-check->ctx-curator, ctx-reload->ctx-verifier (đo đĩa 3 nhà; hub≠sister => SE theo HUB-form, tiền lệ S149). Roster 20->23, VALID_ROLES 23. Gap còn lại: ring5-audit (V5 truth-floor) hub CÓ, SE+VIPIX chưa -> slot (41). Bookend 2 đầu (12 spawn) + trio auto 1 vòng: - @open: H1 7f · H2 4f · H24 5+3 FLAG · ring1 28Đ/4T · ring2 8/8Đ + M-1 MISS thật · trio eval-MIXED-14/refine-3A-7B-4N/audit-25Đ-3T (re-chạy 7 instrument, 24 số byte-exact) - @close: H1 6f · H2 8f (baseline S154 = 16/10, tự sửa bản ~23/11) · H24 4+2 FLAG · ring1 47Đ/5T/1KC/53 · ring2 6/6Đ + 21 phép phụ - lead xử 11 mục: 9 FLAG H24 + 3 RESIDUAL ring2 + F-r2 (plugin 3 hard-site) + M-1 cả 2 persona + M9 14 sổ diary + F-3/F-5/F-6 + nit Sàn-5 + BÁC F-4 (fan-out không vào _index) #53 x14-cận-dưới, 0 mất dữ liệu (WRITE-lane derive-from-body · Agent-resume · SendMessage-resume x6). Datum: trio return-only hết miễn nhiễm (3/3 CLEAN -> 1/3). 4-A suýt xảy ra thật (bản committed của 2 file H24 là bản cắt 24%/48%). completeness-gate: 5 vòng đủ · phép ĐẠT 4 / TRƯỢT 0 / vacuous 0. State: Mig 67 · 89 bảng · 532 test · gotcha 83 · Sub-agents 23 · counter 27 · bundle FROZEN · governance-only 0 prod-code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@ -2,7 +2,14 @@
|
||||
|
||||
> **Tiering rule (S40):** giữ **2-3 session gần nhất**. Cũ hơn → `docs/changelog/sessions/`. Full brief history pre-S40 → `docs/_archive/HANDOFF-preS40-fullhistory.md`.
|
||||
|
||||
**🆕 Last updated:** 2026-07-26 rạng sáng (**S152** — phiên-logic 5, 2 cửa-sổ nối `/pause`+`/tiep` [CLI-restart do máy treo, anh xác nhận]: **bookend hình B trọn 2 đầu + owner 3-quyết (30)(31)(32) + queue memory-ops TRỌN + V4-sleep AUTO đầu + ring4 đầu-đời + thư model re-stamp `9c909007`**). Governance-only, 0 prod-code (git-diff src/tests/fe = rỗng, test 532 giữ). Chi tiết = `docs/STATUS.md` dòng CURRENT + log `changelog/sessions/2026-07-26-0200-S152-bookend-memops-close.md`. ⭐ Bài đắt nhất phiên: **pin-bản-cắt** (ring2 4-A — file ghi-từng-finding LUÔN hợp-lệ giữa chừng, lead pin 16.911B của file 30.195B mất 3 FLAG, tally thoát NHỜ MAY) + **sweep-theo-LỚP-file** (lô consent 5-site → 9-site sau khi ring1 tự bắt trong persona mình + lead grep cùng-lớp trio; E-013 EXT).
|
||||
**🆕 Last updated:** 2026-07-26 chiều (**S153** — phiên-logic 6, 1 cửa-sổ: **adopt TRỌN thư Ctx soft-memory `0df10df4` + OWNER-VETO 3-vai + RENAME hub-form + bookend 2 đầu**). Governance-only, 0 prod-code (test 532 giữ, `git diff` src/tests/fe rỗng). Chi tiết = `docs/STATUS.md` dòng CURRENT + log `changelog/sessions/2026-07-26-1600-S153-ctx-adopt-3vai-rename.md`. ⭐ Bài đắt nhất phiên: **GAP-#9** — máy tự-build của SE tái hiện đúng bẫy F-1 mà thư hub kể (closed-mode: *xoá con-trỏ trung thực* → xanh RẺ HƠN *giữ* → trượt ⇒ gradient thưởng đường SAI; vá bằng TRƯỢT). Bài phụ: **đo wall-clock phải gồm nhánh ĐẮT** (ước lệch 2.2-5.4×) · **fixture-hỏng-cho-xanh trông y hệt máy-đúng-cho-xanh** (phải soi RUỘT fixture) · **bẫy parse `]` trong comment** nuốt non array (18 vs 23).
|
||||
**Carry @S153 — 🆕 MỚI 4 slug:** `[carry:ctx-t9-dogfood]` *(T9 phiên sau restart: dogfood 4-cửa THẬT + spawn-probe CẢ 3 vai ctx + mồi-ngầm xuyên-cửa-sổ + checklist #18/#19/#20/#22/#23 + điền wall-clock nếu lệch >2×)* · `[carry:ring5-audit-gap]` *(→ slot (41): hub CÓ `ring5-audit` V5 truth-floor [Q-2 25-07], SE+VIPIX chưa)* · `[carry:hmw-width-vs-roster]` *(→ slot (40): cap 20 < roster 23 ⇒ LOUD-skip 3 lane; nâng = đổi 2 nơi cùng lúc)* · `[carry:hmw-subfile-index-collision]` *(kẽ CÒN LẠI sau S134: cùng-role 2-invocation ⇒ index reset ⇒ suýt đè sub-file đợt-1; T5 tự né bằng `-2`; fix khả dĩ = `startIndex` hoặc số-đợt trong tên)*. **GIỮ re-stamp toàn bộ carry @S152** *(26 slug — con-trỏ dòng Carry kỳ S152 bên dưới, KHÔNG chép để tránh drift; re-verify: phiên governance-only nên nhóm product/UAT 0 đổi trạng-thái)*. ✅ ĐÓNG @S153: `[carry:adap-apply-2-thu]` *(cả 2 thư TRỌN: ① probe+filing+thư-hub · ② executed + draft §6 + adap-report + thư hub `aedd7fb67405` 6-datum; inbox pending 0)*.
|
||||
**🔴 NEXT anh @S153 (đánh số — trả lời bằng số):** **(35)(36)(37)** veto-window 3 quyết còn lại *(trần `mind_ctx_kb`=32KB · máy-$0-mỗi-pause · nạp-nền-rút-gọn `tiep_reload`)* — không veto = giữ · ~~(38)~~ ✅ **anh đã VETO + chốt hub-form 3-vai @S153** · **(39)** RAG Qdrant DOWN (6333 refused, gotcha #14 off-after-reboot; charter AI_INFRA — anh tự chạy `rag-infra.ps1 -Action ensure` / để AI_INFRA / cho em chạy cross-repo?) · **(40)** `hmw_width.cap` 20 < roster 23 ⇒ full-sweep LOUD-skip 3 lane cuối — nâng cap hay giữ? · **(41) 🆕** `ring5-audit`: build SE-form ngay hay chờ nhịp adopt chung với VIPIX? · slot cũ **(26)(29)(33)(34)** + (4)-(25) giữ nguyên (đọc segment S152 dưới).
|
||||
> 📎 **Draft/spec vòng Ctx (F-3 H1 @close — neo con-trỏ live-doc):** SE-form + 4 quyết định + trạng thái RESOLVED §6 = [`docs/governance/ctx-soft-memory-se-draft.md`](governance/ctx-soft-memory-se-draft.md) · spec thi-hành 9-task + checklist 24-phép = [`spec-ctx-adopt-26-07-2026.md`](../.claude/workflows/runs/2026-07-26-S153-ctx-adopt/spec-ctx-adopt-26-07-2026.md) · nấc adopt = [`adap-report thư ②`](governance/adap-reports/2026-07-25-Governance-pause-tiep-upgrade-vong-ctx.md).
|
||||
|
||||
**NEXT em @S153 (phiên kế):** ① **T9 dogfood** `[carry:ctx-t9-dogfood]` — chạy NGAY sau restart (nghi-thức Phase 3.5 + pause C-bis + tiep §3-ter + session-end (l) mới ăn từ phiên sau) ② disposition-queue @open còn lại nếu bookend @close nêu (refine A1 nén `_INDEX` cicd · A2 **14 file** COVERAGE-TOKENS [audit T2 sửa từ 13] · A3 luật cấm-neo-mtime + nâng mức "so scope/stamp tự-khai" theo audit-escalate-3) ③ **C11(b) filter** `sub-*.md` → `(sub|harness)-*` (lane tooling, 1 dòng regex — đóng điểm mù trio-artifact) ④ **B2/B3 re-open** theo audit T3: máy trục-tuổi RẺ = so `source-verbatim` stamp trong gist `:4` vs `wc -c` src thật (harvest 42.875 vs 56.349 · cicd "20 run-records" vs 0 `Run #`) — ngưỡng = owner ⑤ monthly drift-audit **2026-08-01 (5 ngày)** + full re-sync `measured{}` (**+3 row ctx** ngoài 3 row ring — B7) ⑥ baseline corruption S154 theo bản H2 @close (m#20 mang mệnh-đề-loại-trừ) ⑦ khi UAT nối lại: đọc kỳ S151 NEXT-em ④⑤.
|
||||
|
||||
**Last updated (kỳ S152):** 2026-07-26 rạng sáng (**S152** — phiên-logic 5, 2 cửa-sổ nối `/pause`+`/tiep` [CLI-restart do máy treo, anh xác nhận]: **bookend hình B trọn 2 đầu + owner 3-quyết (30)(31)(32) + queue memory-ops TRỌN + V4-sleep AUTO đầu + ring4 đầu-đời + thư model re-stamp `9c909007`**). Governance-only, 0 prod-code (git-diff src/tests/fe = rỗng, test 532 giữ). Chi tiết = `docs/STATUS.md` dòng CURRENT + log `changelog/sessions/2026-07-26-0200-S152-bookend-memops-close.md`. ⭐ Bài đắt nhất phiên: **pin-bản-cắt** (ring2 4-A — file ghi-từng-finding LUÔN hợp-lệ giữa chừng, lead pin 16.911B của file 30.195B mất 3 FLAG, tally thoát NHỜ MAY) + **sweep-theo-LỚP-file** (lô consent 5-site → 9-site sau khi ring1 tự bắt trong persona mình + lead grep cùng-lớp trio; E-013 EXT).
|
||||
**Carry @S152 (nghi-thức (iv) — đủ MỌI slug):** 🆕 MỚI: `[carry:adap-apply-2-thu]` *(2 thư fan-out 07-25 ĐÃ VỀ + stamp-verify OK @BƯỚC 0.5: ① `2026-07-25-Governance-model-default-opus-5-max.md` sha published **`9c909007`** — SE ĐÃ compliant, adap-report đã Đính-chính @S152; ② `2026-07-25-Governance-pause-tiep-upgrade-vong-ctx.md` sha **`0df10df4`** — sàn 7-khoản soft-memory, adopt-wave phiên kế. Việc `/adap-apply` trọn gói: copy inbox + filing + adopt thư-② + report)* · `[carry:h24-end-total-line]` *(→ slot (33))* · `[carry:ring4-write-lane]` *(→ slot (34))*. ✅ ĐÓNG @S152: `[carry:memory-ops-refine-queue]` *(queue TRỌN: A1-A4·D1·D2·R1·B-series; A7 392/392 · mfe 20/20-100%)* · `[carry:hub-republish-59ce1d0f]` *(thư VỀ dạng re-stamp — không xin nữa, kế-nhiệm = adap-apply-2-thu)* · `[carry:jump-dai-frozen]` *(owner (30) để-nguyên-theo-nhịp; frozen=False; deep kế ~counter 40)*. GIỮ re-stamp 23 slug *(re-verify @S152: phiên governance-only, `git diff origin/main..HEAD -- src/ tests/ fe-admin/ fe-user/` = RỖNG ⇒ nhóm product/UAT 0 đổi trạng-thái; annotation chi tiết = dòng Carry kỳ S151 bên dưới — con-trỏ, không chép để tránh drift)*: `account-trung` · `binh-le-decision` · `bookend-5-5` · `bvaau` · `carry-age-vacuous` · `context-stock` · `eval-thamquyen` · `g011-token-fork` · `hook-vs-budget-cap` (12↑) · `hub-review-wave-1807` · `meld-forward-unmeasured` · `pe-phanquyen` · `pull-warn-threshold` · `session-model-adopt` · `tham-sau-6-ca` · `tiep-window-crash` · `tools-whitelist-no-teeth` · `tra-bui-relogin` · `uat-s117` · `uat-s133-budget-freeze` (9↑) · `uat-s134-luyke` (7↑) · `underfill-mau-so` · `veto-window-s149`.
|
||||
**🔴 NEXT anh @S152 (slot cũ GIỮ CHỖ — (4)…(29) mở còn lại đọc kỳ S151 dòng dưới, KHÔNG chép):** ~~(30)~~ ✅ ĐÓNG (JUMP để-nguyên-theo-nhịp) · **(26) BỔ VẾ B6 @S152:** config `harness_floor._owner_override_note` tự khai reserve-100K **not-subtracted** + "separate change" ⇒ đây là **owner-hook đúng nghĩa** (thiếu đúng cái config CHỈ TÊN, KHÔNG phải "lỗi không-trừ" — khung ring2): anh chốt CÓ trừ 100K khỏi budget hay giữ nguyên? · **(29)** 3 carry-age 12/9/7 (`hook-vs-budget-cap`·`uat-s133`·`uat-s134`) — xử hay gia-hạn? · **(33) 🆕** đề-xuất ring2 (4-A): sub-file H24 kết bằng dòng chốt `<!-- END sub-<vai>-<S> · TOTAL=<n> FLAG -->`, lead CHỈ nhận pin khi `grep -c '^## FLAG-'` == TOTAL — chặn lớp pin-bản-cắt; chạm nghi-thức H24 ⇒ cần anh duyệt · **(34) 🆕** `ring4-audit` đang return-only ⇒ verdict bốc hơi nếu lead quên scribe (suýt xảy @S152, gap-close G-F1) — cho vai ghi-đĩa như 2 ring kia? (sửa agent-spec = quyền anh).
|
||||
**NEXT em @S152 (phiên kế):** ① `/adap-apply` trọn `[carry:adap-apply-2-thu]` (copy inbox + stamp-verify + filing + adopt-wave thư-② 7-khoản + report — pull-marker sẽ bump, vế-4 NHIP-NO hết treo 4-ngày) ② áp luật **turf-handoff** (ring2 @open đề, lead tự-áp được): 2 vai song-song đẻ finding chồng-turf ⇒ "→ **lead chuyển phiên sau**", KHÔNG ghi "→ vai X" (vai kia có thể đã đóng file — chính là khe M-1 tally-#53 lọt) ③ B5 trục-tuổi gist (chờ owner-số) + B7 +3 row ring & monthly drift-audit **2026-08-01** ④ F3/F4 thước-gate-sau áp từ lượt tới (verbatim-verify = `git diff --quiet` · distill-gen so VALUE · MISS-claim = 2-công-cụ 2-phía) ⑤ thước H2 kỳ sau (ring1 BROKE-2/3): stray đo "mọi `.claude` depth>1" chạy ở bước CHỐT + corruption quét TRỌN `.claude/` gồm run-folder cũ, baseline 10 hit/8 file ⑥ khi UAT nối lại: đọc kỳ S151 NEXT-em ④⑤ (product carries).
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,86 @@
|
||||
# S153 — 2026-07-26 (phiên-logic 6) · Ctx soft-memory adopt TRỌN + OWNER-VETO 3-vai + RENAME hub-form
|
||||
|
||||
> Governance-only: **0 prod-code · 0 migration · test 532 giữ** (`git diff` 0 file `src/` `tests/` `fe-*` toàn phiên). Lead = Fable 5 (anh `/model`, hợp lệ Khoản 5) → đổi `claude-opus-5` @closeout.
|
||||
> Run-folder: `runs/2026-07-26-S153-bookend-open/` · `runs/2026-07-26-S153-ctx-adopt/` · `runs/2026-07-26-S153-bookend-close/`
|
||||
|
||||
## 0. Arc phiên (3 + 2 delta owner)
|
||||
|
||||
| # | Arc | Verdict |
|
||||
|---|---|---|
|
||||
| 1 | **Bookend @open 5 vòng AUTO** (9 spawn) | ĐÓNG — `bookend-open-synthesis.md` |
|
||||
| 2 | **adap thư ① `9c909007`** (model-default Opus 5 MAX) | TRỌN — filing + probe-sau-restart 2-nguồn + thư hub `d432f5eab5cd` |
|
||||
| 3 | **arc ctx-adopt thư ② `0df10df4`** (sàn 7-khoản lớp mềm) | **EXECUTED** — 9 task T1-T8 + fault-inject 18/18 + 2 fix hậu-T4 · `ctx-adopt-synthesis.md` |
|
||||
| 4 | **T10 OWNER-VETO (38)** — anh: *"còn thiếu 2 vai ctx?"* → AskUser **"Build đủ 3 vai như hub"** | hub-form 3-vai land |
|
||||
| 5 | **T11 RENAME** — anh: *"kiểm lại label 5 vòng → đặt tên đúng giống hub và sisters để dễ audit"* | `ctx-pause-check`→`ctx-curator` · `ctx-reload`→`ctx-verifier` |
|
||||
|
||||
## 1. Pipeline anh lệnh (①→②→③) — chạy đúng thứ tự
|
||||
|
||||
`/check-email` ai_infra + `/adap-apply` DÒ (se=0 · all=2 thư 07-25, 0 mới hơn) → **`/fable-real investigator-codebase`** (Fable 5, deep-pass, return CLEAN) đọc thư + 10 nhóm file → **SPEC-READY 9 task / 24 checklist-item** → lead VERIFY ACCEPT + 2 chỉnh + **ACCEPT 3 đề-KHÁC** của engine (máy = extend `session_ctx.py` 1-nguồn thay `.ps1` mới · (36)(b) ⇒ không cần carve-out O-1 [**sau bị T10 đảo**] · vai 2-lượt thay 3-nhịp [**T10 đảo**]) → ghi `spec-ctx-adopt-26-07-2026.md` → **hmw Opus 5 MAX** 2 đợt (đợt-1 T1/T2/T3 · đợt-2 T4/T5) + lead-solo T6/T7/T8.
|
||||
|
||||
**4 quyết định (35)-(38)** — vết `OWNER-DELEGATED → ENGINE-PROPOSED → LEAD-DECIDED @S153`, anh veto 1-edit; (38) **sau đó bị anh VETO thật** ⇒ nhãn (38) = **owner chốt THẬT**:
|
||||
- (35) `mind_ctx_kb = 32` KB · (36) máy-$0 mỗi pause · (37) nạp-nền RÚT-GỌN khoá `tiep_reload` (nền-full SE **596.316B ≈ 149-199K tok**, nặng hơn hub 1.36×) · (38) ~~1 vai~~ → **3 vai hub-form**.
|
||||
|
||||
## 2. Land trên đĩa
|
||||
|
||||
| Vật | Chi tiết |
|
||||
|---|---|
|
||||
| Máy `mind-check` | `scripts/session_ctx.py` +528 dòng: 7 phép + 2 phụ · 4 mức {đạt·trượt·cờ·bỏ-qua-có-khai} · draft/closed/`--root`/`--session` PIN · exit {0,1,3} · `_TS_KEY_RE` canonical 1-nguồn |
|
||||
| Template | `.claude/templates/session-mind-template.md` (8.819B — 3 marker · 0 ts-key · 6 rào-hit) |
|
||||
| 3 persona | `ctx-curator` (vai-1 @pause, carve-out `pause.md §1`) · `ctx-verifier` (vai-2 @tiep, dòng `LEAD-PHAI-NHAC-LAI:`) · `ctx-audit` (vai-3 @2-bookend, kiểm-vết vai-1/2) |
|
||||
| Engine | `hmw.js` VALID_ROLES 20→**23** + writeGuard **2 điểm** (:228 comment + :235 template-literal = điểm có RĂNG vào prompt) |
|
||||
| Wire 4 lệnh | `pause` §1-carve-out + §2.6(C-bis) 1-2-2bis-3-4 · `tiep` §2.6 + §3-ter · `session-start` 0.8-a-bis + roster + **Phase 3.5** · `session-end` §L.b(l) + §6.3-bis closed-check |
|
||||
| Config | `memory-budget.json`: `mind_ctx_kb`=32 · `tiep_reload{mode,sources}` · **ĐÓNG ghost-wire `session_ctx_kb`** (`_honest_caveat`→`_reader`, H18 class-2 sống S146→S153) |
|
||||
| Docs | STATUS §Sub-agents **23** · `agents/README` ×3 · `ctx-soft-memory-se-draft.md` (+§6 RESOLVED) · 2 adap-report · thư hub `aedd7fb67405` (6 datum) · `.gitignore` +`__pycache__` |
|
||||
|
||||
## 3. Fault-inject + 2 fix hậu-T4 (bài đắt nhất phiên)
|
||||
|
||||
**T4: 18/18 PASS** (#1-#17 + #21) — mẫu sạch render từ **template THẬT** (không mẫu-dễ-xanh); 2 vế literal DEFER-có-khai (#17 git-commit · #21 runtime).
|
||||
**GAP-#9 (T4 bắt, lead vá + FI 6/6):** closed-mode "mục E có nội-dung mà 0 con-trỏ" CỜ→**TRƯỢT**. Lý do: nếu để CỜ thì *xoá con-trỏ đang-chờ* (→ exit 0) **RẺ HƠN** *giữ trung thực* (pending→TRƯỢT) ⇒ **gradient thưởng đường SAI** — đúng họ bẫy F-1 mà chính thư hub §4 kể. ⇒ Bài tổng quát: *một phép kiểm chỉ đúng khi đường rẻ nhất để làm nó xanh cũng là đường đúng.*
|
||||
**Spec-drift #7:** `secrets-sweep` thiếu `--root` seam ⇒ literal PHẦN B #7 không chạy được như viết → vá parity.
|
||||
**Số ĐO THẬT thay ước:** pause +**117ms** máy (draft 61,3 + full 55,4; file 34KB vẫn 63,8) — ước ban đầu 140-300ms/lượt lệch **2.2-5.4×** ⇒ đã điền số thật vào `pause.md`. Bài kèm: *đo wall-clock phải gồm nhánh ĐẮT* (lệnh literal đi nhánh early-exit = tự đo nhánh rẻ rồi gọi là chi phí thật).
|
||||
**Bài của chính T4:** fixture MALFORMED cho exit 0 trông **y hệt** máy-đúng-cho-xanh (`inject_A` neo heading đã bị renumber ⇒ chèn giữa dòng) ⇒ **phải soi RUỘT fixture**, không chỉ đọc exit code.
|
||||
|
||||
## 4. T11 — label 5 vòng + tên vai, so 3 nhà (đo đĩa)
|
||||
|
||||
| Vòng | Con-ĐO | KIỂM hub | VIPIX | SE |
|
||||
|---|---|---|---|---|
|
||||
| V1 tooling+harvest | `tooling-auditor`+`harvest-curator` | `ring1-audit` | ✓ | ✓ |
|
||||
| V2 soi-lead H24 | `lead-stale-auditor`+`lead-gap-auditor` | `ring2-audit` | ✓ (prefix `lead-stale`/`lead-gap`) | ✓ |
|
||||
| V3 trio-memory | `harness-eval`+`harness-refine` | `harness-audit` (họ harness, KHÔNG "ring3") | ✓ | ✓ |
|
||||
| V4 nén-ngủ | `/sleep-recovery` | `ring4-audit` | ✓ | ✓ |
|
||||
| **V5 truth-floor** | máy nhóm-T (hub) / measured-label-gate (SE) | **`ring5-audit`** | ❌ | ❌ **gap → slot (41)** |
|
||||
| Vòng Ctx | máy `mind-check` | `ctx-curator`→`ctx-verifier`→`ctx-audit` | `ctx-check`→`ctx-reload`→`ctx-chain` | ✓ **khớp hub 3/3 sau rename** |
|
||||
|
||||
Chuẩn chọn: **hub-form khi hub ≠ sister** (tiền lệ anh ratify @S149 rename `lead-*`). Sweep: tên cũ chỉ còn 2 lineage-note cố ý; `VALID_ROLES` 23 last3 đúng bộ-ba; khoá `tiep_reload` không bị replace dính. Nghịch-lý đã khai: VIPIX gọi vai-2 ĐÚNG là `ctx-reload` (trùng tên khai-sinh SE) — vẫn theo hub.
|
||||
🔴 **Bẫy đếm lead tự dính + tự sửa:** parse `VALID_ROLES` bằng regex `]` đầu tiên ⇒ dấu `]` trong COMMENT nuốt non array ⇒ ra **18**; anchor `^\]` ⇒ **23**. Cùng lớp "bộ-lọc chuỗi nuốt nhầm đối tượng" (`_INDEX` tính thành shard @S144).
|
||||
|
||||
## 5. #53 + sự cố
|
||||
|
||||
**#53 = 14-cận-dưới phiên này** (8 bookend @open + 4 arc ctx + 2 bookend @close) — **0 mất dữ liệu**: WRITE-lane derive-from-body (T1/T2 schema-fail, code nguyên) · Agent-resume tiếp việc (T4) · SendMessage-resume (refine · audit · 2 vai H24 @close). Datum mới: **trio return-only hết miễn nhiễm** (S151/S152 3/3 CLEAN → S153 1/3).
|
||||
**Residual-write:** `test-specialist` tự-compact diary 22.140→13.189B không được giao ⇒ verify máy **A7 28/28 pointer resolved** (gate 392→**401**) + entry cũ S133/S134 nguyên ⇒ **ACCEPT verified-KEPT** (tiền lệ AS-10 @S115).
|
||||
**M9 seed:** 3 vai ctx mới có diary on-behalf (3.288B / 2.940B / 2.663B) ⇒ agent-memory dir 20→**23** khớp roster.
|
||||
|
||||
```
|
||||
memory-triple: do=<scripts/measure-agent-memory.ps1 · exit 0 · roster-dir 23 · over-30kb 0>
|
||||
memory-triple: de-xuat=<scripts/memory-archive-gate.ps1 DRY · exit 0 · no sub over cap>
|
||||
memory-triple: kiem=<A7 GATE PASS 401/401 failed 0>
|
||||
memory-triple: do-record=<governance-detectors TOTAL=46 (=baseline S151) · INFORM-ONLY=6>
|
||||
memory-triple: do-record=<NHIP-NO: kiem light 0/6 deep 2/15 ok | tran-bo-nho 0 over-cap l2idx 0 over | run-chua-gom 0 | pull-cach 4 ngay>
|
||||
```
|
||||
|
||||
## 6. Marker run (Sàn-5 — dấu BỀN, không chỉ WAL)
|
||||
|
||||
```
|
||||
wf: bookend-open run=2026-07-26-S153-bookend-open runId=- (Agent-tool ×9) done=9/9 harvested=yes
|
||||
wf: ctx-adopt-dot1 run=2026-07-26-S153-ctx-adopt runId=wf_2f91a3d2-d73 done=3/3 harvested=yes
|
||||
wf: ctx-adopt-dot2 run=2026-07-26-S153-ctx-adopt runId=wf_8686a2f1-662 done=2/2 harvested=yes
|
||||
wf: bookend-close run=2026-07-26-S153-bookend-close runId=- (Agent-tool ×4 đo + ×2 KIỂM) done=4/6→6/6 harvested=yes
|
||||
```
|
||||
🔴 **Nit H2 @close bắt (cờ-đi-trước-nội-dung):** dòng `bookend-close` bản đầu ghi `done=6/6 harvested=yes` lúc synthesis còn VẮNG + chỉ 4/6 sub trên đĩa ⇒ **cờ khai trước sự thật**. Đã sửa thành `4/6→6/6` (số lúc H2 đo → số cuối) + synthesis ghi ở cuối closeout. Bài: dòng `wf:` là **sổ cái hậu-kiểm**, không phải chỗ khai ý-định.
|
||||
```
|
||||
```
|
||||
|
||||
## 7. Chờ anh (slot đánh số) + T9
|
||||
|
||||
**(35)(36)(37)** veto-window (không veto = giữ) · **(39)** RAG Qdrant DOWN (charter AI_INFRA) · **(40)** `hmw_width.cap` 20 < roster 23 ⇒ full-sweep LOUD-skip 3 lane · **(41) 🆕** `ring5-audit` — hub CÓ (V5 truth-floor, Q-2 25-07), SE+VIPIX chưa: build SE-form hay chờ nhịp adopt chung? · slot cũ (26)(29)(33)(34) + (4)-(25) giữ.
|
||||
**T9 phiên sau (cần restart CLI):** dogfood 1 vòng 4-cửa THẬT · spawn-probe **cả 3 vai ctx** · mồi-ngầm xuyên-cửa-sổ · checklist #18/#19/#20/#22/#23 · điền wall-clock pause thật nếu lệch >2×.
|
||||
@ -13,6 +13,8 @@
|
||||
|
||||
🔄 **Đính-chính @S152 (2026-07-26, `lead-stale-auditor` @close FLAG-1 HIGH — đo tươi trên đĩa hub):** thư **CÓ THẬT, `status: PUBLISHED`** tại `AI_INFRA/broadcasts/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md` (7.299B, mtime 07-25 10:06) — 2 lệnh @S151 ở trên **sai thật khi chạy lại**: `find` = **1 hit** · `grep -rl 59ce1d0f AI_INFRA --include=*.md` = **3 hit** (MAIN-INDEX · SUMMARY-INDEX · COMMS-LEDGER — hub chưa sweep xong sổ mình, dữ-kiện kèm khi trả lời hub, KHÔNG phải FLAG SE). `content_sha256` bản published = **`9c9090073a0f…c47dc8`**; `reviewer_gate` tự khai **RE-STAMP sau bổ-sung Khoản-5 cùng ngày (G-024a)** ⇒ **`59ce1d0f` = sha PRE-re-stamp** (bản lead chép @S149) — hai sha không mâu-thuẫn về nội-dung, mọi trích Khoản của report **đối-chiếu được với bản published** (lead đã chạy `stamp_verify` OK @S152 BƯỚC 0.5). Nấc **KẾ-THỪA gỡ** → *"đã đối-chiếu bản published `9c909007`"*. Riêng phép đo **trong repo SE** (mục 1 dòng trên + caveat (b) vế `broadcasts/` SE) **vẫn đúng** — thư chưa copy về SE; copy + inbox-filing = `/adap-apply` trọn gói phiên kế.
|
||||
|
||||
✅ **Hoàn tất filing @S153 (2026-07-26, `/adap-apply` — NEXT-em @S152 ①):** copy `broadcasts/inbox/2026-07-25-Governance-model-default-opus-5-max.md` · whole-file `Get-FileHash` IDENTICAL vs nguồn hub · `python scripts/stamp_verify.py` = **OK canonical match `9c909007`, exit 0**. Caveat (b) vế (iii) ĐÓNG — `/adap-audit` hub nay tìm thấy bản sao trong repo SE. STAGE-2 move → `inbox/ai_infra/` cùng lượt (thư đã xử trọn).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** — cả 3 lớp thi hành đã nằm trên đĩa repo. Chi tiết per-lớp (bảng, KHÔNG số tổng):
|
||||
@ -36,6 +38,15 @@ Lane L6 được spawn với `tier:'opus'` trong wave S149. Lời **tự-giới-
|
||||
|
||||
Ghi chú tin-cậy: đây là **self-report của model** (nguồn = system-prompt của lane), **KHÔNG** phải metadata API. Xem caveat (a).
|
||||
|
||||
### 3.1-bis PROBE SAU RESTART (Khoản 3.2 thư — đo @S153 2026-07-26, ĐÓNG nấc restart-verify)
|
||||
|
||||
S153 = phiên đầu sau CLI-restart (S152 máy treo → restart, anh xác nhận trong HANDOFF). Bookend @open spawn 4 vai **KHÔNG truyền model-param** (kế thừa frontmatter alias `opus`+`effort:max` worker-tier-pin S124) → 2 vai tự ghi self-report vào sub-file trên đĩa, **độc lập nhau**:
|
||||
|
||||
- `runs/2026-07-26-S153-bookend-open/sub-tooling-auditor-S153.md:3` → `MODEL-SELF-REPORT: claude-opus-5[1m]` (kèm nguồn: env-block "The exact model ID is claude-opus-5[1m]").
|
||||
- `runs/2026-07-26-S153-bookend-open/sub-lead-gap-S153.md:4` → `model self-report: claude-opus-5[1m]`.
|
||||
|
||||
⇒ Khoản 3 bước 2 **ĐẠT**: spawn-sau-restart không-model-param resolve `claude-opus-5*`. Bước 3 (báo hub 1 dòng) = thư `2026-07-26-se-to-ai_infra-model-default-probe-opus5` cùng phiên. Vẫn là self-report (caveat (a) giữ nguyên nấc — chưa đối chứng metadata API/jsonl `spawn-model-audit.ps1` cho Agent-tool spawns).
|
||||
|
||||
### 3.2 Dấu vết file (đo bằng git, KHÔNG bịa sha)
|
||||
|
||||
```
|
||||
@ -66,5 +77,5 @@ Khoản 4.1 của thư `2026-07-19-Governance-goi-chot-owner-nam-khoan` mang nh
|
||||
- **(b) Thư gốc VẮNG trên đĩa ⇒ không stamp-verify được.** `broadcasts/` không có file nào ngày 07-23→07-25 (đo hôm nay). Hệ quả: (i) sha `59ce1d0f` không tái-tính được ở SE — trái với phản-xạ "hash-verify TRƯỚC khi áp"; (ii) cách đánh số Khoản (1.2 / 1.4 / 3 / 5) trong report này **kế thừa từ chú-thích của lead**, lane không đối chiếu được với bản gốc; (iii) `/adap-audit` phía hub sẽ không tìm thấy bản sao thư trong repo SE. **Đề nghị lead:** copy thư vào `broadcasts/inbox/ai_infra/` + chạy stamp-verify, rồi sửa mục 1 của report này (idempotent). *(🧊 @S152: vế (i)+(ii) hết hiệu-lực — bản published tìm thấy tại hub, `stamp_verify` OK sha `9c909007`, Khoản đối-chiếu được; vế (iii) còn đúng tới khi `/adap-apply` copy về SE phiên kế — xem Đính-chính @S152 mục 1.)*
|
||||
- **(c) 🔴 GHOST-WIRE ĐO ĐƯỢC — Khoản 1.4 mới ở nấc KHAI, chưa ở nấc CHẠY.** `grep -c "TIER2_LEGACY_FULL_ID" scripts/spawn-model-audit.ps1` = **1** — đúng một dòng, chính là dòng định-nghĩa `:101`; **0 nơi đọc**. Trong khi đó bộ phân-loại `:299-320` vẫn xử theo family: record resolve `claude-opus-4-8` **nằm trong** `$TIER2_FAMILY_PREFIX` (`claude-opus-`) và **khác** `$expected` (`claude-opus-5`) ⇒ rơi vào nhánh `:309-315` = `Write-Flag 'HIGH'` *alias-drift*, **cộng vào TOTAL**. Tức là hành-vi hiện tại **ngược** với ý Khoản 1.4 ("legacy bucket, đếm riêng, KHÔNG cờ drift") mà chú-thích `:97-98` tuyên bố. Hai điều làm nhẹ, phải nói cho đủ: (i) Section B **chỉ soi phiên HIỆN TẠI** (`:258`), nên record cũ không bị lôi ra; (ii) vì vậy cờ giả chỉ nổ khi **một lane trong phiên đang chạy** resolve `claude-opus-4-8` — mà đó **chính là đường outage** `session-start.md:44` bảo dùng ⇒ **không phải giả-định**. **Lane L6 KHÔNG tự sửa** (`spawn-model-audit.ps1` không thuộc tập file được giao); PROPOSE-diff để trong `sub-apply-L6.md` §4, lead áp. Lớp lỗi = ghost-wire dạng "config-key defined-but-unread" (S100).
|
||||
- **(d) Chưa commit tại thời điểm viết.** 3 file ở trạng thái ` M`. Nấc `executed` ở đây = "floor đã nằm trong repo (working tree)", đúng nghĩa §C5; nếu wave S149 vì lý do gì mà không commit, nấc này **tụt**, không giữ.
|
||||
- **(e) Lớp ③ chưa thể runtime-proven trong phiên này.** `session-start.md` là command `.md` — no hot-reload; BƯỚC 0.6 bản mới chỉ ăn từ phiên sau. Bất kỳ ai đọc report này **đừng** hiểu "default Opus 5 kể cả lead" đã được nghi-thức đầu phiên thực thi — nó mới ở dạng văn bản.
|
||||
- **(e) Lớp ③ chưa thể runtime-proven trong phiên này.** `session-start.md` là command `.md` — no hot-reload; BƯỚC 0.6 bản mới chỉ ăn từ phiên sau. Bất kỳ ai đọc report này **đừng** hiểu "default Opus 5 kể cả lead" đã được nghi-thức đầu phiên thực thi — nó mới ở dạng văn bản. *(🧊 @S153: ĐÓNG — BƯỚC 0.6 bản mới chạy runtime lần đầu chính phiên này: lead = Fable 5 ≠ default ⇒ báo đúng 1 dòng "chủ dự án đổi" 0 caveat, đúng khuôn rút-gọn Khoản 5.)*
|
||||
- **(f) 3 file lớp thi hành do LEAD sửa, không phải lane này.** Lane L6 chỉ **đọc lại từ đĩa** và probe. Lane này chỉ tự tay chạm đúng 3 file khác trong wave: `scripts/governance-detectors.ps1` (C-b), report này, và 1 dòng enrich ở report h10-S72.
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
# adap-report — 2026-07-25-Governance-pause-tiep-upgrade-vong-ctx
|
||||
|
||||
> SE (SOLUTION_ERP) · S153 (phiên-logic 6, 2026-07-26) · lead-authored (governance single-writer; wave bookend chạy song song không đụng file này).
|
||||
|
||||
## 1. id-broadcast
|
||||
|
||||
`2026-07-25-Governance-pause-tiep-upgrade-vong-ctx` — sha khai `0df10df4ac95…f960ae`.
|
||||
Verify @S153: copy `broadcasts/inbox/2026-07-25-Governance-pause-tiep-upgrade-vong-ctx.md` (root = **pending**) · whole-file `Get-FileHash` IDENTICAL vs nguồn hub · `python scripts/stamp_verify.py` = **OK canonical match, exit 0** (2 tuyến đủ).
|
||||
|
||||
## 2. nấc G-011
|
||||
|
||||
**executed** (🔄 nâng từ `agreed` CÙNG NGÀY @S153 — anh ra lệnh pipeline *"/fable-real invest → spec → hmw Opus 5 MAX xử lý"* ⇒ 4 câu (35)-(38) chuyển **OWNER-DELEGATED → ENGINE-PROPOSED → LEAD-DECIDED**, vết `memory-budget.json → _mind_ctx_kb_set`, anh veto 1 edit; 🔴 **kiểm-chứng = CHƯA** — dogfood T9 phiên sau restart, thư §7 cấm khai quá nấc):
|
||||
|
||||
| Lớp | Trạng thái | Bằng chứng |
|
||||
|---|---|---|
|
||||
| Spec + checklist (fable-real deep-pass → lead verify) | ✅ | `runs/2026-07-26-S153-ctx-adopt/spec-ctx-adopt-26-07-2026.md` (9 task) + `sub-fable-invest-S153.md` (PHẦN B 24 phép, END TOTAL=9) |
|
||||
| T1 máy `mind-check` (extend `scripts/session_ctx.py` — 7 phép + 2 phụ + draft/closed/--root) | ✅ 4/4 acceptance | `sub-implementer-backend-1.md` (fail-loud exit-3 nêu-tên-khoá · fixture-template-thật 8-đạt) |
|
||||
| T2 template `.claude/templates/session-mind-template.md` | ✅ 4/4 | 8.819B · 3 marker · 0 ts-key · 6 rào-hit |
|
||||
| T3 persona `.claude/agents/ctx-audit.md` | ✅ 11/11 | 14.347B · 0 khuôn-retired · registry-surfaced @S153 (spawn-probe ALIVE = T9) |
|
||||
| T4 fault-inject PHẦN B #1-#17+#21 | ✅ **18/18 PASS** (+6/6 re-verify sau 2 fix hậu-T4) | `sub-test-specialist-1.md` END TOTAL=18 — 2 vế literal DEFER-có-khai (#17 git-commit · #21 runtime) |
|
||||
| T5 `hmw.js` VALID_ROLES 20→21 + writeGuard 2-điểm | ✅ 3/3 | `sub-implementer-frontend-2.md` (diff 2-hunk, WIDTH_CAP/TIER2 nguyên) |
|
||||
| T6 wire 4 lệnh (`pause C-bis` · `tiep §2.6+§3-ter` · `session-start Phase-3.5+a-bis+roster` · `session-end (l)+6.3-bis`) | ✅ lead-solo | grep call-site 4/4 + occurrence-2 (bẫy line-vs-occ tự bắt); số wall-clock ĐO THẬT 117ms đã điền |
|
||||
| T7 `memory-budget.json` (`mind_ctx_kb=32` + `tiep_reload` + ghost-wire `session_ctx_kb` ĐÓNG bằng reader phép-phụ-8) | ✅ | json parse OK · caveat-cũ 0-hit |
|
||||
| T8 docs (STATUS §Sub-agents **23** [🔄 21 → 23 sau T10 veto 3-vai; số 21 là mốc giữa-phiên, đã stale] + agents/README ×3 + draft §6 RESOLVED) | ✅ | nấc `file-land + registry-surfaced` cả 3 vai — KHÔNG khai ALIVE (spawn-probe = T9) |
|
||||
| **T9 dogfood + restart-verify + mồi-ngầm + probe** | ⏳ **PHIÊN SAU** (restart CLI) | checklist #18/#19/#20 + #23-đối-chứng-dương |
|
||||
|
||||
**2 fix hậu-T4 (lead, fault-inject 6/6):** GAP-#9 — closed-mode "E-có-nội-dung-0-con-trỏ" CỜ→**TRƯỢT** (chặn gradient thưởng xoá-con-trỏ, họ bài F-1 thư §4) · spec-drift #7 — `secrets-sweep` +`--root` seam parity (literal PHẦN B #7 nay chạy được như viết).
|
||||
|
||||
**🔄 OWNER-VETO @S153 (cùng ngày, SAU executed):** anh hỏi *"còn thiếu 2 vai ctx?"* → em trình trade-off → anh chốt trực tiếp qua AskUser **"Build đủ 3 vai như hub"** ⇒ **(38)(a) 1-vai bị BÁC, thay bằng hub-form 3-vai** (đây là owner chốt THẬT cho quyết này — hết nhãn delegated): +2 persona `ctx-curator` (vai-1, @mỗi-pause — kéo theo **carve-out `pause.md §1`** mirror hub O-1(a), điều mà phương án 1-vai từng né được) + `ctx-verifier` (vai-2, @mỗi-tiep, dòng `LEAD-PHAI-NHAC-LAI:`) · `ctx-audit` thu về vai-3 SOI-CHUỖI (hồi-tố = fallback phiên 1-cửa) · hmw VALID_ROLES 21→**23** · wire lại pause/tiep/session-start/session-end · roster STATUS 23. Chi phí owner đã chấp nhận theo option: ~+100K tok/spawn × mỗi cửa dừng/nối; núm hạ tần suất để sẵn (thư §7). Nấc **cả 3 vai** = `file-land + registry-surfaced @S153` (2 vai mới ĐẠT CÙNG nấc `ctx-audit` — chứng: `hmw.js:42` + writeGuard + `agents/README:27`/`:199`/`:200`); **spawn-probe ALIVE cả 3 = T9** sau restart CLI. [🔄 vá R-1 @S153 — `ring2-audit` @close bắt: vế `:24` đã sửa "cả 3" mà vế này còn "2 vai mới", tạo bất-đối-xứng MỚI **bên trong một file đi hub**; chính FLAG-6 đã dặn "sửa cùng nhịp, nếu không sẽ thành bất-đối-xứng mới" — lead vá 1/2 vế.]
|
||||
|
||||
## 3. evidence (đo thật)
|
||||
|
||||
- Sàn khoản 6 ĐẠT SẴN: `.claude/hooks/wal-flush.ps1` 4-path gồm `.claude/sessions/` (S146) — thư-mục phiên được commit (`git check-ignore` exit 1, đo @S146).
|
||||
- Nền SE đo tươi @S153 (con số hub xin ở §8 thư): hotload 6-file = **596.316 B ≈ [149.079 .. 198.772] tok** (`crystallized-backfill.ps1` LIVE, lưu `runs/2026-07-26-S153-bookend-open/instrument-backfill.txt`) — nặng hơn nền hub tự đo (439.328 B ≈ ~110K tok) ⇒ câu (37) nạp-nền-@tiep là quyết định chi-phí thật, không hình thức.
|
||||
- SE dùng điểm dừng DÀY (S152 = phiên-logic 5 với 2 cửa-sổ; S147-S148 tương tự) ⇒ nhánh "suy-biến vô-hại" của thư KHÔNG áp dụng — adopt đủ khoản 2-3.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
|
||||
- **TAILORED — tên/hình-thức:** `_mind-s-<N>.md` + block `### MIND-<k>` (form hub, tên SE); vai kiểm đề xuất **1 vai gộp 3 nhịp** thay 3 vai hub (sàn 7 chỉ đòi GHI ≠ KIỂM; roster 20 đã dày) — chờ anh (38).
|
||||
- **TAILORED — nhịp phóng vai:** đề xuất máy-$0 mỗi pause + vai chỉ @2 đầu phiên (khớp ràng BINDING "điểm dừng phải RẺ" thư `goi-chot` khoản 3 — hub-owner chọn spawn-mỗi-pause cho nhà hub, SE trình anh chọn riêng) — chờ anh (36).
|
||||
- **SKIP tạm = wire toàn bộ** — không phải bác, mà là gate đúng luật nhà (chạm nghi-thức pause/tiep + số + roster = owner).
|
||||
|
||||
## 5. honest-caveat
|
||||
|
||||
- (a) Hub tự khai **dogfood 0 cửa** — SE adopt khuôn CHƯA-kiểm-chứng; lỗi tìm thấy khi build sẽ gửi về hub (đúng Q-1 hub-owner), KHÔNG tự chịu.
|
||||
- (b) 🔄 **Nấc nay = executed** (mục 2 ở trên) — vế "agreed" đã superseded @cùng-phiên. Điều CÒN ĐÚNG: 4 lớp mềm **chưa thực sự được cứu** cho tới khi nghi-thức ăn runtime (**T9 sau restart CLI** — command `.md` no-hot-reload) ⇒ phiên nối bằng `/tiep` TRƯỚC T9 vẫn rơi lớp mềm như cũ. (Vá @S153 FLAG-8: câu cũ trộn 2 thứ khác nhau — nấc adopt vs thời-điểm-hiệu-lực.)
|
||||
- (c) Số ước tok dùng dải [bytes/4 .. bytes/3.0] theo phép đếm đã publish (`e0bb5bbf`) — KHÔNG phải tokenizer thật.
|
||||
- (d) Bảng hỏi-đáp 13 hàng trong thư = địa-chỉ NỘI-BỘ hub — draft chỉ lấy QUYẾT-ĐỊNH (O-1..Q-3), không map tên/vai hub sang SE.
|
||||
54
docs/governance/ctx-soft-memory-se-draft.md
Normal file
54
docs/governance/ctx-soft-memory-se-draft.md
Normal file
@ -0,0 +1,54 @@
|
||||
# Ctx soft-memory — SE-form DRAFT (adopt thư `0df10df4` pause-tiep-upgrade-vong-ctx)
|
||||
|
||||
> **Trạng thái: DRAFT chờ anh chốt 4 câu đánh số — CẤM wire trước khi anh duyệt** (cùng khuôn `session-model-se-draft.md` carry (c); chạm nghi-thức `/pause`·`/tiep` = quyền anh).
|
||||
> Nguồn: broadcast `2026-07-25-Governance-pause-tiep-upgrade-vong-ctx` (sha `0df10df4` — stamp-verify OK @S153, copy `broadcasts/inbox/` root=pending). Hub tự khai: **build xong + gate xanh, dogfood CHƯA có cửa nào chạy qua** — adopt là adopt KHUÔN chưa-kiểm-chứng, lỗi phát hiện thì gửi về hub (hub-owner Q-1: "có j debug sau cũng đc").
|
||||
|
||||
## 1. Bài toán (đúng SE)
|
||||
|
||||
SE dùng `/pause`→`/tiep` dày (1 phiên-logic = 2-3 cửa-sổ). Việc ĐÃ CHỐT giữ tốt (WAL + `_context-s-<N>.md` + master-checklist), nhưng 4 lớp MỀM rơi sau mỗi lần nối: **gói-turn vừa làm · hướng-làm-tiếp (vì-sao + nhánh đã loại) · kế-hoạch tổng-thể dạng suy-nghĩ · việc-đang-thảo-luận chưa thành quyết-định**. Khớp chẩn đoán hub §1.
|
||||
|
||||
## 2. Đối chiếu sàn 7-khoản vs SE hiện có (đo @S153)
|
||||
|
||||
| # | Sàn (bắt buộc, cấu-trúc) | SE hiện có | Thiếu gì |
|
||||
|---|---|---|---|
|
||||
| 1 | Ghi tươi @cửa mở phiên (nội dung thật xuống đĩa trước pause đầu) | scaffold `_context-s-<N>.md` = STOCK-map thật nhưng KHÔNG chứa 4 lớp mềm | tệp mềm `_mind-s-<N>.md` ghi @CUỐI bootstrap (như hub: "trước tiên" = trước pause đầu) |
|
||||
| 2 | Mỗi pause refresh 4 tầng, mới-nhất-ở-TRÊN, block cũ bất biến | `/pause §2.6` append FLOW (narrative) — KHÔNG có lớp mềm riêng | block A-E vào `_mind` @pause (mục trống = "(trống — khai)") |
|
||||
| 3 | Mỗi tiep: đối-chiếu + NẠP LẠI, CÓ BẰNG CHỨNG NỘI DUNG | `/tiep §2.6` đọc context + verify ground-truth — không nạp nền, không bằng-chứng-nội-dung bắt buộc | bước nạp-lại ≤15 dòng lead PHẢI nhắc lại trong báo cáo + (tuỳ Q-C) nạp nền |
|
||||
| 4 | Mỗi vai phụ/engine-run → 1 dòng-sống {verdict + con-trỏ} | run-folder sub-file + WAL `wf:` (per-run, không per-spawn-tổng-hợp) | mục E trong `_mind`: 1 dòng/spawn |
|
||||
| 5 | Vòng soi ĐỘC LẬP 2 đầu phiên, quyền phán TRƯỢT | ring1/ring2/ring4 soi vòng-đo khác; CHƯA ai soi lớp Ctx | vai kiểm Ctx (hub: 3 vai tách; Q-D số vai SE) |
|
||||
| 6 | Ghi ra đĩa trong thư-mục phiên + commit theo luật nhà | ✅ hook `wal-flush.ps1` path-4 `.claude/sessions/` (S146) — tự cover | 0 (đã đạt) |
|
||||
| 7 | ≥2 VAI TÁCH: bên GHI ≠ bên KIỂM | ✅ lead single-writer ⟂ monitor INFORM-only là khuôn sẵn | đạt by-design khi khoản 5 có vai |
|
||||
|
||||
Suy-biến vô-hại: KHÔNG áp dụng cho SE (SE dùng pause nhiều — khoản 2-3 là ruột).
|
||||
|
||||
## 3. SE-form đề xuất (phần tự quyết — form theo hub, tên SE)
|
||||
|
||||
- **Tệp:** `.claude/sessions/session-<N>/_mind-s-<N>.md` (đứng cạnh `_context`, KHÔNG nhét vào — lý-do đúng duy nhất = trần-và-nén, hub §3).
|
||||
- **Block:** `### MIND-<k>` (k = ĐẾM số block hiện có TRƯỚC khi chèn — block gốc @open chiếm số 0; phép kiểm chỉ đòi duy-nhất + mới-hơn). 5 mục A-E: A gói-turn · B hướng-tiếp (+nhánh đã loại) · C kế-hoạch delta-suy-nghĩ (KHÔNG chép checklist) · D việc-đang-thảo-luận + nhãn {mới-nêu|đang-cãi|gần-chốt|treo-chờ-anh} · E dòng-sống per-spawn {verdict + con-trỏ}. Việc ĐÃ CHỐT = con-trỏ về WAL/HANDOFF, CẤM chép.
|
||||
- **3 rào đầu tệp:** (i) không chép lời anh (chỉ trỏ PAUSE-<k> của `_context`) · (ii) cấm mọi biến-thể khoá timestamp đầu dòng (máy đọc ts của SE quét `_*` — phải DÙNG LẠI regex của máy đọc, không cài bản hai) · (iii) cấm literal họ khoá/mật-khẩu; ngoại-lệ duy nhất "[đã che <8-hex>]", quét bản nháp TRƯỚC khi chèn.
|
||||
- **Máy kiểm $0:** `scripts/ctx-mind-check.ps1` — 7 phép (3 rào · con-trỏ E **3-trạng-thái** {giải-được | đang-chờ [cha có, cờ khi chạy → trượt khi phiên đóng] | hỏng [trượt mọi chế-độ]} — bài F-1 hub: đường-rẻ-nhất-để-xanh không được là xoá-con-trỏ-đúng · số hiệu duy-nhất+mới-hơn · bất-biến |block| ∈ {p, p+1} với p = pause ĐẾM TRÊN ĐĨA (CẤM tin dòng `markers:` tự khai — hub đo lệch khai-THIẾU thật) · trần/nén) + 4 mức {đạt·trượt·cờ·bỏ-qua-có-khai} + chế-độ draft + chế-độ thư-mục-đã-đóng + tên-sai-phải-NÊU-tên. Fault-inject: fixture-hỏng phải TRƯỢT + đột-biến phải ĐỎ + mồi-ngầm bên-chấm-gieo.
|
||||
- **Trần:** khoá MỚI `mind_ctx_kb` trong `memory-budget.json` (B1 — lệnh trỏ khoá, CẤM chép số). Vượt trần → nén block CŨ NHẤT trừ block-0 + block-trên-cùng; còn <3 block → TỪ CHỐI nén + giương cờ.
|
||||
- **Chỗ cắm:** `/session-start` (ghi `_mind` block-0 @cuối bootstrap) · `/pause §2.6` (+refresh) · `/tiep §2.6` (+đối-chiếu-nạp-lại) · `/session-end` (vai soi-chuỗi + chế-độ đóng). Máy kiểm chạy TRƯỚC khi phóng vai (bắt lỗi rẻ trước, đốt tiền sau).
|
||||
|
||||
## 4. 🔢 4 câu chờ ANH (trả lời bằng số — mọi con-số/vai/nhịp = quyền anh)
|
||||
|
||||
- **(35) Trần `mind_ctx_kb` = bao nhiêu?** Hub đặt 32KB (O-4, tự khai "số chủ đặt, không rút từ dữ liệu" — tệp cùng-họ lớn nhất hub mới >12KB). SE `session_ctx_kb`=64. Đề xuất: **32** (theo hub, đổi sau khi có số đo SE).
|
||||
- **(36) Nhịp phóng vai kiểm Ctx — cái núm ĐẮT NHẤT** (hub floor ~100K tok/spawn): (a-nguyên) spawn MỖI pause như hub-owner chốt · (b-tiết-kiệm) **máy-$0 chạy mỗi pause, vai chỉ spawn @2 đầu phiên** (khớp ràng "điểm dừng phải RẺ" thư goi-chot khoản 3 — đo SE: pause hiện ~5ms DÒ; +spawn = +phút+100K). Đề xuất: **(b)** — hub tự dặn "chuẩn bị sẵn núm hạ tần suất".
|
||||
- **(37) Nạp-lại-NỀN mặc định @/tiep?** Hub chọn nạp (nền hub ~110K tok). Nền SE đo tươi @S153 = **596.316B ≈ 149-199K tok** (crystallized-backfill LIVE) — nặng hơn hub. (a) nạp full mỗi tiep · (b) **nạp RÚT GỌN** (STATUS dòng CURRENT + HANDOFF segment mới nhất + WAL + `_mind` — ước ~40-60K) · (c) giữ như nay (không nạp, chỉ `_mind`+`_context`). Đề xuất: **(b)**.
|
||||
- **(38) Số vai kiểm Ctx:** (a) **1 vai `ctx-audit` gộp 3 nhịp** (kiểm@pause-draft · đối-chiếu@tiep · soi-chuỗi 2 đầu — vẫn đạt sàn 7: GHI=lead ⟂ KIỂM=vai) · (b) 3 vai tách như hub. Đề xuất: **(a)** — roster 20 đã dày, sàn chỉ đòi ghi≠kiểm; tách thêm khi lộ nghẽn.
|
||||
|
||||
## 5. Nấc adopt + việc sau khi anh chốt
|
||||
|
||||
Nấc hiện tại: **gửi→ĐỒNG-THUẬN (draft này)**; thực-thi = sau khi anh trả lời (35)-(38) → build tệp mẫu + máy kiểm + fault-inject + wire 4 lệnh + persona vai (nếu (38)) + restart-verify + adap-report `0df10df4` + thư báo hub (kèm số đo nền SE 596KB để hub đối chiếu — hub xin số này ở §8).
|
||||
|
||||
---
|
||||
|
||||
## 6. 🔄 RESOLVED @S153 (cùng ngày — qua pipeline anh lệnh "/fable-real invest → spec → hmw Opus 5 MAX xử lý")
|
||||
|
||||
🔴 **NHÃN TÁCH ĐÔI, đừng đọc gộp** (vá @S153 FLAG-9): **(35)(36)(37)** = **OWNER-DELEGATED → ENGINE-PROPOSED (fable-real deep-pass) → LEAD-DECIDED @S153** (anh ra lệnh pipeline trọn gói; khuôn `hmw_width._ratified_by`; anh veto = 1 edit từng mục) · **(38)** = **OWNER CHỐT THẬT** (anh hỏi *"còn thiếu 2 vai ctx?"* rồi chốt AskUser *"Build đủ 3 vai như hub"*) — CẤM gộp (38) vào nhãn delegated, đó là xoá quyền tác-giả của owner, cùng lớp C8b chiều ngược:
|
||||
- **(35)** `mind_ctx_kb = 32` (KB) — vết + lý-do: `memory-budget.json → _mind_ctx_kb_set`.
|
||||
- **(36)** (b) máy-$0 mỗi pause · vai `ctx-audit` CHỈ @2 bookend ⇒ **KHÔNG cần carve-out O-1**, `pause.md §1` giữ nguyên.
|
||||
- **(37)** (b) nạp NỀN RÚT-GỌN @tiep — khoá `tiep_reload` (danh sách + phạm-vi trong khoá, B1).
|
||||
- **(38)** ~~(a) 1 vai `ctx-audit` gộp 3 nhịp~~ → 🔄 **OWNER-VETO cùng ngày @S153** (anh: *"còn thiếu 2 vai ctx?"* → chốt AskUser **"Build đủ 3 vai như hub"** — owner chốt THẬT): **hub-form 3-vai** = `ctx-curator` (vai-1 @mỗi-pause, carve-out `pause.md §1`) · `ctx-verifier` (vai-2 @mỗi-tiep) · `ctx-audit` (vai-3 chuỗi @2-bookend, hồi-tố = fallback). Hệ quả: carve-out O-1(a) mà (36)(b) từng né **nay CÓ THẬT trên đĩa** (`pause.md:15` §1 + `:48` bước 2-bis) ⇒ 🧊 câu "KHÔNG cần carve-out O-1 / `pause.md §1` giữ nguyên" ở **§6 dòng ngay trên** (mục (36), câu duy nhất còn sống — đo `grep -n carve-out` toàn file = 2 hit: chính nó + dòng này) = **SUPERSEDED @S153** (giữ chữ làm vết, đừng đọc thành hiện-hành). [🔄 vá R-2 — `ring2-audit` bắt: bản đầu tuyên blanket "mọi câu ở §3-§4" nhưng thân §3+§4 RỖNG câu đó ⇒ **phủ 0 câu, bỏ đúng 1 câu cần phủ**; class "vắng-mặt trông giống ổn". Bài: mệnh-đề supersede phải neo vào VỊ-TRÍ ĐO ĐƯỢC, không neo vào vùng đoán.]; (36) máy-$0-mỗi-pause GIỮ (máy vẫn chạy TRƯỚC vai).
|
||||
Đề-khác so draft §3 (engine thắng, lead ACCEPT): máy = **extend `session_ctx.py`** (1-nguồn `_SECRET_RES`/`_TS_KEY_RE`) thay `.ps1` mới — draft mục 3 dòng "Máy kiểm $0: `scripts/ctx-mind-check.ps1`" **superseded**.
|
||||
Thi hành: spec `runs/2026-07-26-S153-ctx-adopt/spec-ctx-adopt-26-07-2026.md` (9 task, T1-T8 land @S153 · T9 = phiên sau restart) + checklist 24 phép (T4 fault-inject). Trạng thái chi tiết = adap-report `0df10df4`.
|
||||
Reference in New Issue
Block a user