[CLAUDE] Docs: S131-S132 session-end — 3-gap báo hub + E-011/AS-15 nghi-thức-chạy-tắt + dồn H1/H2 S127→S131 (GAPS→CLOSED) + seed 2 diary H24 + ghi bù timeline S127-S129
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m32s

- S131: 2 email hub stamped (3-gap e46863c8 + closure-cadence 641bf8ca ĐANG BÀN) + adap-report H24 §6 + tick 6→7; chết session-limit giữa §L.b → S132 /tiep nối verify-5/5
- E-011 + AS-15 error-ledger: 3 closeout S128-S130 chạy tắt (kẽ thiết-kế H22 pause/tiep ⟂ §L.b); guard episodic verified-S132; wire-tick-/tiep CHỜ ANH GẬT
- H2 dồn: 0-orphan/31 run.md · seed lead-{view,omission}-auditor MEMORY (retro S124 8379B/9967B) · rmdir stray S119 · S130 solo không nợ
- H1 dồn: rag-onboarding-guide:118/:134 contextual_retrieval true→false + gỡ "+15% recall" chưa-đo (owner-final f5ce2778); roster 14/14 khớp 4-nguồn; reviewer-gate verified-pending → spawn-probe carry
- STATUS +2 block (S131+S132 + ghi-bù S127→S129) · HANDOFF segment mới RE-STAMP 8 carry · session-log kèm marker Sàn-5 wf-run-id S127-S128
- (j) counter=7 · light 4/6 · deep 4/15 · OVERDUE none · (i) spot-check 3/3 · (h) n-a · curate reviewer 20.3→16.8KB seal-verified (S128, gộp từ wal-flush)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-17 08:38:27 +07:00
parent 71757fc4f8
commit 72f68d1a2c
17 changed files with 269 additions and 23 deletions

View File

