Files
solution-erp/docs/governance/adap-reports/2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do.md

101 lines
18 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# adap-report — 2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do
> SISTER = SOLUTION_ERP (self = se). Report-format LOCK (5 trường). Broadcast bản thứ năm của vòng tự-bảo-trì: **sàn-sự-thật cho nhãn "đã-đo"** (content_sha256 `190c11ba2bc03fee01cdcad09afeac1a311aca085099c25cccb8967b4a26e3cb`). Bản này ĐỨNG TRÊN bản "Phương-pháp đếm token" (`e0bb5bbf…`) — bản đó kể con bệnh, bản này phát LUẬT + câu cửa-duyệt.
> Thực thi trong đợt adap 16-07 (run `2026-07-16-S127-adap-dot-16-07`, HMW-mode ON — investigator ground-truth wave-1 + workers thực thi + reviewer gate riêng). Nguồn kiểm-kê: `sub-investigator-2-spec-draft.md §VIỆC-4` (đã V1 lead 5/5). Chi-tiết thực-thi: `spec-execute-dot-16-07.md` item 7.
## 1. id-broadcast
`2026-07-16-Governance-vong-tu-bao-tri-thu-nam-san-su-that-nhan-da-do` (category: **Governance** · type: **new** · from: **ai_infra** · targets: **all-fit** · reviewer_gate broadcast: **GO** `wf_96616c03` · content_sha256 `190c11ba…`).
Con bệnh của hub: một hằng-số quy-đổi tự dán nhãn "đo thực-nghiệm" đã sống 42 phiên, mọi con mắt tin theo, cho tới khi một phép đo lại cho thấy nó sai gần gấp đôi — **cái nhãn "đã-đo" đã THAY THẾ cho việc đo**, và không bài kiểm nào đổi màu khi con số bị đổi. Luật mới của hub: mọi con số mang nhãn đo-lường (*measured / empirical / calibrated / grounded / đã-đo*) phải đi kèm **một bộ phản-chứng CHẠY ĐƯỢC** — hoặc data-point gốc + assert bao quanh (nổ khi ai đổi số mà không đo lại), hoặc một phép kiểm phủ-định (negative-control: nếu số là bịa thì nó TRƯỢT). Ba lối thoát tường-minh: gắn phản-chứng · khai miễn-trừ CÓ LÝ-DO nhìn thấy được · hoặc bỏ nhãn đo-lường đi.
## 2. nấc (G-011)
Báo cáo phủ ba hành-động con của "kiểm-kê nhãn đã-đo" tại SOLUTION_ERP. Nấc tách theo từng hành-động (no-fake §C5):
- **executed** — **4a (C1 hạ-nhãn `crystallized-backfill.ps1`)**: đã sửa file (comment-only, 0 behavior-change), script chạy exit-0 giữ nguyên dải baseline → nấc executed đầy đủ, runtime đã chứng behavior-neutral. Bằng chứng: **E2 wave-1** (§3).
- **executed → verified-pending** — **4c (câu cửa-duyệt measured-label vào `.claude/agents/reviewer.md:46`)**: đã sửa file, NHƯNG agent `.md` **không hot-reload** → chưa runtime-proven cho tới khi restart Claude Code + 1 spawn-test reviewer. Bằng chứng: **E3 wave-1** (§3). 🔴 KHÔNG tự khai `verified``verified` là do AI_INFRA `/adap-audit` chấm cross-repo.
- **executed (S129 2026-07-16 tối — anh chốt trực-tiếp, lối-thoát 3 dạng MẠNH)** — **4b (C2 `memory-budget.json` `measured_token_estimate`)**: anh chốt *"Bỏ luôn các trần, chỉ giữ trần cao nhất"* — mạnh hơn cả 2 option đề-xuất: bỏ nhãn bằng cách **BỎ HẲN FIELD**. Đã xoá `measured_token_estimate: 55000` + `_s112_remeasure_note` (verbatim archive tại proposals-file §DISPOSITION), giữ DUY-NHẤT `rounded_up_tokens: 100000` owner-reserve — mirror shape hub `_floor_reserve_tok` (1 số + lineage-in-note, đối-chiếu hub budget trước khi áp theo chỉ-thị "check-email để nắm thông tin"). 0 script consumer (grep re-verify S129) · JSON parse-check PASS · assert vùng-giữ (`_owner_ratified` + `_target_note`) nguyên-vẹn.
- **executed (S129 2026-07-16 tối — anh OK "thống nhất 1 cách với Hub")** — **nguồn hằng-số `memory-budget.json` `token_estimate`** (nơi định-nghĩa `/3.0` VN-diacritic): đã thêm đuôi provenance `(convention -- chua do tokenizer that tai SE; dinh-chinh 58f5afd8; real-N when it matters = harness Read-truncation notice per hub 'do token that' method, draft 2026-07-15, adopt-on-broadcast)` — "thống nhất 1 cách" = neo cùng method-letter hub; ask do-token của SE giữ MỞ tới khi letter land chính-thức. Mục (iv) disposition cùng proposals-file.
Tổng: **LUẬT + câu cửa-duyệt + 2 site `memory-budget.json` = executed** (câu cửa-duyệt vẫn verified-pending vì agent `.md` no hot-reload; 2 site áp **S129 2026-07-16 tối** theo lời-chốt TRỰC-TIẾP của anh trong phiên — nguyên-tắc "không đụng vùng owner-authority khi anh vắng" được giữ đúng: chỉ áp SAU khi anh trả lời. Disposition từng dòng: `runs/2026-07-16-S127-adap-dot-16-07/owner-gated-proposals-dot-16-07.md` §DISPOSITION).
## 3. evidence
**PROJECT-FIT = ADOPT (tailored).** SE có scripts đo-lường (`crystallized-backfill.ps1` / `mfe-eval.ps1` / `spawn-model-audit.ps1` / `wal-recovery-test.ps1`) + `memory-budget.json` chứa hằng-số → luật "nhãn đo phải kèm phản-chứng" áp được ngay.
### 3.1 Bảng kiểm-kê nhãn "đã-đo" (transcribe từ draft §VIỆC-4 — grep `calibrat|measured|empirical|đã-đo` toàn `scripts/*.ps1` + `hmw.js` + `memory-budget.json`)
| Ứng viên | Đĩa nói (trước xử-lý) | Phân loại + xử-lý |
|---|---|---|
| **C1** `scripts/crystallized-backfill.ps1:117` (+ header `:25` "CALIBRATED RANGE") | `# calibrated RANGE (invariant 4): tok_low = bytes/4, tok_high = bytes/3.0``:118-119` hardcode `/4.0`, `/3.0`; KHÔNG assert, KHÔNG negative-control, KHÔNG data-point gốc | ✓ Khớp con bệnh — nhãn sống bằng uy-tín. **→ ĐÃ hạ-nhãn** (lối-thoát 3 "bỏ nhãn đo-lường"): `calibrated``heuristic`, comment-only, 0 đổi hành-vi. Bằng chứng E2. |
| **C2** `memory-budget.json:89` `"measured_token_estimate": 55000` | TÊN field mang chữ "measured"; note `:90` tự khai "**honest mid estimate** (~19K byte-measured + ~36K harness-injected-**est**)"; `_owner_override_note` khai "**NOT actively subtracted by the current scripts**" = **0 consumer tự-động** | ✓ Khớp con bệnh — **metadata giàu ≠ phản-chứng**. Field giàu siêu-dữ-liệu nhưng không có phép kiểm nào làm nó TRƯỢT nếu sai. **→ EXECUTED S129** — anh chốt lối thứ 3 mạnh hơn: BỎ FIELD (*"bỏ luôn các trần, chỉ giữ trần cao nhất"*), giữ duy-nhất `rounded_up_tokens` 100K owner-reserve, hub-shape 1-số-floor. (Cite `:89` trong cột đầu = vị-trí TRƯỚC xử-lý.) |
| **Ứng viên độc-lập thứ 3?** | **KHÔNG có hằng-số mới.** `hmw.js` = 0-hit. Các "MEASURED" khác đều đo-live-mỗi-run hoặc probe-có-artifact (xem 3.3) | **Sweep XONG — 0 ứng viên độc-lập thứ 3.** |
| Borderline (cùng-lớp, ghi nhận) | (a) `memory-budget.json:144` section `measured` = snapshot S107 stale-by-design NHƯNG 0 automated consumer (đã ignore chủ-động — Việc 3 loop 5). (b) `memory-budget.json:65` `token_estimate` "VN-diacritic ~3.0-3.5 byte/tok" = NGUỒN của `/3.0`, không provenance | (a) OK-by-architecture (snapshot visible). (b) xử cùng lớp C1 → **EXECUTED S129** — đuôi provenance đã vào (anh OK, "thống nhất 1 cách với Hub" = neo method-letter do-token). |
**Honest scope-caveat:** sweep phủ đúng scope spec (`scripts/*.ps1` + `hmw.js` + `memory-budget.json`). KHÔNG quét văn-xuôi `docs/` — hub bản thứ năm §5 cũng đóng lối văn-xuôi (đo thử thấy gần như toàn cảnh-báo-giả).
### 3.2 Diff wave-1 đã áp + verify PASTE thật
**E2 — 4a: `scripts/crystallized-backfill.ps1` hạ-nhãn (2 comment, code `:118-119` GIỮ nguyên):**
- `:25` sau: `# (4) HEURISTIC RANGE (convention, NOT measured): token headroom is a RANGE [bytes/4 .. bytes/3.0], NOT the`
- `:117` sau: `# heuristic RANGE (invariant 4): divisors = convention char/4 + VN ~3.0-3.5 byte/tok -- CHUA do tokenizer that tai SE (see dinh-chinh letter 58f5afd8 2026-07-16). tok_low = optimistic (bytes/4), tok_high = worst (bytes/3.0)`
- Verify (PS 5.1, pure-ASCII giữ đúng gotcha #30):
```
PS> Select-String -Path scripts\crystallized-backfill.ps1 -Pattern "calibrat" -CaseSensitive:$false
(0 hit)
PS> powershell.exe -ExecutionPolicy Bypass -File scripts\crystallized-backfill.ps1
exit 0 · output giữ dòng "tok RANGE [low..high]" · dải baseline [118424 .. 157898] == C-đo (không đổi hành-vi)
```
**E3 — 4c: `.claude/agents/reviewer.md:46` câu cửa-duyệt measured-label (sau §"Apply 5-category checklist"):**
- `:46` (nội dung): `**Measured-label gate (sàn-sự-thật 190c11ba):** diff chứa con-số mang nhãn đo-lường (measured/empirical/calibrated/đã-đo)? → hỏi: "phép kiểm nào khiến con số này TRƯỢT nếu nó sai?" Không trả lời được → yêu cầu 1 trong 3: phản-chứng chạy được · miễn-trừ lý-do visible · bỏ nhãn.`
- Verify:
```
PS> Select-String -Path .claude\agents\reviewer.md -Pattern "TRƯỢT"
.claude\agents\reviewer.md:46: ...phép kiểm nào khiến con số này TRƯỢT nếu nó sai?... (≥1 hit)
```
- Nấc: **verified-pending** — agent `.md` không hot-reload; runtime-proof chờ restart + spawn-test reviewer.
### 3.3 Positive-exemplars SẴN của SE (SE đã có "măng đúng-nghĩa" trước broadcast — không phải zero-base)
- **Negative-control ĐÃ CHẠY:** thư đính-chính `broadcasts/outbox/ai_infra/2026-07-16-se-to-ai_infra-dinh-chinh-token-label-hash-verify.md` (`58f5afd8`, 2026-07-16) — chính SE đã tự đính-chính cái nhãn token sai trước khi hub phát luật; đây là hành-động "phát-hiện + sửa nhãn sai" đúng tinh-thần bản thứ năm.
- **Measured đúng-nghĩa (execute-and-measure per-run, KHÔNG snapshot đông-cứng):**
- `scripts/spawn-model-audit.ps1:22,33,45,59-60` — "MEASURED (this script really reads it, offline, from disk)"; probe H23-precedence S126 THẬT (2026-07-16); nhãn "not-measurable (ii)" đã FLIP sang "MEASURED" khi đo thật → nhãn phản-ứng với phép đo, không thay-thế nó.
- `scripts/wal-recovery-test.ps1:35,367-371` — oracle `EMPIRICAL` "declared, not hidden"; `ca1/ca2 EMPIRICAL` (measured, not asserted) vs `ca0/ca3 DEFINITIONAL` (khai rõ) — tự phân-biệt measured vs definitional trong chính output.
- **Borderline đã-né-đúng-cách:**
- `scripts/mfe-eval.ps1:176,180,266` — dùng cùng divisor `/4.0..-/3.0` NHƯNG in "Reported as a RANGE [bytes/4 .. bytes/3.0]" honest, KHÔNG dán nhãn `calibrated`; `:266` "(MEASURED, not target-then-force)" = computed-live per-run → **GIỮ nguyên** (không phải con bệnh).
- `scripts/memory-selfimprove-audit.ps1:283,304,322` — 3 site "calibration-interim" = **miễn-trừ VISIBLE sẵn** (in ra trong report, đúng lối-thoát 2 "khai miễn-trừ có lý-do nhìn thấy được") → GIỮ.
## 4. tailored-gì + skip-gì-vì-sao
- **FUNCTION-floor adopt:** (i) **LUẬT** "nhãn đo-lường phải đi kèm phép kiểm có thể làm nó TRƯỢT" — áp qua kiểm-kê + hạ-nhãn C1 + owner-gate C2. (ii) **Ba lối-thoát tường-minh** — SE dùng đủ cả ba: C1 = *bỏ nhãn* (hạ xuống `heuristic`); `memory-selfimprove-audit` calibration-interim = *miễn-trừ visible*; C2 = chờ anh chọn giữa *bỏ nhãn* (rename) và *miễn-trừ visible* (sibling note). (iii) **Câu hỏi cửa-duyệt** "phép kiểm nào khiến con số này TRƯỢT?" — port nguyên vào `reviewer.md:46` (E3). → Giữ đủ floor, KHÔNG hạ.
- **FORM tailored SE:** câu cửa-duyệt gắn vào checklist 5-category của `reviewer` (roster SE) thay vì máy-quét độc-lập; kiểm-kê chạy thủ-công qua investigator ground-truth wave-1 thay vì auto-scanner.
- **SKIP có chủ-đích (n-a phần tuỳ-chọn):** **máy quét cuối-phiên của hub KHÔNG port** — broadcast §4 tự khai "Máy quét là phần tuỳ chọn — **luật + câu hỏi cửa-duyệt mới là phần chuyển được** sang mọi dự-án", và §5 khai máy chỉ đo SỰ-CÓ-MẶT không đo SỰ-ĐÚNG (lưới đúng-sai vẫn là người-duyệt + mẫu-dương). SE đóng lối máy-quét văn-xuôi cùng lý-do hub (§5 — quét văn-xuôi cho gần-toàn cảnh-báo-giả). Chọn chuyển phần **chuyển-được** (luật + câu cửa-duyệt), bỏ phần **tuỳ-chọn** (scanner). Đây là project-fit skip theo đúng mandate broadcast, KHÔNG phải behind.
## 5. honest-caveat
- **(a) 4c verified-pending — chưa runtime-proven.** `.claude/agents/reviewer.md` không hot-reload; câu cửa-duyệt mới ở `:46` chỉ live sau khi restart Claude Code + 1 spawn-test reviewer thực-tế chạy qua nó. Nấc giữ `verified-pending`, KHÔNG khai `verified` (thuộc AI_INFRA `/adap-audit`).
- **(b) Văn-xuôi `docs/` ngoài scope sweep.** Kiểm-kê chỉ phủ `scripts/*.ps1` + `hmw.js` + `memory-budget.json`. Một nhãn "đã-đo" nằm trong prose tài-liệu sẽ KHÔNG bị bắt bởi đợt này — hub §5 cũng đóng chủ-đích lối văn-xuôi (đo thử thấy gần-toàn cảnh-báo-giả), nên đây là giới-hạn CÓ-CHỦ-ĐÍCH, không phải lỗ-hổng vô-tình.
- **(c) F11 — citation-trap gen-2 (S123):** câu cửa-duyệt ở `reviewer.md:46` **CHỨA CHÍNH các nhãn nó săn** (`measured/empirical/calibrated/đã-đo`) — đây là **mention-not-use** (nhắc tên marker để định-nghĩa luật, KHÔNG phải một hằng-số thật mang nhãn). Nếu mai sau SE port một **máy-quét khớp-mẫu tự-động**, dòng `:46` này sẽ tự-khớp và tự-flag chính nó (đúng bài citation-trap S123: doc định-nghĩa anti-pattern tất-yếu chứa mẫu đó). ⇒ Khi đó **BẮT BUỘC kèm exemption-note** cho `reviewer.md:46` (discriminator = enclosure use ⟂ mention), giống 3 site `calibration-interim` đã có miễn-trừ visible. Ghi trước ở đây để lần port scanner không tái con bệnh.
- **(d) OWNER-GATED — 2 quyết-định của anh (`owner-gated-proposals-dot-16-07.md`):** (ii) C2 `budget:89` lối-thoát rename `measured_token_estimate``token_floor_estimate` (sạch nhất, điều-kiện: grep toàn repo → nếu >1 ref thì update cùng commit; consumer script = 0 đã khai) **vs.** exemption-note sibling (ít-chạm). (iv) `budget:65` thêm đuôi provenance nguồn hằng-số `/3.0`. Cả hai cùng file `memory-budget.json` → gộp 1 lần anh trả lời. Worker CHƯA đụng 2 site này (an-toàn vùng owner-authority khi anh vắng).
## 6. Cập-nhật trạng-thái 2026-07-17 (append additive — wave khung-nhịp-năm-vòng S135; KHÔNG rewrite §1§5)
> Hai đính-chính trạng-thái, **ghi thêm** (không sửa dòng cũ — giữ lịch-sử). Nguồn: run `2026-07-17-S135-adap-khung-nhip-nam-vong`, LANE-C Item 6. Bối-cảnh mở khoá: bản **"Phương-pháp đếm token"** nay đã **PUBLISHED** (`content_sha256 e0bb5bbf`, bản `2026-07-15-Governance-phuong-phap-dem-token-tien-de-vong4`) — không còn là bản nháp / NO-GO — nên hai residual dưới đây khép lại được.
### (i) Đóng-ask do-token — ask KHÉP (lật trạng-thái §3.4 / dòng `:19`)
Dòng `:19` (**giữ nguyên làm lịch-sử**) khai *"ask do-token của SE **giữ MỞ** tới khi letter land chính-thức"*. **Trạng-thái nay đã LẬT (2026-07-17):** method-letter đã **published** (`e0bb5bbf`), nên ask do-token **KHÉP** đúng broadcast bản-thứ-năm mục **2a** (nhãn "đã-đo" phải neo nguồn **published / chạy-được**, không neo bản nháp). Hai site nguồn `memory-budget.json:65` (`token_estimate`) + `:90` (`_owner_override_note`) đã **thay anchor** từ bản-nháp-NO-GO sang bản `published …vong4 (e0bb5bbf)`, đồng-thời **hạ nhãn**: notice cắt-ngắn của Read = **cận-trên bảo-toàn** (heuristic ký-tự/2, đếm-thừa ~1.42× **KHÔNG cố-định**) — **KHÔNG** phải `real-N` / `đã-đo`; token thật nằm trong **DẢI** `[sàn char/4 .. trần notice]`. Bằng-chứng đo tại chỗ: kiểm `memory-budget.json` **hết sạch cụm anchor bản-nháp** (0 hit, baseline 2 site sống) · `grep-count "e0bb5bbf" memory-budget.json` = **2** · `ConvertFrom-Json` PASS · ASCII-không-dấu giữ nguyên. **Nấc: executed.** (Errata blameless kèm gửi hub: residual #1 của bản-thứ-năm đặt SAI landing-site — hub trỏ `crystallized-backfill.ps1` nhưng `git log -S` rỗng toàn lịch-sử ⇒ ps1 **NO-CHANGE**; 2 site thật là `budget:65/:90`, nay đã vá.)
### (ii) Flip-note 4c (câu cửa-duyệt `reviewer.md:46`) — nấc NẠP lên `executed-inferred` (🔴 KHÔNG phải `verified`)
§2 khai 4c = **executed → verified-pending** (agent `.md` **no hot-reload** ⇒ chờ restart + spawn-test reviewer). **Cập-nhật theo SUY-LUẬN (KHÔNG đo trực-tiếp):** điều-kiện runtime-proof **ĐÃ HỘI ĐỦ theo suy-luận**
> (a) commit S129 (`949ec33`-era, ~23:16) → các phiên **S130+ mở app mới** ⇒ restart **IMPLIED** (⚠️ **KHÔNG đo trực-tiếp** giờ khởi-động CLI);
> (b) `reviewer` **spawn thật ≥2 lần** (S133/S134) qua `/fable-real`, precommit-gate `wf_8bb5abee`;
> (c) corroborate S135: `/fable-real reviewer` **tự-quan-sát** persona của chính mình **có chứa dòng `:46`** câu cửa-duyệt — nhưng đây là **self-report, hedge** (sub tự khai, KHÔNG phải quan-trắc-viên độc-lập).
⇒ Nấc nâng `verified-pending`**`executed-inferred`**. 🔴 **Hai caveat GIỮ NGUYÊN (không xoá — S119 "giữ kết-luận thì giữ cả caveat"):** (1) "câu cửa-duyệt được **EXERCISE** trong một verdict thật" **chưa chứng riêng** (spawn-đi-qua persona ≠ nhánh-măng fire trên một diff mang nhãn); (2) nấc `verified` **vẫn thuộc AI_INFRA `/adap-audit`** cross-repo — SE **KHÔNG tự khai** `verified`.