30 KiB
sub-investigator-codebase-0 — S138 adap 3 bản AI_INFRA 17-07 (invest + SPEC-PROPOSAL)
Engine: /fable-real single deep-pass (anh gán đích-danh). PROPOSE-ONLY — lead verify rồi ghi spec. 3 bản đọc TRỌN: đính-chính-kép
624c378d(update) · master-checklistcadd24ae(new) · năm-quyết123d8272(new digest). Mọi số đếm dưới = ĐÃ chạy lệnh (lệnh ghi kèm §7). Ghi-đĩa-trong-lúc-làm (bài S123 — chống #53 garble).
§1 — PROJECT-FIT per-khoản (CẢ 3 bản)
| Bản | Khoản | FIT | Nấc | 1-dòng |
|---|---|---|---|---|
| 1 đính-chính-kép | Δ1 nhãn grounded sót kiểm-kê |
ADOPT | cần-implement-NHỎ | Re-grep 5-nhãn ĐÃ chạy trong invest này = 0 hằng-số grounded mọi bề-mặt sống; NHƯNG .claude/agents/reviewer.md:46 câu cửa-duyệt chép đúng danh-sách 4-nhãn LỖI của hub → vá +grounded (1-từ) |
| 1 đính-chính-kép | Δ2 ext-filter Office | ADOPT | already-compliant (SE-originated) | SE CHÍNH LÀ dự-án báo 13 dương-giả (broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-adap-2-errata-report.md:20); script standing agent-frontmatter-eol-check.ps1 KHÔNG dùng ext-filter (byte-level CR, scope .claude MD-only) → 0 chỗ sửa |
| 2 master-checklist | Sàn-1 hai tầng / 4 nhóm | ADOPT | cần-implement | Tầng-1 có (Plan cha/con Phase 3/4 + WAL goal); tầng-2 hiện 3-state (🟢🟡⚪ / [x][!][ ]), nhóm chờ-anh nằm TÁCH (work-state §2.1.5-3 + HANDOFF NEXT-anh) — chưa hợp nhất 1 VIEW 4-nhóm |
| 2 master-checklist | Sàn-2 mọi cửa | ADOPT | cần-implement (2/4 cửa) | Mở/đóng ĐỦ; /pause in 5-ý (goal + [!] đầu — không full 2-tầng); /tiep in reconcile không in checklist tổng |
| 2 master-checklist | Sàn-3 VIEW ≠ SOURCE | — | already | Negative-verify: 0 file checklist nguồn-đôi (chỉ docs/guides/security-checklist.md khác nghĩa + broadcast inbox); nguồn durable = WAL/STATUS/HANDOFF/ACTIVE-MARKS/migration-todos |
| 2 master-checklist | Sàn-4 carry khép + máy đối-chiếu | — | already | HANDOFF re-stamp §L.b(j)(iv) + carry-age H24-2 (governance-detectors.ps1:24-26) + Sàn-3 4-tín-hiệu (tiep.md §0) + Sàn-5 run-vs-marker (session-end.md:70-96) + 5 class gap-* omission |
| 2 master-checklist | Sàn-5 chờ-owner đánh số | — | already (+1 dòng luật-hoá) | docs/HANDOFF.md:7 NEXT anh (1)…(6) numbered + [carry:] stamps; L11 prev cũng numbered — de-facto, chưa thành câu luật |
| 3 năm-quyết | K1 đóng-băng bề-mặt-đo | ADOPT | cần-implement-NHẸ (1-2 câu) | 5 script đo mapped read-zones (§3.4); WAL nằm NGOÀI bề-mặt-đo cả 5 → ngoại-lệ WAL đúng như hub; exposure thấp (lead single-writer sequential) — khai thật |
| 3 năm-quyết | K2 cite 2-nấc máy kiểm | ADOPT | cần-implement (detector C6) | C1 hiện CHỈ gotcha-ref + wikilink (:17-18) — 0 resolver path:line; volume đo 291 occurrence (§7.4) |
| 3 năm-quyết | K3 hứa-máy phải quét thật | — | already-by-sweep | Sweep ĐÃ chạy: 3 hit ngoài lineage, 3/3 trace được mã thật (§3.6) → candidate-list cho anh = RỖNG |
| 3 năm-quyết | K4 ngoại-lệ relay-attribution | ADOPT | cần-implement-NHẸ (1 câu) + n-a phần máy | SE có 2 luật lớp-từ tương-đương (G-011 "KHÔNG tự khai verified" + measured-label gate :46); practice đã attribution-cạnh-verb tự nhiên; chưa có scanner lớp-từ → ranh máy = n-a, ghi nguyên-tắc |
| 3 năm-quyết | K5 pending-flip detector | ADOPT | cần-implement (H24-4) | Cặp SE = {HANDOFF/STATUS token chờ ⟷ ACTIVE-MARKS RC-stamps}; ca THẬT ×2 (§3.8); hiện bắt bằng H24 mắt-người theo NHỊP — đúng giai-đoạn hub trước khi máy-hoá |
| 3 năm-quyết | K6.1 file-đo phải commit | — | PARTIAL-already (+2 dòng) | memory-triple 3 dòng ĐÃ commit (sessions/2026-07-17-S135-S137…:25-28) + mfe strikes persist .mfe-state.json tracked; detector-TOTAL + nhịp-nợ = narrative-only |
| 3 năm-quyết | K6.2 re-base = số SỐNG | — | already-by-practice (+1 câu luật) | Sleep-baseline "đo tươi Get-Item" dated · TOTAL 46→45 đo cùng commit 7760cdf · RAG 2441 re-verify live; chưa có CÂU LUẬT tổng-quát (generalize E-010) |
| 3 năm-quyết | K7 thứ-tự đọc 4 bản | — | already | Khung-nhịp 3daf5ee4 + năm-vòng f71c5b65 adopted S135-S137 (docs/HANDOFF.md:5); digest đứng sau = wave này |
§2 — Bản 1: grounding 2 delta
Δ1 — nhãn grounded
- Chứng SE kiểm-kê thiếu grounded:
docs/governance/adap-reports/2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do.md:27— bảng kiểm-kê transcribe grepcalibrat|measured|empirical|đã-đo(đúng 4 nhãn, mirror lỗi §4 hub). - Re-grep
grounded(invest này — kết quả 0 hằng-số):scripts/= 0 hit ·hmw.js= 0 ·.claude/agent-memory/memory-budget.json= 0 (grep 4-pattern gồm grounded: các dòng match :72/:74/:83/:88/:90/:142 đều là measured/calibrat-prose đã xử S127-S129, KHÔNG dòng nào chứagrounded)..claude/= 10 occ / 9 file — TOÀN archive agent-memory + workflow-runs (lineage/mention, vdtooling-auditor/archive/2026-07.md, run S124/S127 sub-reviewer) — không phải hằng-số sống.docs/= 8 hit — toàn prose động-từ/lineage: "Empirical-grounded" (docs/guides/multi-agent-setup-guide.md:5), "recon-grounded" (error-ledger.md:94), "re-grounded counts" (BROADCAST-OUT…:15), "Ground S121 bằng đếm mã-nguồn" (docs/STATUS.md:448row Policies). 0 hằng-số mang nhãn.
- 🔴 LANDING-SITE THẬT (surprise):
.claude/agents/reviewer.md:46câu cửa-duyệt sống:"…con-số mang nhãn đo-lường (measured/empirical/calibrated/đã-đo)?"— 4 nhãn, THIẾUgrounded= SE đã CHÉP danh-sách kiểm-kê lỗi của hub vào LUẬT SỐNG. Δ1 áp thẳng: vá:46thêmgrounded(1-từ). Agent.mdno hot-reload → nấc sau vá = executed→verified-pending (mirror E3 cũ, adap-report vòng-5:60). - Trớ-trêu đúng kiểu hub tả: hằng-số hub sống 42 phiên tự dán "Grounded in real measurements" — SE không có hằng-số grounded, nhưng có LUẬT-4-nhãn sẽ bỏ sót đúng nhãn đó nếu mai có.
Δ2 — ext-filter Office
- SE-originated:
broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-adap-2-errata-report.md:20— phát-hiện-riêng #1: "Filter mẫu lỗ #4 của erratum THIẾU docx/xlsx/pptx/dll — chạy nguyên-mẫu … trên SE cho 13 dương-giả (12 .docx + 1 .xlsx)". Broadcast:33"một dự-án … tự bắt, tự báo, kèm số — hub xác nhận" +:61ghi công = chính SE. - Standing check KHÔNG cần sửa:
scripts/agent-frontmatter-eol-check.ps1scope =.claude/{agents,commands,skills}MD-only (:253-257scopeSpecs), đếm BYTE CR 0x0D (:135-198 Measure-EolBytes) — KHÔNG hề dùng ext-filter/i/-text→ filter Office không có chỗ đứng trong script. Check lone-CRi/-text= one-time S129 (adap-report erratum:12— filter SE-tailored → 0 suspect; "giữ làm regression-guard" = nghĩa là file text mới lone-CR sẽ rơi vàoi/-textkhi CÓ AI chạy lại lệnh đó, KHÔNG phải script standing). - Nguyên-tắc tailor đã ghi 2 chỗ: adap-report erratum
:12+ chính thư outbox:20đề-nghị hub thêm câu tailor (hub nhận → thành Δ2 tầng-2). → nấc: already-compliant, evidence-đủ; hành-động = ghi-nhận trong adap-report mới, 0 code.
§3 — Bản 2 + 3: grounding chi-tiết
3.1 Bốn cửa vòng-đời — hiện in gì
| Cửa | Hiện in | Evidence |
|---|---|---|
/session-start |
Phase 3 REPORT: Plan cha/con/task tree 3-state (🟢🟡⚪) + agent assignment + critical signal | session-start.md:238-260 |
| Work-state block 4 thành-phần (roadmap · WIP · pending-decisions · recurring-bugs) | :151-161 (§2.1.5) |
|
H24 tick + dòng-nợ 3-vế nhip-no-probe.ps1 |
:181-207 (§2.1.8) |
|
/session-end |
Phase 4 REPORT: Plan tree 3-state + done/commit-SHA/CI verdict | session-end.md:147-163 |
| §L.b(a) STATUS Recently-Done 1-dòng + (j)(iv) RE-STAMP carry mọi carry mở | :54 + :102-105 |
|
| §6.4 reset WAL template rỗng | :253-257 |
|
/pause |
WAL ghi-đè: chain ĐẦY-ĐỦ [x][!][ ] + evidence + next + verify |
pause.md:23-27 |
Báo 5-ý: goal · [!] đầu · wf bỏ lại · "an-toàn thoát" · dòng-nợ |
:38-44 |
|
/tiep |
Sàn-3 4-tín-hiệu → đọc WAL → verify ground-truth thắng → nối từ next: |
tiep.md:27-34, :98-116 |
3.2 Sàn-1/2 gap cụ thể
- Tầng-2 bốn nhóm {xong · đang-dở+breakdown · chờ-owner · chưa-làm}: SE task-tree = 3-state; nhóm chờ-owner sống TÁCH ở work-state §2.1.5-3 (session-start only) + HANDOFF NEXT-anh (đọc thủ-công).
/pause//tiepKHÔNG in khối chờ-anh. - Đóng-phiên "tổng-hợp chốt: arc nào đóng + mục chưa-đóng đi đâu": Phase 4 in plan-state nhưng không có câu bắt-buộc "mỗi mục chưa-đóng → chỉ đích carry-slug/WAL-line".
3.3 Sàn-3/4/5 — already, evidence
- 0 nguồn-đôi:
find -iname "*checklist*.md"→ 2 hit:docs/guides/security-checklist.md(khác nghĩa) + broadcast inbox. KHÔNG có checklist trạng-thái-việc nguồn-đôi. - Máy đối-chiếu carry: H24-2 carry-age (
governance-detectors.ps1:24-26— streak[carry:<slug>]≥M most-recent carry-lines, M từ config) + nghi-thức RE-STAMP (session-end.md:102-105— vá vacuous streak≡1 @S122) + Sàn-3 (tiep.md:27-34) + Sàn-5 (session-end.md:70-96). - Numbered:
docs/HANDOFF.md:7(mega-line, segment hiện-hành): "NEXT anh:** (1) UAT script lũy-kế… (2) UAT freeze-NS… (3) ⚑ D1… (4) hook-cap… (5) ⚑ DP-2… (6) ⚑ DP-5…" — mỗi khoản kèm[carry:<slug>].
3.4 K1 — read-zones 5 script đo (bề-mặt-đo)
| Script | Vùng ĐỌC | Evidence |
|---|---|---|
measure-agent-memory.ps1 |
.claude/agent-memory/*/MEMORY.md + archive/*.md |
:5 ($Root) + :10-19 |
memory-archive-gate.ps1 |
.claude/agent-memory/** (MEMORY.md, memory-budget.json, .archive-strikes.json, archive/_INDEX.md) |
:36-38, :106-111, :247-252 |
mfe-eval.ps1 |
budget.json + .claude/governance/ACTIVE-MARKS.md + docs/governance/error-ledger.md + docs/gotchas.md + .claude/agents/*.md + agent-memory/<role>/MEMORY.md; GHI .claude/agent-memory/.mfe-state.json |
:42-52, :220, :241 + erratum-report lỗ#6 |
crystallized-backfill.ps1 |
agent-memory + budget.json + hotload set {docs/STATUS.md · docs/HANDOFF.md · CLAUDE.md(?) · docs/changelog/migration-todos.md} |
:54-57 + default-hotload block (sed :60-110 → :15-18) |
nhip-no-probe.ps1 |
.claude/governance/.session-counter.json + budget.json + agent-memory/*/MEMORY.md + workflows/runs/*/run.md |
:61-62, :107-110, :126-129 |
- Union bề-mặt-đo:
.claude/agent-memory/**+.claude/governance/{.session-counter.json, ACTIVE-MARKS.md}+docs/{STATUS,HANDOFF,gotchas}.md+docs/governance/error-ledger.md+docs/changelog/migration-todos.md+.claude/agents/*.md+.claude/workflows/runs/*/run.md. - WAL.md KHÔNG nằm trong vùng đọc của cả 5 → ngoại-lệ WAL của hub áp thẳng, đúng bản-chất SE luôn.
- Ca nội-tại đáng khai:
mfe-eval.ps1vừa ĐO vừa GHI.mfe-state.jsonvào agent-memory root (vùng script khác đo — nhưng dotfile root KHÔNG nằm trong tập đếm của measure/archive-gate [chỉ enumerate -Directory + MEMORY.md/archive] → benign; khai thành ngoại-lệ "bộ-đo tự ghi state" trong câu luật). - Race THẬT của SE: thứ-tự §L.b = (c) ĐO trước → (d) flush agent-memory SAU → sequential single-writer nên không đè-giữa-lúc-đo; exposure = sub background return giữa closeout (hiếm). Bài S135 UNION-window cùng họ (detector closeout đo per-label window vì wal-flush dời delta).
3.5 K2 — cite path:line hiện-trạng + volume
governance-detectors.ps1:17-18— C1 CHỈ có (a) gotcha-ref (b) dangling wikilink. 0 resolverpath:line. Suite hiện: C1(a,b)/C2-B3/C3/C4/H24-1/H24-2/H24-3 (+H25 fold) —TOTAL FLAGSprint:1122; baseline repo = 45 (STATUS.md:465 S137 "TOTAL 46→45").- Volume: 291 occurrence cite-shape (lệnh §7.4) = docs/governance 276 (adap-reports 90 + rest 186) + commands 10 + agents 5.
- Helper sẵn:
Test-Quoted(:598— SHARED H24-1/H24-3, enclosure use⟂mention) +Test-ExcludedC4 (:113) + fence-tracking đã có tiền-lệ trong H24 matchers. - Honest-limit khai trước: 2-nấc bắt GÃY-CỨNG (file mất / line>EOF); KHÔNG bắt TRÔI-MỀM trong-EOF (class S108 cite-drift ±1-2 vẫn lọt — hub cùng giới-hạn).
3.6 K3 — sweep câu hứa-máy (ĐÃ CHẠY, kết quả RỖNG)
Grep rộng (lệnh §7.5) ngoài lineage → đúng 3 hit, cả 3 trace mã thật:
session-end.md:103"carry-age detector đo streak" →governance-detectors.ps1H24-2 (:24-26). REAL.tiep.md:70"máy bắt được" (dạng-1) → block bash DUAL-ACCEPTtiep.md:41-53+ close-gatesession-end §L.b(f). REAL.tiep.md:73"máy bắt được ngay" (tái-sinh dạng-3) → cùng block (dạng-3 đã gỡ ⇒ run.md-only → ORPHAN flag). REAL. Phụ:session-start.md:206"H24-2 fail-loud nếu key thiếu" → real (config-key check). ⇒ 0 câu hứa-máy không mã — candidate-list (a)implement/(b)hạ-chữ = RỖNG, trình anh đúng 1 dòng kết-quả.
3.7 K4 — luật lớp-từ SE hiện có
- G-011 nấc agreed/executed/verified + "🔴 KHÔNG tự khai
verified" — usage khắp adap-reports (vd vòng-5:17+:100); surprise: 0 định-nghĩa canonical trong SE (grep G-011 ngoài adap-reports = 0 hit; error-ledger + engine đều không có) = hub-convention import ngầm. - Measured-label gate
reviewer.md:46— hạn-chế nhãn đo-lường + 3 lối thoát. - Practice attribution-cạnh-verb ĐÃ tự nhiên: mọi verb-durable đều kèm
anh chốt "…"/anh-confirm S<nn>/RC-…(vd ACTIVE-MARKS:34"✅ RESOLVED @S130 (anh confirm qua AskUserQuestion…)"; budget_owner_override_notequote nguyên văn lời anh S129). - Không có scanner lớp-từ → ranh máy-kiểm = n-a phần máy; ghi NGUYÊN-TẮC 1 câu (nếu mai port scanner → Test-Quoted BẮT BUỘC vì mọi doc mô tả luật này đều chứa verb-durable).
3.8 K5 — pending-flip: cặp SE + 2 ca THẬT
- Cặp: {token chờ trong
docs/HANDOFF.md(+docs/STATUS.md) ⟷ sổ chữ-ký.claude/governance/ACTIVE-MARKS.md(RC-stamps + chú-thích RESOLVED)}. - Ca thật #1 (mark-carry): ACTIVE-MARKS
:33-34— câu treo "treo cho anh quyết: mark MỚI hay chú-thích đủ?" sống S123→S129 chỉ trong history; "✅ RESOLVED @S130 … near-miss lớp-4 'trạng-thái cũ như chân-lý' — bắt @S129 bằng grep-đĩa, đóng @S130". - Ca thật #2 (S137): HANDOFF "2 đề-xuất S131 CHỜ GẬT (wire tick H24 vào /tiep + light-run owner-triggered)" trong khi CẢ HAI đã actioned (tiep.md §2.5 tick ĐÃ wire + light-run ĐÃ chạy S137) — H24
lead-view-auditorFLAGview-stale-status, FIXED cùng phiên (session-log S135-S137:11; STATUS:465). Token cũ còn ở segment lineageHANDOFF:15/:19(frozen Prev — minh-hoạ dương-giả nếu detector quét cả file). - Volume token: HANDOFF = 7 dòng mang
CHỜ GẬT|CHỜ ANH|chờ anh, STATUS = 14 dòng (đa số lineage). - Honest-limit: class ca#2 (đề-xuất → landed-in-CODE, không mark) KHÔNG máy-hoá được bằng cặp này (nguồn-resolve = nội-dung file đích tuỳ-ý) → vẫn thuộc H24 mắt-người; máy chỉ ăn class ca#1 (mark-adjacent).
3.9 K6 — hai kỷ-luật đo
- 6.1: memory-triple 3 dòng COMMITTED —
docs/changelog/sessions/2026-07-17-S135-S137-adap-khung-nhip-nam-vong.md:25-28(do=measure exit 0 · de-xuat=archive-gate DRY exit 0 · kiem=mfe GOODHART-WARN 21→23)..mfe-state.json= tracked (strikes persist trong git — erratum lỗ#6). Detector-TOTAL + nhịp-nợ chỉ nằm narrative/commit-msg (7760cdf"TOTAL 46->45") — có vết de-facto nhưng KHÔNG luật. - 6.2: practice đúng sẵn: sleep-baseline "baseline 17-07 ≈183KB/5 file — đo TƯƠI (Get-Item).Length CẤM Get-Content (E-010)" (
session-start.md:131+session-end.md:56+ HANDOFF:7 số sống 183.054B) · TOTAL 46→45 đo trước-sau cùng commit · RAG 2441 re-verify live S126 (STATUS row). E-010 sẵn ởerror-ledger.md(:35/:57/:72AS-14). GAP = chưa có câu luật TỔNG-QUÁT "re-base = đọc số sống lúc ghi, kể cả từ ghi-chú của chính mình".
§4 — SPEC-PROPOSAL 3-mục (PROPOSE-ONLY — lead verify + ghi)
① Đề-bài
Adopt wave 3 bản AI_INFRA 17-07: (A) re-verify 2 delta bản đính-chính-kép — vá grounded vào câu cửa-duyệt reviewer.md:46 (landing-site thật) + ghi-nhận Δ2 SE-originated, KHÔNG adopt lại 2 bản gốc; (B) nâng 4 cửa vòng-đời phiên đạt 5 điểm sàn master-checklist HAI TẦNG — VIEW derive tươi từ WAL/STATUS/HANDOFF/ACTIVE-MARKS, CẤM file nguồn mới; (C) áp 5 quyết + 2 kỷ-luật đo: 1 câu đóng-băng-bề-mặt-đo, detector C6 cite-2-nấc, sweep hứa-máy (đã chạy = 0 unbacked, chỉ ghi-nhận), 1 câu ngoại-lệ relay-attribution, detector H24-4 pending-flip (scope mark-adjacent), +2 dòng do-record vào memory-triple, +1 câu luật re-base-số-sống. Add-only (§F4.1); số nhịp/cadence = 0 đổi (quyền anh); 2 detector mới = INFORM-only exit-0 nhất-quán suite.
② Cách implement per-khoản
(A1) Δ1 — reviewer.md:46: thêm grounded vào ngoặc nhãn: (measured/empirical/calibrated/grounded/đã-đo). 1-từ, em-main single-writer micro-edit (agent .md — restart note, nấc executed→verified-pending mirror E3). Adap-report bản-1 ghi kết-quả re-grep 5-nhãn (số ở §7.1-7.3, 0 hằng-số grounded) + Δ2 evidence SE-originated (outbox :20).
(B) Master-checklist — 4 file cửa, khối "CHECKLIST 2-TẦNG" chung 1 khuôn (VIEW-derive):
- Khuôn in (đặt tên vd
MASTER-CHECKLIST): Tầng-1 = mỗi arc 1 dòng {đóng·đang·chưa} (nguồn: STATUS Phase-line + Plan cha/con + WALgoal); Tầng-2 = 4 nhóm: xong (WAL[x]+ Recently-Done phiên này) · đang-dở + breakdown (WAL[!]+ chain evidence: đã-xong-gì/đang-giữa-gì/còn-gì) · chờ-anh — LUÔN ĐÁNH SỐ (HANDOFF NEXT-anh numbered + ⚑ pending-decisions + mark treo ACTIVE-MARKS) · chưa-làm/hẹn-cuối-phiên (WAL[ ]+ NEXT-em, tách từng khoản). session-start.mdPhase 3: nâng template REPORT — thêm khối Tầng-2 4-nhóm (work-state §2.1.5 giữ nguyên, REPORT trỏ nó làm nguồn; nhóm chờ-anh BẮT BUỘC đánh số).session-end.mdPhase 4: thêm "TỔNG-HỢP CHỐT": arc nào ĐÓNG trong phiên + MỌI mục chưa-đóng → chỉ đích nơi đổ (carry-slug HANDOFF / WAL-line / STATUS-row) — khép sàn-4 bằng câu tường-minh; +1 dòng luật-hoá sàn-5 tại §L.b(j)(iv): "khối chờ-anh trong HANDOFF LUÔN đánh số (owner trả lời bằng số)".pause.mdbước 5: +ý-6 "in MASTER-CHECKLIST rút-gọn (Tầng-1 + đếm 4-nhóm + liệt chờ-anh đánh số) — derive từ WAL vừa ghi + HANDOFF, KHÔNG file mới".tiep.md§3-bis (sau ground-truth-thắng): "in MASTER-CHECKLIST cập-nhật từ WAL đã reconcile (cái vừa xong · vẫn treo · chờ-anh đánh số)".- 🔴 CẤM tạo
checklist.md— ghi thẳng câu cấm vào khuôn (sàn-3). FORM tự-do, giữ ngắn (WAL ≤40 dòng không đổi — khối in là OUTPUT chat, không ghi file).
(C1) Đóng-băng bề-mặt-đo — 2 câu: session-end.md §L.b(c) đầu khối: "Từ lúc chạy script đo đầu-tiên của khối (c) tới verdict cuối: KHÔNG ghi vào bề-mặt-đo (.claude/agent-memory/** + counter/MARKS + STATUS/HANDOFF/gotchas/error-ledger/migration-todos + agents/*.md + runs/*/run.md — union §3.4 sub-MD này); ghi phát sinh xếp hàng SAU verdict. Ngoại-lệ: .claude/WAL.md (ngoài bề-mặt-đo cả 5 script) + state-write của chính bộ-đo (.mfe-state.json)." Mirror 1 câu ngắn ở session-start.md §2.1.2. Text-only, 0 đổi thứ-tự khối.
(C2) Detector C6 cite-2-nấc (governance-detectors.ps1):
- Scope:
docs/governance/*.md(top-level, EXCLUDEadap-reports/dir-level = lineage 90 occ) +.claude/commands/*.md+.claude/agents/*.md. Regex([A-Za-z0-9_/.\-]+\.(?:md|ps1|js|cs|tsx?)):(\d+). - 2 nấc: (i) resolve path (repo-rel + thử vài root quen: repo-root,
.claude/,docs/) → file KHÔNG tồn tại = FLAG MEDcite-dead-file; (ii) tồn tại → đếm line (ReadAllLines.Length) → line > EOF = FLAG MEDcite-line-past-eof. - 3 loại-trừ: (a) trong code-fence (tracker ``` state) + inline-backtick (
Test-Quoted— matcher prose ⇒ BẮT BUỘC, luật S123); (b) dòng lineage: dir-exclude adap-reports + line có marker đóng-băng (🧊) — KHAI THẲNG phần lineage ngoài 2 proxy này chấp-nhận dương-giả đầu, tune sau first-run; (c) self-def: đăng-ký C4Test-Excludedcho chính detector + file spec/sub-MD run này. - Nấc: INFORM-only exit-0 (suite convention); first-run = báo count, KHÔNG fold TOTAL baseline cho tới sau fault-inject + triage (tránh Goodhart "flag giảm").
- Fault-inject (cây tạm
-RepoRoot): cite gãy-file-giả → FLAG · cite đúng (file+line hợp-lệ) → IM · cite trong fence → IM · cite line>EOF file thật → FLAG · cite trong backtick → IM · anti-Goodhart: 2 cite cùng dòng (1 đúng 1 gãy) → FLAG đúng 1. - Khai giới-hạn ngay header: KHÔNG bắt trôi-mềm trong-EOF (S108 ±1-2).
(C3) K3: 0 code. Adap-report bản-3 ghi bảng 3-câu-3-mã (§3.6) + verdict RỖNG. (Optional owner-gated: +1 câu cửa-duyệt reviewer "diff thêm câu hứa-máy-quét? → mã nào làm?" — trình anh, không tự thêm.)
(C4) K4 — 1 câu nguyên-tắc, đề-xuất nhà = docs/rules.md §6.6 (cluster quyết-định khách-quan): "Thuật-lại quyết-định owner mang verb-durable (vĩnh-viễn/đóng-hẳn/bỏ-hẳn) = hợp-lệ KHI VÀ CHỈ KHI attribution tường-minh NGAY CẠNH verb (anh-chốt/anh-confirm/RC-mã/quote nguyên văn); verb-durable trần = tự-phán. Ranh máy-kiểm (khi nào port scanner): token-attribution cùng dòng, matcher PHẢI Test-Quoted." Alt-nhà: error-ledger Active-Guards — lead trình anh chọn.
(C5) Detector H24-4 pending-flip (governance-detectors.ps1):
- Nguồn A:
docs/HANDOFF.mdsegment HIỆN-HÀNH ONLY (từ đầu file tới trước matchPrev Sđầu-tiên — L15/L19 lineage = biết-trượt case phải IM) +docs/STATUS.md§In-Progress. - Token chờ (build code-point, gotcha #30):
CHỜ GẬT|CHỜ ANHcó mã RC-RC-pqhuy1987-…hoặc slug mark cạnh (cùng đoạn-logic). - Nguồn B:
ACTIVE-MARKS.md— mã RC đó ĐÃ stamped (row bảng Active/Active-High) hoặc có chú-thích✅ RESOLVED→ dòng nguồn-A vẫn "CHỜ" = FLAG MEDpending-flip-stale. - Biết-trượt (cây tạm): hàng giả "CHỜ GẬT RC-fake…" + mark RC-fake stamped → FLAG · mark 📦 SUPERSEDED → IM · token cạnh mã RC-khác CHƯA stamp → IM · token trong backtick/fence (mô tả — chính spec này!) → IM (
Test-QuotedBẮT BUỘC — file đề-xuất ĐANG mô tả token chờ = tự-quy-chiếu, khai trước per luật S123) · quét segment lineage → 0 flag (dir/segment-guard có răng). - Live đầu: kỳ-vọng 0 flag (segment hiện-hành không hàng treo mark-adjacent) — giá-trị ở phiên tới, mirror hub khoản 5.
- Khai thẳng: class S137 (đề-xuất-landed-in-code) NGOÀI tầm máy → GIỮ H24 view-audit mắt-người theo nhịp (không thay).
(C6) K6 — 2 mảnh nhỏ: (i) session-end.md Item 3-bis: +2 dòng khuôn do-record: governance-detectors TOTAL=<n> + do-record: nhip-no=<dòng 3-vế> vào cùng khối memory-triple (0 script mới, 0 file mới — session-log đã committed). (ii) +1 câu luật re-base, đề-xuất nhà = error-ledger Active-Guards (generalize E-010): "Re-base baseline = chốt số SỐNG tại lúc re-base: mọi số vào sổ đọc lại từ nguồn sống tại thời-điểm ghi (CẤM chép từ ghi-chú/phiên trước — kể cả ghi-chú của chính mình); byte = (Get-Item).Length (E-010)."
③ Checklist thi-công (vai + deliverable + acceptance ĐO ĐƯỢC)
| # | Vai | Deliverable | Acceptance (đo được) |
|---|---|---|---|
| L1 | worker lane-1 (4 file cửa: session-start.md + session-end.md + pause.md + tiep.md) |
Khối MASTER-CHECKLIST 4 cửa + 2 câu đóng-băng + 2 dòng do-record + 1 dòng luật-số sàn-5 + câu cấm nguồn-đôi | grep anchor khối mới hiện đủ 4 file (4/4) · find -iname "*checklist*.md" delta = 0 file mới · dry-run đọc-khuôn: liệt được 4-nhóm từ WAL/HANDOFF THẬT hiện-tại (chờ-anh ≥1 mục có số) · 0 đổi số nhịp/cap (diff không chạm con-số config) |
| L2 | worker lane-2 (scripts/governance-detectors.ps1 ONLY) |
+C6 cite-2-nấc + H24-4 pending-flip + đăng-ký Test-Excluded + gọi Test-Quoted cả 2 matcher | fault-inject cây tạm: C6 6-ca (§②C2) đúng 6/6 · H24-4 5-ca (§②C5) đúng 5/5 · live-run: H24-4 = 0 flag / C6 = báo count first-run (KHÔNG fold baseline) · exit-code = 0 · script ASCII-only (gotcha #30) · suite cũ 0 flag mới (before/after comm = chỉ dòng detector mới) |
| L3 | reviewer (gate riêng — Harness-9 2-workflow) | Falsify acceptance L1/L2 + kiểm add-only-floor + kiểm Test-Quoted coverage MỌI matcher prose trong diff (luật S123) + measured-label gate trên mọi con-số mới | Re-run độc-lập fault-inject byte-exact · xác nhận 0 floor hạ · verdict GO/GO-WITH-FIXES |
| EM | em-main single-writer | reviewer.md:46 +grounded (restart-note) · rules §6.6/error-ledger +2 câu luật (C4+C6ii — trình anh chọn nhà) · adap-reports ×3 + email hub + STATUS/HANDOFF |
grep grounded reviewer.md:46 = 1 hit · adap-reports 3 file 5-trường · nấc G-011 đúng từng hành-động (KHÔNG tự khai verified) |
Owner-gated (trình anh, KHÔNG tự quyết): nhà của 2 câu luật (rules §6.6 vs error-ledger) · optional câu cửa-duyệt hứa-máy · fold C6 vào TOTAL baseline sau triage · mọi wording luật.
Lane-estimate hmw: ≤3 lane (L1 commands 4-file ⟂ L2 detector 1-file ⟂ L3 review) — file-disjoint hoàn-toàn; micro-edits để em-main.
§5 — Surprises (ngoài câu hỏi chính)
reviewer.md:46= bản chép LỖI-4-NHÃN của hub vào luật sống — Δ1 không chỉ là "re-grep xong" mà có site vá thật trong SE.- G-011 không có nhà canonical trong SE — nấc-ladder dùng ở mọi adap-report nhưng 0 định-nghĩa on-disk (hub-convention import ngầm). Đáng 1 dòng trỏ trong error-ledger (owner quyết).
- Sweep hứa-máy = 0 unbacked — hiếm; SE quen cite thẳng tên script thay vì hứa "máy sẽ".
mfe-eval.ps1vừa đo vừa ghi vào vùng-họ-đo (.mfe-state.jsontrong agent-memory) — benign vì dotfile ngoài tập đếm, nhưng đúng hình bệnh K1 → khai thành ngoại-lệ tường-minh trong câu luật.- HANDOFF L15/L19 còn "CHỜ GẬT" lineage của việc đã đóng — nếu H24-4 quét cả file thay vì current-segment = 2 dương-giả ngay ngày đầu (đưa vào biết-trượt case).
§6 — Phân-nấc gộp
- already-compliant: Δ2 (SE-originated) · sàn-3/4/5 bản-2 · K3 (by-sweep) · K6.2-practice · K7.
- cần-implement: khối checklist 4 cửa (sàn-1/2) · C6 cite-2-nấc · H24-4 pending-flip.
- cần-implement-NHẸ (text-only): Δ1 reviewer:46 · K1 2-câu · K4 1-câu · K6.1 +2-dòng · K6.2 +1-câu · sàn-5 luật-hoá 1-dòng.
- n-a: K4 phần máy (0 scanner lớp-từ) · K5 class đề-xuất-landed-in-code (ngoài tầm máy — giữ H24 mắt-người) · bản-2 n-a-clause (SE CÓ phiên/carry) · Δ2 phần sửa-lệnh (0 standing check dùng ext-filter).
§7 — Lệnh + số đã chạy (checklist-evidence)
Grep grounded scripts/= 0 ·Grep grounded .claude/= 10 occ / 9 file (toàn archive+runs lineage) ·Grep grounded docs/= 8 (toàn prose/verb) · budget.json + hmw.js = 0.grep -n "measured" .claude/agents/reviewer.md→:46=(measured/empirical/calibrated/đã-đo)— 4 nhãn, thiếu grounded.- Δ2: outbox
2026-07-16-se-to-ai_infra-adap-2-errata-report.md:20= "13 dương-giả (12 .docx + 1 .xlsx)";agent-frontmatter-eol-check.ps1:253-257scope 3-glob MD,:135+byte-CR — 0 ext-filter. - Cite volume:
grep -rEo '[A-Za-z0-9_/.-]+\.(md|ps1|js|cs|tsx?):[0-9]+' <dir> | wc -l→ docs/governance=276 (adap-reports=90, rest=186) · commands=10 · agents=5 → tổng 291. - Promise-sweep: grep rộng
máy (sẽ|tự)?(quét|bắt|so|kiểm|…)3 dir ngoài lineage → 3 hit / 3 traced (session-end:103 · tiep:70 · tiep:73). - memory-triple:
grep -rn memory-triple docs/changelog/sessions/→ 3 dòng tại2026-07-17-S135-S137…:26-28(committed). - Pending-token:
grep -c "CHỜ GẬT\|CHỜ ANH\|chờ anh"→ HANDOFF=7 dòng · STATUS=14 dòng (đa lineage); perl-window xác nhận L15/L19 = "2 đề-xuất S131 CHỜ GẬT" (đã-actioned — ca S137). - Nguồn-đôi:
find -iname "*checklist*.md"→ 2 hit, 0 nguồn-đôi trạng-thái-việc. - NEXT-anh numbered: perl-window HANDOFF L7 → (1)…(6) +
[carry:]mỗi khoản; L11 numbered tương-tự. - Detector inventory:
governance-detectors.ps1:14-26= C2/C1(a,b)/C3/C4/H24-1/2/3;:1122TOTAL print; baseline 45 (STATUS:465 "TOTAL 46→45" S137).Test-Quoted :598·Test-Excluded :113. - Read-zones 5 script: file:line ở §3.4.
- E-010:
error-ledger.md:35/:57/:72(AS-14).