@ -2,7 +2,11 @@
> **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-17 (S130**/tiep sạch 7/7 → anh chốt 3 mục S126 owner-gated qua AskUserQuestion + áp trọn `cdb6279` PUSHED (docs-only, CI skip đúng paths-ignore): B3 = #2 TÁCH DÒNG mega-line (STATUS 261→686 · HANDOFF 13→317, ' · '→CRLF, round-trip 2-tầng PASS giữ-nguyên-chữ — KHÔNG re-tier, token luôn-tải KHÔNG giảm, anh biết trade-off) · B4 = `memory-budget.json:74` relabel EN "upper-bound (heuristic-notice) headroom" (old-literal 0 hit) · carry mark-S123 GỠ (RESOLVED @S130 sau `ACTIVE-MARKS.md:33`, dòng treo giữ audit-trail).** Suite detector 44: so tracked-vs-tracked base `295c70c` = 0-mất/0-mới ⇒ tách dòng KHÔNG giết chứng-nhân; Δ1 vs "45" S126 thuộc S127/S129. 🎯 Side-benefit: **carry-age detector HẾT vacuous** (7 carry-lines/52 segment; trước: 1 dòng vật-lý). Đính-chính trong-phiên: "phình ~13K/ngày" = SAI đo (Get-Content no-BOM→ANSI đếm ký-tự Việt ×2-3; thật: STATUS +113 ch · HANDOFF +2.5K) → E-010/AS-14 + guard ép-UTF8-tường-minh.
**Last updated:** 2026-07-17 (S131+S132**session-end S131 = phiên ĐẦU mở đúng nghi-thức §L.b sau 3 closeout S128-S130 chạy tắt (→ E-011 + AS-15 NEW error-ledger); S131 chết session-limit giữa chừng (2 monitor die), S132 `/tiep` nối verify-5/5 → đóng TRỌN.** S131: 2 email hub stamped selftest-MATCH (**3-gap vận-hành** `e46863c8`: GAP-1 counter H24 không tick trên mạch pause→`/tiep` — dưới-đếm ~37%/8-nhãn · GAP-2 3-closeout không spawn H1/H2 dù "KHÔNG skip" · GAP-3 diary 2 vai H24 không tồn-tại sau first-run S124, per-RUN gate mù per-ROLE; + **direction `closure-cadence`** `641bf8ca` ĐANG BÀN chưa chốt) + adap-report H24 §6 UPDATE + tick 6→7 ancestor-REACHABLE + reviewer-gate ×2 outward PASS_WITH_FIXES. S132: spawn DỒN H1+H2 phủ S127→S131 — **H2 GAPS→CLOSED-in-session** (0-orphan/31 run.md · seed 2 diary H24 retro-harvest từ `sub-lead-{view,omission}.md` 8379B/9967B · rmdir stray S119 · S130 solo-0-spawn = không nợ) · **H1 DRIFT-FOUND 1 thật FIXED cùng phiên** (`rag-onboarding-guide:118/:134` `contextual_retrieval: true` + "+15% recall" vô-căn-cứ sau owner-final `f5ce2778` → false + reword; roster 14/14 khớp 4-nguồn; plugin 0-delta) · (h) marks n-a · (i) spot-check 3/3 (sha 2 email re-compute MATCH + tick ancestor) · **(j) counter=7 · light 4/6 · deep 4/15 · OVERDUE none**.)
**Carry MỞ re-stamp (8):** (1) carry-age design-question còn treo (vacuous-GỐC đã hết @S130 nhờ tách dòng — anh xem đóng?) `[carry:carry-age-vacuous]` (2) hook-cap 17.1K — reviewer ĐÃ curate 20.3→16.8KB @S128; cụm D6 còn inv-cb/frontend-designer/cicd/test-spec trên-target `[carry:hook-vs-budget-cap]` (3) UAT S117 incognito `[carry:uat-s117]` (4) PE phân-quyền số-phiếu+user `[carry:pe-phanquyen]` (5) BVAAU `[carry:bvaau]` (6) quyết-định Bình/Lê `[carry:binh-le-decision]` (7) Trà/Bùi re-login `[carry:tra-bui-relogin]` (8) account trùng `[carry:account-trung]`.
**🔴 NEXT anh:** (1) 2 đề-xuất S131 CHỜ GẬT: wire tick H24 vào `/tiep` (+tick-at-close idempotent) + H24 light-run owner-triggered ngay (thay vì chờ counter 9); (2) CHỜ HUB: reply-batch mục (i) `_owner_ratified` + (iii) seal-verify + do-token errata + phản-hồi closure-cadence/3-gap — khi land, em `/check-email` verify hash + áp canonical + re-sync F10 `session-start.md:206`; (3) carry (1) carry-age — bằng-chứng S130 (detector 7/52) đủ đóng chưa?
**NEXT em (phiên kế):** watch `broadcasts/inbox`; spawn-probe reviewer xác-nhận Measured-label gate `reviewer.md:46` runtime-active (post-restart, H1 đề-xuất #3); monthly combined audit 2026-08-01; đọc verdict cicd nếu CI chạy cho commit chốt S131-S132.
**Prev S130:** 2026-07-17 (S130 — **/tiep sạch 7/7 → anh chốt 3 mục S126 owner-gated qua AskUserQuestion + áp trọn `cdb6279` PUSHED (docs-only, CI skip đúng paths-ignore): B3 = #2 TÁCH DÒNG mega-line (STATUS 261→686 · HANDOFF 13→317, ' · '→CRLF, round-trip 2-tầng PASS giữ-nguyên-chữ — KHÔNG re-tier, token luôn-tải KHÔNG giảm, anh biết trade-off) · B4 = `memory-budget.json:74` relabel EN "upper-bound (heuristic-notice) headroom" (old-literal 0 hit) · carry mark-S123 GỠ (RESOLVED @S130 sau `ACTIVE-MARKS.md:33`, dòng treo giữ audit-trail).** Suite detector 44: so tracked-vs-tracked base `295c70c` = 0-mất/0-mới ⇒ tách dòng KHÔNG giết chứng-nhân; Δ1 vs "45" S126 thuộc S127/S129. 🎯 Side-benefit: **carry-age detector HẾT vacuous** (7 carry-lines/52 segment; trước: 1 dòng vật-lý). Đính-chính trong-phiên: "phình ~13K/ngày" = SAI đo (Get-Content no-BOM→ANSI đếm ký-tự Việt ×2-3; thật: STATUS +113 ch · HANDOFF +2.5K) → E-010/AS-14 + guard ép-UTF8-tường-minh.
**Carry MỞ re-stamp (8):** (1) carry-age structural hạ-M-hay-non-tiered-ledger? `[carry:carry-age-vacuous]` — 🎯 S130: vacuous-GỐC đã hết nhờ tách dòng, câu-hỏi design còn treo, ANH xem có đóng không. (2) hook-cap 17.1K — reviewer 18.5K/inv-cb 17.4K trên-target, gộp cụm D6 kế `[carry:hook-vs-budget-cap]` (3) UAT S117 incognito `[carry:uat-s117]` (4) PE phân-quyền số-phiếu+user `[carry:pe-phanquyen]` (5) BVAAU `[carry:bvaau]` (6) quyết-định Bình/Lê `[carry:binh-le-decision]` (7) Trà/Bùi re-login `[carry:tra-bui-relogin]` (8) account trùng `[carry:account-trung]`. ✅ carry `retier-megaline` **ĐÓNG @S130** — anh chốt B3=#2 tách-dòng thay re-tier (cố-ý BỎ tag khi đóng theo nghi-thức; muốn giảm token luôn-tải THẬT sau này = mở carry MỚI, đừng hồi-sinh tag cũ).
**🔴 NEXT anh:** (1) CHỜ HUB phát reply-batch (i)/do-token/seal-verify — khi có, em nhận `/check-email` verify hash 2-tuyến + áp canonical + re-sync F10 `session-start.md:206`; (2) carry (1) `carry-age-vacuous` — xem bằng-chứng S130 (detector đọc 7/52) có đủ đóng chưa.
**NEXT em (phiên kế):** watch `broadcasts/inbox` (count>1 = có broadcast mới); monthly combined audit 2026-08-01; nếu anh đóng carry (1) → gỡ tag ở segment kế + ghi lý-do.

View File

@ -457,6 +457,23 @@ monthly re-tier mega-line + ef-core SKILL Mig→59 + 3 vocab-fork (2026-07-01 du
---
## ✅ Recently Done (S131+S132 — 2026-07-17)
**Session-end S131 mở ĐÚNG nghi-thức đầu-tiên sau 3 closeout chạy tắt; S132 `/tiep` nối (S131 chết session-limit) → đóng TRỌN §L.b.** Session-log → `2026-07-17-S131-S132-session-end-3-gap-don-monitor.md`. Lead Fable 5.
- **3-gap vận-hành báo hub** (`e46863c8` + direction `closure-cadence` `641bf8ca` ĐANG BÀN): GAP-1 counter H24 không tick trên mạch pause→`/tiep` (dưới-đếm ~37%/8-nhãn) · GAP-2 3-closeout S128-S130 không spawn monitor · GAP-3 diary 2 vai H24 rỗng sau first-run S124. → **E-011 + AS-15 "nghi-thức chạy tắt"** vào error-ledger (guard episodic, verified S132).
- **Dồn monitor S127→S131 (S132):** H2 GAPS→CLOSED (0-orphan/**31 run.md**/33 dirs · seed 2 diary `lead-{view,omission}-auditor` retro từ S124 · rmdir stray S119) · H1 DRIFT-FOUND 1 thật → FIXED (`rag-onboarding-guide:118/:134` contextual_retrieval true→false + gỡ claim "+15% recall" chưa-đo; roster **14/14 khớp 4-nguồn**; plugin 0-delta).
- **(j)** counter=7 · light 4/6 · deep 4/15 · OVERDUE none · (i) spot-check 3/3 (sha 2 email re-compute + tick ancestor REACHABLE) · (h) marks n-a.
- State: **Mig 66 · 89 bảng · 509 test · gotcha 83 · menu 54 · Sub-agents 14 · bundle ROTATE-benign @S128** (`yCkX-2Bp`/`DKSD4p9k` — #69 uncond-rebuild, 0 fe-src).
## ✅ Recently Done (S127→S129 — 2026-07-16, ghi bù @S132 — 3 closeout gốc chạy tắt E-011)
**Adap TRỌN đợt broadcast 16-07 (5 bản + thư điều-phối) — commit `289ba96` PUSHED, CI run 509/#395 GO (gate 509 exact · smoke ALL 200).** Chuỗi 4-lớp guard: A fable-reviewer GO-ADAP (BÁC claim hub "bản 2 duy nhất") → B fable-invest draft 6/6 việc (garble #53 — ghi-đĩa-trong-lúc-làm cứu trọn; **LỆCH-1: config RAG per-project nằm TRONG repo SE**) → C fable-reviewer#2 GO-WITH-FIXES (4 fix: F1 README-count · F2 sai-loại-hash · F3 item-rơi · F4 future-claim — 2/4 chỉ lộ khi CHẠY THỬ lệnh verify) → D HMW 3-wave 11/11 + review 2-lane GO-COMMIT (owner-gated 0-diff).
- **Diff thật:** `rag.json:26` contextual_retrieval=**false** (owner-final `f5ce2778`, lineage git-chính-xác 05-22) · backfill hạ-nhãn calibrated→heuristic (C1 190c11ba) · `reviewer.md:46` +Measured-label gate (verified-pending restart) · `session-start.md:206` re-tune chu-kỳ-2-CỦA-SE · bookend đính-chính "5 sai + 2 đổi-cách-đọc" · **4 adap-reports NEW** + bookend UPDATE · email hub báo-nấc 6c-PASS `c0ac7486447e` · STAGE-2 move 6 file hash-preserve → `inbox/ai_infra/`.
- **S129 (/tiep):** anh trả lời 4 owner-gated: (ii) **ÁP** — XOÁ `measured_token_estimate` giữ trần cao nhất 100K (verbatim-archive trong proposals) · (iv) **ÁP** budget:65 tail-note · (i)+(iii) **CHỜ-HUB** (lời-chốt canonical phía hub chưa broadcast / hub đang build seal-verify). Ask do-token GIỮ pending.
- wf-runs: `wf_a965db21-e87` (w1) · `wf_869809a1-f99` (w2) · `wf_7436bb45-e20` (w3) · `wf_44eeed6b-3b4` (review) — run-folder `2026-07-16-S127-adap-dot-16-07/` 11 sub-md + 2 synthesis.
## ✅ Recently Done (S130 — 2026-07-17)
**Anh chốt 3 mục S126 owner-gated + áp trọn (`cdb6279` PUSHED — docs-only, CI skip đúng paths-ignore 4/4 file).** Session-log → `2026-07-17-0013-S130-owner-gated-3-muc-s126.md`. Lead Fable 5, 0 sub spawn, 0 run mới.

View File

@ -0,0 +1,29 @@
# S131+S132 (2026-07-17) — Session-end đúng nghi-thức đầu-tiên sau 3 closeout chạy tắt + 3-gap báo hub + dồn monitor S127→S131
> Lead Fable 5. Governance-only: 0 prod-code, 0 mig, test 509 GIỮ. S131 chết session-limit giữa session-end (2 monitor die, resets 4:30am) → S132 `/tiep` nối (verify 5/5 khớp, sentinel `closing:` treo NHẤT QUÁN chain — không phải mâu-thuẫn).
## Mạch việc
1. **S131 (01:xx):** 2 email hub stamped selftest-MATCH — `2026-07-17-se-to-ai_infra-h24-h22-van-hanh-3-gap.md` (`e46863c8`) + `...owner-direction-closure-cadence.md` (`641bf8ca`, direction ĐANG BÀN chưa chốt) · adap-report H24 §6 UPDATE S131 (flip §5(a) + 3 GAP) · H24 tick 6→7 (ancestor REACHABLE) · reviewer-gate ×2 outward PASS_WITH_FIXES đã áp · session-end BƯỚC 0 sentinel + §L.a + §L.b(c) archive-gate DRY PASS → **chết session-limit giữa (d)(f)(g)**.
2. **S132 (08:20+):** `/tiep` → spawn DỒN H1+H2 (prompt tự viết từ 2 mục `[!]`, KHÔNG nạp transcript):
- **H2 harvest-curator:** GAPS-FOUND→CLOSED-in-session. Coverage PASS **31 run.md/33 dirs** (interim "26" = S123-baseline stale; 2 dirs = spec-only S117 by-design), 0-orphan/31, 2 folder mới S127+S129 đều flat dạng-1. Placement ×2 → xử: **seed 2 diary H24** (`lead-view-auditor` + `lead-omission-auditor` MEMORY.md — retro-harvest on-behalf từ `runs/2026-07-15-S124-adap-wave-reply/sub-lead-{view,omission}.md` 8379B/9967B, giữ verdict S124 nguyên-bản + post-S124 resolution-notes) + **rmdir stray S119** (`runs/2026-07-15-S119-adap-6-broadcast/.claude/` 3 dir rỗng lồng). S130 em-main-solo 0-spawn = không nợ harvest (confirm).
- **H1 tooling-auditor:** DRIFT-FOUND 1 thật → **FIXED cùng phiên**: `docs/guides/rag-onboarding-guide.md:118/:134` còn `contextual_retrieval: true` + claim "+15% recall" vô-căn-cứ sau owner-final `f5ce2778` (→ `false` + reword recall-chưa-đo/số-paper). Roster **14/14 khớp 4-nguồn** · plugin 0-delta · reviewer.md:46 gate = verified-pending (spawn-probe post-restart → NEXT em).
3. **E-011 + AS-15 NEW** (error-ledger): "nghi-thức chạy tắt" — 3 closeout S128 `289ba96` · S129 `295c70c` · S130 `71757fc` không spawn H1/H2 + bỏ §L.b(j); gốc = kẽ THIẾT-KẾ giao-điểm H22 pause/tiep ⟂ §L.b (không phải lỗi cá-nhân phiên). Guard episodic → **verified S132** (spawn dồn + harvest bù xong). Wire-tick-`/tiep` + tick-at-close = CHỜ ANH GẬT (email mục 1), không tự áp.
4. **§L.b các bước còn lại:** (e) pending-requests đủ SPECIFICS (proposals-file + HANDOFF NEXT) · (h) marks n-a (0 quyết-định governance mới; 8 Active-High hiệu-lực) · (i) spot-check 3/3 PASS (sha 2 email re-compute độc-lập MATCH + tick ancestor) · (j) `counter=7 · light 4/6 · deep 4/15 · OVERDUE: none` (đọc config).
5. **STATUS ghi bù S127→S129** (timeline thủng do 3 closeout tắt — block riêng, đủ wf-run-id) + block S131+S132 + HANDOFF segment mới **RE-STAMP đủ 8 carry** + session-log này.
## Ghi bù marker Sàn-5 (run S127-S128 — session-log gốc không tồn tại)
wf: adap-đợt-16-07 run=2026-07-16-S127-adap-dot-16-07 runId=wf_a965db21-e87 (w1 5-diff) · runId=wf_869809a1-f99 (w2 5-reports) · runId=wf_7436bb45-e20 (w3 email+move) · runId=wf_44eeed6b-3b4 (D-review 2-lane) — done=4/4 harvested=yes (execute-synthesis.md + review-synthesis.md; diary reviewer/inv-cb/cicd S127-S128 đã append). Phiên S132: 0 run-folder mới sinh (2 monitor = raw-Agent, return-verify tại chỗ) → Sàn-5 sạch.
## Carry & chờ
- **CHỜ ANH:** wire-tick-`/tiep` + H24-light-run-ngay (2 đề-xuất S131) · carry-age design-question (bằng-chứng S130 đủ đóng?) · 8 carry re-stamp ở HANDOFF.
- **CHỜ HUB:** (i) `_owner_ratified` canonical + (iii) seal-verify + do-token errata + phản-hồi 3-gap/closure-cadence.
- **NEXT em:** spawn-probe reviewer gate (post-restart) · watch inbox · monthly audit 2026-08-01.
## Bài học phiên
1. **Per-RUN gate mù per-ROLE** — vai chạy 1 lần mà diary không ai seed thì 8 phiên sau vẫn "im trông y hệt sạch"; lớp đo per-ROLE cần chủ sở-hữu (đã đề-xuất hub "first-run-role-has-diary").
2. **Điểm-đóng-thật ≠ session-end** — chốt-đợt+push qua mạch pause/tiep lách toàn bộ §L.b; vá bằng LUẬT SOI ĐƯỢC (AS-15) chứ không bằng trí-nhớ.
3. Interim UNVERIFIED từ agent chết giữa việc: re-verify từ đĩa ra "33 dirs" đúng nhưng "không phải 26" là so với baseline cũ — con số cần kèm mốc so-sánh.

View File

@ -89,3 +89,17 @@ Flag MỚI : 0 (đo bằng `comm`, không đếm mắt)
---
*Ghi @S122 (2026-07-15) · lead Opus 4.8 · chain ĐÃ PUSH `4727d16..c39ba9d`, tree clean, K=0*
## 6. UPDATE S131 (2026-07-17) — flip nấc S124 + 3 operational-gap khi dùng THẬT
**Flip nấc so với §5(a):** 2 vai ĐÃ CHẠY lần đầu S124 (owner-triggered dogfood @counter=3, credited cả light+deep: lead-view **9 flag** · lead-omission **4 flag + 1 escalate** carry-age-vacuous; 0-garble) — caveat "CHƯA CHẠY LẦN NÀO" hết hiệu-lực ở vế *soi-được-lần-đầu*; vế *"chưa chứng-minh HIỆU-QUẢ chu-kỳ"* (caveat (c), n=1) **GIỮ NGUYÊN**. Counter đã tick tới 7 (S122→S131).
**3 operational-gap mới (S131 — lộ nhờ owner hỏi "sao monitor không thấy chạy"; evidence đầy-đủ + reviewer-gate PASS_WITH_FIXES: email `2026-07-17-se-to-ai_infra-h24-h22-van-hanh-3-gap`):**
- **GAP-1 tick-coverage (H24×H22):** tick (increment) chỉ wire ở `/session-start §2.1.8`; mạch pause→`/tiep` KHÔNG tick (`tiep.md` grep tick|counter = 0 hit) → S128·S129·S130 counter đứng 6. Cửa-sổ 8 nhãn S124→S131: **5 tick / 3 không-tick → counter dưới-đếm ~37% (≈1,6× theo đơn-vị nhãn phiên, window-dependent)**. Fix trong-khung: wire tick vào `/tiep` (chờ owner gật).
- **GAP-2 closeout-no-monitor (Harness-1 discipline):** 3 closeout liên tiếp (S128 `289ba96` 20:57 · S129 `295c70c` 23:16 · S130 `71757fc` 00:26) không spawn H1/H2 dù `§L.b` "KHÔNG skip" (diary mtime đứng 07-16 15:18, 0 commit sau đó chạm; S130 tự ghi "0 sub spawn") — và cũng bỏ luôn bước đọc-overdue `§L.b(j)`. Không detector nào đo lớp nghi-thức-có-chạy. Caveat: proxy 2-nguồn (mtime + commit-log), chưa loại cách đọc "có chạy mà không harvest".
- **GAP-3 per-role-diary mồ-côi (H24 landing × H2 coverage):** diary 2 vai H24 KHÔNG TỒN TẠI dù đã chạy S124 — findings kẹt ở run-folder (`sub-lead-view.md`/`sub-lead-omission.md`), lead sót harvest on-behalf (monitor RETURN-only không tự Write); `memory-budget.json:measured` 0 key cho 2 vai. Dual-accept đo per-RUN nên im ĐÚNG theo thước của nó; lớp per-ROLE chưa ai sở-hữu; harvest-curator (lớp bắt lỗi này) nằm trong GAP-2 → vòng tự-che khép kín.
**Trạng-thái:** 3 fix trong-khung trình owner @S131 (tick-wire `/tiep` · spawn dồn H1+H2 + harvest hồi-tố + error-ledger entry · H24 light-run sớm); 2 đề-xuất khung (tick đa-điểm-vào + 2 detector nghi-thức) gửi hub trong email trên.
---
*UPDATE @S131 (2026-07-17) · lead Fable 5 · reviewer-gate PASS_WITH_FIXES (2 major fencepost/overclaim đã sửa trước stamp: "8 nhãn/+4" → mốc-S124 7-nhãn/+4 · "gấp đôi" → ~37%/1,6× window-dependent)*

View File

@ -33,6 +33,7 @@ Detect by **action-signature** (NOT "AI tự phán có vi phạm không"). Scan
| AS-12 | identifier-based data op trên prod (lock/seed/migrate-by-email/code) viết theo population đọc từ CODE/Dev, KHÔNG dump bảng env đích | gotcha #60 (E-008) — assertion 0-row/`-1` ⟹ nghi data-mismatch TRƯỚC code-bug | RCA + dump env-đích trước khi viết list + seed-password thỏa policy nghiêm nhất mọi env |
| AS-13 | **custom Workflow script (≠ hmw.js DEFAULT-mode)** chạy parallel **same-role** agents giữ Write → agents tự-ghi shared `agent-memory/<role>/MEMORY.md` → "file modified since read" race + verbose-append over-cap | E-009 — hmw.js DEFAULT có return-delta-guard, custom script KHÔNG kế-thừa | RCA + curate L1→L2 + custom workflow PHẢI copy return-delta-guard HOẶC file-disjoint 1-sub/file |
| AS-14 | phép ĐO text (length/char-count/so-sánh) qua `Get-Content`/console-pipe **KHÔNG ép encoding** trên file **no-BOM** (PS5.1 default = ANSI → ký-tự Việt đếm ×2-3) | đo-phải-chạm-đĩa-ĐÚNG-CÁCH (E-010; anh em với bẫy `grep -c``feedback_resume_premise_reverify`) | RCA + re-đo `[System.Text.UTF8Encoding]` tường-minh; số đã báo owner → đính-chính NGAY |
| AS-15 | **điểm-đóng-thật** (chốt-đợt commit+push HOẶC session-end) **KHÔNG kèm** delta diary monitor (H1/H2) **và KHÔNG** dòng counter §L.b(j) | session-end §L.b "(a)→(j) đủ HẾT, KHÔNG skip" (E-011 — nghi-thức chạy tắt; máy mù lớp "nghi-thức có chạy không") | RCA + spawn DỒN H1+H2 re-report phủ khoảng bị bỏ + harvest hồi-tố + đọc counter bù |
## 🛡️ Active-Guards index (2-strike promote: episodic → procedural)
@ -54,11 +55,20 @@ Detect by **action-signature** (NOT "AI tự phán có vi phạm không"). Scan
| dump bảng env-đích TRƯỚC identifier-based data op (lock/seed-by-email) | gotcha #60 (AS-12) | episodic | 1 (S57bis lock NO-OP) | ✅ S58 (recon dump → fix `5998163` → Run #382 đo 34 locked) | ++ |
| custom Workflow same-role → copy return-delta-guard HOẶC file-disjoint 1-sub/file | E-009 (AS-13) | episodic | 1 (S71 invest/review race) | ✅ S71 (curate workflow `wf_f32987b8` file-disjoint 1-sub/file = 0 race; finalize curate đóng over-cap) | ++ |
| đo text = ép `UTF8Encoding` tường-minh (PS5.1 no-BOM ⇒ ANSI ⇒ số phồng ×2-3) | E-010 (AS-14) | episodic | 1 (S130) | ✅ S130 (B3 round-trip dùng UTF8-explicit PASS 2 file; số đính-chính cùng phiên) | + |
| điểm-đóng-thật ⇒ tự-hỏi "diary monitor có delta? dòng counter có in?" (chờ hub canonical detector) | E-011 (AS-15) | episodic | 1 đợt (×3 closeout S128-S130) | ✅ S132 (spawn dồn H1+H2 phủ S127→S131 xong: H2 GAPS→CLOSED + H1 1-drift-FIXED + 2 diary H24 seeded + counter-line in §L.b(j)) | + (đề-xuất khung đã gửi hub `e46863c8`) |
## 📋 RCA entries (blameless — newest on top)
> Format: `E-NNN | date | rule | what | 5-why root | fix (prod-bug = 2-fix: code + guard) | prevention | tags[TYPE/ACTOR/COMPONENT]`
### E-011 — AS-15 nghi-thức chạy tắt: 3 closeout liên-tiếp S128-S130 KHÔNG spawn monitor H1/H2 + bỏ §L.b(j) — máy im suốt, lộ nhờ 1 câu hỏi của anh (S131 phát-hiện, S132 xử)
- **rule (AS-15 NEW):** session-end §L.b (session-end.md:52) *"auto-maintain (a)→(j) đủ HẾT, KHÔNG skip — thiếu = ledger thối"*; (d)(f) = H2 harvest-curator · (g) = H1 tooling-auditor · (j) = đọc counter/OVERDUE. **Điểm-đóng-thật** (chốt-đợt + push) đi qua mà nghi-thức không chạy = closeout chạy tắt, dù phiên kết thúc bằng `/pause` chứ không phải `/session-end`.
- **what:** 3 closeout liên-tiếp — S128 `289ba96` 20:57 · S129 `295c70c` 23:16 · S130 `71757fc` 00:26 — commit + push xong mà KHÔNG spawn H1/H2 (mtime diary 2 monitor đứng 2026-07-16 15:18; commit cuối chạm diary = `e9124fc` 15:19; S130 Recently-Done còn tự ghi *"0 sub spawn"*) + bỏ luôn §L.b(j) — cả lớp ĐỌC counter cuối phiên không chạy. Không detector nào đo lớp "nghi-thức có chạy không" → im lặng trông y hệt sạch; chỉ lộ khi anh hỏi *"sao không thấy lead-view/lead-omission/harvest chạy?"*. Họ-hàng cùng đợt (GAP-1, email `e46863c8`): mạch pause→`/tiep` không tick counter H24 → S128·S129·S130 không tick → counter dưới-đếm ~37% trên cửa-sổ 8 nhãn (5 tick/3 không).
- **5-why:** phiên kết thúc bằng `/pause` (H22 điểm-dừng chủ-động) hoặc mở bằng `/tiep` nối-mạch → không đi qua cổng `/session-end` → §L.b không ai gọi → không gate máy nào ép (a)→(j) → 3 phiên lặp cùng kiểu → gốc = **kẽ THIẾT-KẾ giao-điểm 2 harness** (H22 pause/tiep ⟂ nghi-thức đóng §L.b + H24 tick 1-điểm-vào), KHÔNG phải lỗi cá-nhân một phiên; máy mù lớp nghi-thức (cùng họ caveat (e) adap-report H24).
- **fix (KHÔNG prod-bug — process):** (đợt này) S131 mở session-end ĐÚNG nghi-thức đầu-tiên sau 3 lần tắt (sentinel + §L.a + archive-gate DRY PASS) — chết giữa vì session-limit → S132 `/tiep` nối: spawn DỒN H1+H2 phủ S127→S131 + harvest hồi-tố GAP-3 (diary 2 vai H24) + entry này. (báo) email hub `e46863c8` 3-gap stamped + đề-xuất khung: tick đa-điểm-vào H22×H24 · detector "closeout-missing-monitor" · "first-run-role-has-diary" — chờ hub canonical, SE không tự chế detector riêng.
- **prevention/guard:** AS-15 thêm §L.a + Active-Guard episodic (occurrences ×3 nhưng 1 đợt phát-hiện — promote nếu tái SAU guard). Wire tick vào `/tiep` + tick-at-close = đề-xuất ĐÃ TRÌNH ANH (email mục "SE tự làm trong-khung" #1), **CHỜ ANH GẬT mới sửa `tiep.md`** — không tự áp.
- **tags:** [ritual-skip / em-main / session-end×H22-pause-tiep×H24-counter]
### E-010 — AS-14 encoding-mismeasure: `Get-Content` no `-Encoding` trên file no-BOM → báo owner số sai ×2-3 (S130, tự-bắt + đính-chính trong-phiên)
- **rule (AS-14 NEW):** phép ĐO text (length/count/so-sánh) phải ép encoding tường-minh. PS5.1 `Get-Content` trên file UTF-8 **no-BOM** đọc theo ANSI ⇒ mỗi ký-tự Việt (2-3 byte UTF-8) đếm thành 2-3 char ⇒ số phồng ×2-3. Repo này CỐ Ý để docs no-BOM ⇒ mọi phép đo mặc-định đều dính.
- **what:** S130 khi trình 3 mục owner-gated, em đo mega-line bằng `(Get-Content docs\STATUS.md)[5].Length` = 70.008 / HANDOFF = 65.429 → báo anh "phình ~13K chỉ trong 1 ngày" ngay trong AskUserQuestion. Số THẬT (UTF8Encoding explicit): 64.794 / 59.686 — phình thật +113 ch + ~2.5K. Kết-luận "đang phình" đúng HƯỚNG nhưng độ-lớn sai ~5×. May: cả 3 phương án đã trên bàn từ S126 ⇒ quyết-định anh không dựa số này.

View File

@ -115,7 +115,7 @@ Template generic:
"auto_reindex": true,
"chunk_size": 1500,
"chunk_overlap": 200,
"contextual_retrieval": true
"contextual_retrieval": false
}
```
@ -131,7 +131,7 @@ Template generic:
| `share_to_global` | **CRITICAL DECISION:** `true` = chunks promote-able to shared_global collection (cross-project search visible). `false` = client confidential, chỉ self-project access. **Em main project decide based on data sensitivity** (vd DH Y Dược client → `false`, NamGroup internal HRM → `true`). |
| `search_scope_default` | Default `["self", "shared_global"]` - cân bằng project-specific + cross-project pattern reuse |
| `chunk_size` / `chunk_overlap` | Default 1500/200 chars - đã tune cho MD docs Vietnamese. KHÔNG đổi unless project có docs structure khác hẳn. |
| `contextual_retrieval` | `true` - Anthropic Contextual Retrieval prepend "From <doc> > <heading>:" - +15% recall |
| `contextual_retrieval` | `false`**OWNER-FINAL fleet-wide 2026-07-16** (broadcast `f5ce2778`; default khung `projects.py:39` cũng `False`). Flag chỉ gate structural title-prepend "From <doc> > <heading>:" ở chunking (0 API-call); recall-delta CHƯA đo (hub khai) — claim "+15%" cũ là số Anthropic-paper, không phải đo fleet. Dự-án mới: GIỮ `false`. |
### Step 2: Run bootstrap