wal: pause
This commit is contained in:
@ -27,7 +27,7 @@
|
||||
| 5 — probe idempotent | **PASS** — 2 lần chạy output y hệt + 0-mutation | AC-B(1) @wave |
|
||||
| 6 — giết probe không chặn điểm dừng | **PASS** — `-RepoRoot` không tồn-tại → `probe-loi (khong chan)` + exit 0 | AC-B(2) + fault-inject ca CONFIG-THIEU |
|
||||
| 7 — dừng–nối counter +1 | **PASS** — 10→**11** đúng 1 chu-kỳ pause(S136)–tiep(S137), không +2 | OR-guard label-pin sống |
|
||||
| 8 — đối-chiếu đóng-sổ vs khối-lượng-việc | **CHƯA đo** — khai thẳng, không suy đoán | hub cũng chưa dogfood (ANNEX B2) — caveat "mới kết-tinh" giữ nguyên |
|
||||
| 8 — đối-chiếu đóng-sổ vs khối-lượng-việc | **ĐÃ ĐO lần đầu @S140 (2026-07-18) — khai 2 nấc:** nguyên-văn phép ("bù chạy NGAY TẠI closeout") = **FAIL-as-written** · theo tailor DP-3 SE (owner-consent trước mọi spawn H24) = **PASS-with-tailoring** (trễ đúng 1 ranh phiên). Dữ kiện: cửa-sổ hợp-lệ = từ khi force-fire wire chạy thật lần đầu (@S139 session-end mới) ⇒ 1 closeout trong cửa-sổ (`0b0285c` S139, gộp P=3 pause `8202374`/`3a394b0`/`ef9a46d` ≥2 ⇒ cần bù); bù thực-tế = INFORM fire @closeout → owner consent (direction S140) → cặp H24 chạy đầu phiên kế (light-audit #3 @counter 14, evidence: `.session-counter.json` history S140 + 2 diary) | SE đo TRƯỚC hub (hub chưa dogfood tại thời điểm broadcast); data-point 2-nấc gửi hub @S140 — đề nghị hub làm rõ khi kết tinh: consent-gate owner có được tính là "chạy ngay tại closeout" không, hay phép cần reword "bù chạy tại closeout HOẶC phiên-kế-đầu-tiên-sau-consent" |
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- Phép đo chạy bằng công-cụ SE (git + PS 5.1 + fault-inject cây tạm `-RepoRoot` theo chuẩn S95 proves-teeth); mỗi số khai cửa-sổ đo kèm.
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
`2026-07-17-Governance-dinh-chinh-kep-nhan-grounded-va-filter-office` (type **update** — supersedes chữ-hẹp 2 bản 16-07 `190c11ba` + `eb12b9b8`; content_sha256 12-hex `624c378d6ee1`, verify 2-tuyến WHOLE+BODY OK @S138, commit nhận `efc0828`).
|
||||
|
||||
## 2. nấc G-011
|
||||
**verified-pending** — Δ1 đã executed (file sửa, L3 re-verify "ĐÚNG 1 từ") nhưng landing-site là **agent `.md` no-hot-reload** → runtime chờ restart/spawn-test kế; và **unpushed tại thời-điểm ghi** (push gộp @closeout S139). Δ2 = already-compliant (không có gì để execute). `verified` = quyền `/adap-audit` hub.
|
||||
**executed-runtime** (nâng @S140 2026-07-18 từ verified-pending) — spawn-probe reviewer THẬT đầu phiên S140 (agentId `a56dcf6da0425e86c`, 0-tool đúng lệnh probe, 17s, 0-garble) trả nguyên văn `PROBE|reviewer|measured/empirical/calibrated/grounded/đã-đo` ⇒ registry runtime ĐÃ nạp bản 5-nhãn (restart giữa S139→S140 đã xảy ra); push cũng đã land (closeout S139 `0b0285c` nằm trong `origin/main`, chỉ còn `wal:` trailing local). *(Nấc cũ giữ audit-trail: verified-pending @S139 — Δ1 executed file-level, L3 re-verify "ĐÚNG 1 từ", chờ restart runtime + push gộp closeout.)* Δ2 = already-compliant (không có gì để execute). `verified` = quyền `/adap-audit` hub.
|
||||
|
||||
## 3. evidence (đo thật)
|
||||
- **Δ1 (+`grounded` bước kiểm-kê):** landing-site THẬT duy-nhất = `.claude/agents/reviewer.md` câu Measured-label gate — SE đã chép nguyên danh-sách 4-nhãn của hub vào câu cửa-duyệt (đúng ca broadcast cảnh-báo). Edit 1-từ: `(measured/empirical/calibrated/đã-đo)` → `(…/calibrated/grounded/đã-đo)`, anchor theo CONTENT không line-number. Commit `3a394b0` (wal: pause S139, diff-wave nằm trọn trong đó). L3 xác-nhận diff = đúng 1 từ, 0 gì khác.
|
||||
@ -19,5 +19,5 @@
|
||||
- **n-a by-design (KHÔNG phải skip-vì-behind):** Δ2 phần ví-dụ filter — SE không có chỗ nào dùng ext-filter để vá (thiết-kế đếm byte-CR đã thoả nguyên-tắc "tailor theo binary-classes thật" bằng cách không cần danh-sách). Nguyên-tắc tailor-extension ghi-nhận cho mọi lệnh check tương-lai.
|
||||
|
||||
## 5. honest-caveat
|
||||
- Nấc verified-pending vì: (a) agent `.md` cần restart CLI mới ăn runtime — spawn-test reviewer kế tiếp sẽ chứng 5-nhãn sống; (b) unpushed lúc ghi (push gộp cuối phiên S139).
|
||||
- ~~Nấc verified-pending vì: (a) agent `.md` cần restart CLI mới ăn runtime — spawn-test reviewer kế tiếp sẽ chứng 5-nhãn sống; (b) unpushed lúc ghi (push gộp cuối phiên S139).~~ **CẢ HAI ĐÓNG @S140:** (a) spawn-probe trả 5-nhãn sống nguyên văn (§2); (b) `0b0285c` đã trong `origin/main`. Caveat còn lại duy-nhất: probe chứng NHÃN trong persona-inject, chưa phải một lượt review THẬT dùng gate `grounded` bắt lỗi — bằng-chứng "gate CẮN" đầu tiên sẽ đến từ review outward kế có nhãn đo-lường.
|
||||
- SELF-CHECK broadcast: ô1 (kiểm-kê đủ 5 nhãn) = **PASS** (re-grep tươi ở trên, 0 hằng-số sót); ô2 (filter phủ binary-classes thật) = **PASS-by-design** (không dùng ext-filter; 13 dương-giả cũ chính là dữ-liệu SE tự bắt và đã báo — vòng đã khép từ phía hub bằng chính bản này).
|
||||
|
||||
63
docs/governance/session-model-se-draft.md
Normal file
63
docs/governance/session-model-se-draft.md
Normal file
@ -0,0 +1,63 @@
|
||||
# Session-model SE — bản nháp thiết kế (DRAFT v0, chưa wire)
|
||||
|
||||
> **Trạng thái: ĐỀ XUẤT — chưa wire bất kỳ cơ chế nào.** Sinh @S140 (2026-07-18) theo direction owner: *"đóng đủ 5 vòng → chạy theo cách mới session-model mà AI_INFRA đã làm rất tốt → owner tập trung 100% product, làm việc xuyên session"*. Nguồn khuôn: broadcast `9234a7aa` (session-logic tách session vật-lý — SE nấc `agreed`) + checklist năm vòng `f71c5b65`. Theo chỉ đạo đồng-bộ cross-project của owner (S139: *"mọi project một khuôn, anh + hub cùng audit, hub review trước khi thành chuẩn"*), bản này là **input cho hub review**, không phải chuẩn tự-phong.
|
||||
|
||||
## 1. Đích đến (theo broadcast `9234a7aa` §2)
|
||||
|
||||
Một **phiên-LOGIC** = khởi-động nặng MỘT lần (`/session-start` — read-set ~368K) → làm việc qua **N cửa-sổ vật-lý** nối bằng điểm dừng chủ-động (`/pause` → cửa-sổ mới `/tiep`, nhẹ) → chốt nặng MỘT lần (`/session-end`). Chi phí cố định (bootstrap + closeout) trả 1 lần thay vì N lần; không còn tổn thất nén-ép do máy cắt.
|
||||
|
||||
## 2. Nền SE đã có (không phải xây từ đầu)
|
||||
|
||||
| Thành phần session-model | Cơ chế SE hiện hành | Trạng thái |
|
||||
|---|---|---|
|
||||
| Điểm dừng chủ-động | `/pause` + `.claude/WAL.md` (≤40 dòng, ghi-đè) + Stop-hook `wal-flush.ps1` persist 3-path | VERIFIED-RUNTIME S111, dùng dày từ S133 |
|
||||
| Nối lại từ đĩa | `/tiep` §0–§4 (Sàn-3 + ground-truth-thắng + relaunch-cắt-gọt) | chạy thật nhiều lần (S134/S137/S138…) |
|
||||
| Đếm nhịp không phụ thuộc cửa-sổ | counter content-addressed + OR-guard (head + session-label) | phép 7 PASS đo S137 |
|
||||
| Điều kiện nền 5 vòng | completeness-gate ĐẠT @S137 (5/5 vòng + 4/4 phép sàn); các khoản hở đang đóng @S140 | xem adap-report `f71c5b65` |
|
||||
|
||||
**Khoảng cách thật:** SE hiện coi **mỗi conversation = một phiên ĐẦY ĐỦ** — `/tiep` đã nhẹ (không nạp lại full read-set) nhưng nghi thức quản trị (nhãn, tick, kỳ vọng closeout, monitor re-report) vẫn tính theo **cửa-sổ**, chưa có khái niệm phiên-LOGIC làm đơn vị nhóm.
|
||||
|
||||
## 3. Ba điểm va chạm với luật hiện hành (cần quyết TRƯỚC khi wire)
|
||||
|
||||
### VC-1 — Label-convention S135 (PIN LUẬT) vs nhãn phiên-logic
|
||||
Luật hiện hành: *"mỗi conversation MỚI = một nhãn-phiên `S<nn>` MỚI, kể cả khi vào bằng `/tiep`"* — sinh ra để vá OR-guard NO-OP nhầm (phép-7 `+0`). Nếu đổi thẳng "S<nn> = phiên-logic giữ nhãn qua `/tiep`" thì session-clause của OR-guard khớp nhãn cũ → tick chết → đúng cái bẫy luật này vá.
|
||||
**Đề xuất v0 (ít rủi ro nhất): nhãn HAI TẦNG.** Giữ nguyên nhãn vật lý `S<nn>` per-conversation (mọi cơ chế tick/counter/H24/phép-đo GIỮ NGUYÊN đơn vị, zero regression) + **thêm** trường `logic: L<mm>` (mở tại `/session-start`, đóng tại `/session-end`, sống trong WAL + session-record). Phiên-logic = **tập các S<nn>** giữa hai đầu nặng. Cách đọc "phiên" trong nghi thức = đọc theo L khi nghi thức thuộc nhóm 2-đầu-nặng, theo S khi thuộc nhóm per-cửa.
|
||||
|
||||
### VC-2 — Nghi thức nào chạy per-CỬA, nghi thức nào per-PHIÊN-LOGIC
|
||||
Đề xuất phân loại (bảng để anh + hub duyệt từng dòng):
|
||||
|
||||
| Nghi thức | Hiện tại | Đề xuất session-model |
|
||||
|---|---|---|
|
||||
| Phase 1 READ full read-set | mỗi `/session-start` | **per-L** (1 lần đầu phiên-logic) |
|
||||
| Monitor re-report H1/H2 | đầu phiên (skip được) | **per-L** mở + đóng |
|
||||
| H24 tick counter | mỗi cửa (mỗi S) | **GIỮ per-S** (content-addressed — đo nhịp thật) |
|
||||
| NHIP-NO probe 3-vế | 4 điểm lệnh | GIỮ per-điểm-dừng (per-S) |
|
||||
| Sàn-3 WAL-check | mỗi `/tiep` + `/session-start` | GIỮ per-cửa (an toàn nối mạch) |
|
||||
| governance-detectors + H17 + M.B | mỗi `/session-start` (skip light) | **per-L** mở (giữa phiên chỉ khi nghi drift) |
|
||||
| Master-checklist 2-tầng | 4 cửa (in @mỗi cửa) | GIỮ per-cửa (rẻ, chống rơi việc) |
|
||||
| session-end đầy đủ (§L.b harvest + memory-triple + squash + push) | mỗi lần "đóng" | **per-L** (1 lần cuối phiên-logic) |
|
||||
| Force-fire H24 khi closeout gộp ≥2 phiên-dừng | @closeout | GIỮ — phép 8 checklist đã chuẩn hóa đúng ca này |
|
||||
|
||||
### VC-3 — WAL ghi-đè ≤40 dòng vs "tệp ngữ-cảnh cộng-dồn"
|
||||
Hub §2 mô tả điểm dừng ghi delta vào **"một tệp ngữ-cảnh cộng-dồn của phiên"**. WAL SE là sổ mạch-sống **ghi-đè** (giữ nhỏ có chủ đích — detector C5 cap 40 dòng). Hai vai KHÁC nhau, không nên nhập một.
|
||||
**Đề xuất v0:** GIỮ WAL nguyên vai (mạch-sống hiện tại, ghi-đè) + **thêm** `.claude/logic-sessions/L<mm>.md` (tệp cộng-dồn per-phiên-logic, append 1 khối mỗi `/pause`: quyết-định-đã-chốt trong cửa đó · delta-còn-sống · con-trỏ run/commit). `/tiep` đọc WAL (mạch) + tệp L (bối cảnh tích lũy) — vẫn KHÔNG nạp lại read-set nặng. `/session-end` đọc tệp L làm nguồn gom-bài-học rồi đóng nó (frozen).
|
||||
|
||||
## 4. Điều kiện tiên quyết (mapping 5 vòng — vì sao phải đóng trước)
|
||||
|
||||
Theo `9234a7aa` §4: nối phiên qua nhiều cửa-sổ = tin trạng-thái trên đĩa. Trạng thái đóng vòng của SE @S140: vòng 1/2/3/5 chức-năng CÓ + runtime; vòng 4 lượt nén-sau-nâng đang chạy @S140; vòng-3-có-SUB (bộ ba `harness-eval/refine/audit` — owner đã quyết CÓ) **chờ khuôn hub** (email `fc2b218d3eed`). SE **không bật** session-model trước khi: (a) hub phát mẫu áp dụng, (b) khuôn bộ-ba SUB về, (c) anh duyệt bảng VC-1/2/3.
|
||||
|
||||
## 5. Câu hỏi gửi hub (đánh số — sẽ đi trong email S140)
|
||||
|
||||
1. Hub đã chạy phiên-logic thật (checklist `f71c5b65` ghi "một-hai phiên-logic đầu tiên") — xin **mẫu áp dụng + bài học** (đặc biệt: điểm mù "phiên nối lại có bộ-nhớ nhưng không biết mình có" đã kiểm bằng dùng thật chưa, kết quả?).
|
||||
2. Nhãn: hub dùng **một tầng** (đổi hẳn đơn vị đếm sang phiên-logic) hay **hai tầng** (vật-lý + logic như đề xuất VC-1)? Nếu một tầng — hub giải bẫy OR-guard/label-reuse thế nào?
|
||||
3. Tệp ngữ-cảnh cộng-dồn của hub có cấu trúc chuẩn gì (per-pause block? field bắt buộc? cap kích thước? quan hệ với sổ mạch-sống kiểu WAL)?
|
||||
4. Van "kiểm giữa phiên khi phiên-logic quá dài" (ghi-chú trung-thực (ii) của checklist) — hub đã đặt được ngưỡng chưa?
|
||||
|
||||
## 6. Không-biết + rủi ro (khai thật)
|
||||
|
||||
- Con số "rẻ đi ba-bốn lần" là ước lượng CỦA HUB theo cấu trúc chi phí, chưa đo trên SE — SE sẽ đo thật (token bootstrap/closeout per-L trước-sau) khi chạy thử, không mượn số.
|
||||
- Nối qua nhiều tài-khoản: nguyên lý OK (trạng thái trên đĩa) nhưng cả fleet **chưa chạy thật**; SE đã có kinh nghiệm gần (S138 `/tiep` đổi acc theo tiep.md:130) — vẫn cần lượt đo riêng.
|
||||
- Rủi ro chính của nhãn hai tầng: thêm 1 khái niệm = thêm chỗ drift (L không đóng khi phiên-logic chết giữa chừng → cần Sàn-3 mở rộng: tệp L mồ-côi = tín hiệu mạnh thứ 5?). Ghi nhận, chưa giải trong v0.
|
||||
|
||||
---
|
||||
*(DRAFT v0 — em-main single-writer D9. Bước kế: hub reply + anh duyệt bảng VC → wire qua 1 lượt adap có reviewer-gate + fault-inject.)*
|
||||
Reference in New Issue
Block a user