wal: flush 20260726T1802
This commit is contained in:
@ -32,4 +32,65 @@ Lệnh: với mọi dir có `run.md`, đếm `find "$d" -maxdepth 2 -name "*synt
|
||||
|
||||
---
|
||||
|
||||
*(đang đo tiếp — các mục dưới land dần)*
|
||||
## B. ⭐ FLAG-1 (MED-HIGH) — 2 LƯỢT @close S153 MỒ-CÔI, chưa vào diary. **GAP-3 lớp-LƯỢT lần 7.**
|
||||
|
||||
> Đây là ca anti-pattern #1 kinh-điển: **role-level PASS mà file-level MISS.** `grep -c S153` = 1 cho cả `ring1-audit` lẫn `ring2-audit` ⇒ đo bằng tên vai sẽ đọc thành "đủ". Đo bằng FILE thì thủng.
|
||||
|
||||
### B.1 Chứng — mtime là chứng, lời khai không (anti-pattern #3)
|
||||
|
||||
| Lượt @close S153 | byte | mtime file | vs M9-flush 15:49:29 | vào diary? |
|
||||
|---|---|---|---|---|
|
||||
| `sub-tooling-auditor-close-S153.md` | 10.794 | 15:43:15 | TRƯỚC | ✅ (entry có `@close`) |
|
||||
| `sub-harvest-curator-close-S153.md` | 25.212 | 15:44:18 | TRƯỚC | ✅ |
|
||||
| `sub-lead-stale-close-S153.md` | 20.993 | 15:45:32 | TRƯỚC | ✅ |
|
||||
| `sub-lead-gap-close-S153.md` | 21.322 | 15:49:38 | +9 giây (kịp) | ✅ |
|
||||
| 🔴 `sub-ring2-close-S153.md` | **22.248** | **16:02:58** | **SAU 13 phút** | ❌ **KHÔNG** |
|
||||
| 🔴 `sub-ring1-close-S153.md` | **25.283** | **16:08:10** | **SAU 19 phút** | ❌ **KHÔNG** |
|
||||
|
||||
**Lệnh:** `stat -c%y` trên 6 sub-file + 6 `MEMORY.md` (cả 6 diary mtime **15:49:29** = 1 lần flush hàng-loạt).
|
||||
|
||||
### B.2 Chứng NỘI-DUNG (không chỉ mtime) — 2 entry chỉ nguồn từ bản @open
|
||||
|
||||
- `ring1-audit/MEMORY.md` tự khai nguồn: `nguồn = sub-ring1-S153.md 22.992B` = **file @open**. Nội-dung entry = *"28 ĐẠT / 4 TRƯỢT / 1 KHÔNG-CHẤM trên 33 claim"* — khớp END-line @open (`TOTAL=33 verdict-item`).
|
||||
- File @close `sub-ring1-close-S153.md` END-line = **`TOTAL=53 verdict-item`** — con số này **0 hit** trong diary.
|
||||
- `ring2-audit/MEMORY.md` nguồn `sub-ring2-S153.md`, nội-dung *"8/8 FLAG ĐẠT + 10 phép phụ"* = END-line @open (`TOTAL=18`). File @close END = **`TOTAL=27 verdict-item (6 FLAG + 21 phép phụ)`** — **0 hit** trong diary.
|
||||
|
||||
⇒ **47.531B / 80 verdict-item** kiến-thức @close của 2 vai KIỂM **chưa consolidate** vào `agent-memory/`.
|
||||
|
||||
### B.3 Root-cause (chỉ 1 chỗ, không phải bệnh vai)
|
||||
|
||||
**Thứ-tự nghi-thức, không phải quên vai:** M9 flush chạy **15:49:29** trong khi 2 lượt cuối của CHÍNH phiên đó land **16:02 / 16:08** — harvest-gate bắn **trước khi việc phiên xong**. Chính sổ H2 @close S153 (§D.3, ghi 15:44) đã cảnh báo đúng câu này: *"lead PHẢI đợi 2 lượt còn lại + END-line 4 file trước khi ghi synthesis"*. Cảnh báo ĐÚNG nhưng thứ-tự không đổi.
|
||||
|
||||
### B.4 Mức độ — MED-HIGH, **KHÔNG mất dữ-liệu**
|
||||
|
||||
2 file đã **committed + tracked** (`git status` sạch) ⇒ đây là **nợ consolidate**, không phải mất. Recover = APPEND từ 2 file có sẵn. **DEDUP an-toàn:** 2 diary có `TOTAL=53`/`TOTAL=27` = **0 hit** ⇒ APPEND KHÔNG double.
|
||||
|
||||
### B.5 Lịch-sử — GAP-3 lần 7
|
||||
|
||||
S123/S125→S132 · S146→S148 · S149-ring2 · S150-ring1 · S151-deep→S152 · **S152-DEEP-67KB→S153** · **nay S153-ring-close→S154**. Lần 6 (S152) là lớp-LƯỢT; lần này **cũng lớp-LƯỢT, cùng cơ-chế "vai chạy sau khi sổ đã chốt"**.
|
||||
|
||||
---
|
||||
|
||||
## C. Coverage — file-level 21 file / 3 run-folder S153 (KHÔNG đo bằng tên vai)
|
||||
|
||||
**Lệnh:** `ls -la` từng run-folder, lọc `sub-*.md` + `*-return.md`.
|
||||
|
||||
| Run-folder | file-lượt | vào diary |
|
||||
|---|---|---|
|
||||
| `S153-bookend-open` | 9 (6 `sub-*` + 3 `*-return.md`) | 9/9 ✅ |
|
||||
| `S153-ctx-adopt` | 6 file / 7 lượt (test-specialist 2 lane 1 file) | 6/6 ✅ |
|
||||
| `S153-bookend-close` | 6 | **4/6** ❌ (§B) |
|
||||
|
||||
⇒ **19/21 file-lượt đã harvest = 90,5%.** 2 thiếu = §B.
|
||||
|
||||
### C.1 Nợ S153 finding-1 (11 sổ 0-hit) — ✅ **ĐÓNG**
|
||||
|
||||
S153 @close flag 11 vai đã-chạy có `grep -c S153` = 0. Đo tươi nay: **16/16 vai đã-chạy đều có entry S153**, mtime 15:49:29. 7 vai còn 0 hit = **đúng, không chạy** (`cicd-monitor` 07-23 · `database-agent` 07-02 · `frontend-designer` 07-01 · `investigator-api` 07-25 · `office-document` 07-10 · `reviewer` 07-26T00:11 · `ring4-audit` 07-26T01:47) ⇒ **0 nợ, đừng seed**.
|
||||
|
||||
### C.2 m#15 stub⟂content — ĐỌC RUỘT 3 sổ ctx (brief yêu-cầu)
|
||||
|
||||
`ctx-audit` 3.288B · `ctx-curator` 2.940B · `ctx-verifier` 2.663B. Đọc TRỌN cả 3: **nội-dung THẬT, KHÔNG skeleton** — có đường-sinh (thư hub `0df10df4` → spec 9-task → T3/T10/T11), wire-point cụ-thể (`session-start` Phase 3.5(iii) · `tiep.md §3-ter`), 2 fix hậu-T4 (GAP-#9 gradient-thưởng-đường-SAI), kẽ-phải-khai, tag. Nhãn provenance đạt chuẩn m#17: *"seed on-behalf … mày CHƯA chạy lần nào"* + nấc thật *"file-land + registry-surfaced; spawn-probe ALIVE CHƯA CÓ (T9)"* ⇒ **chống ĐẠT-ảo đúng cách**.
|
||||
|
||||
---
|
||||
|
||||
*(đang đo tiếp)*
|
||||
|
||||
@ -14,3 +14,27 @@
|
||||
- **Lệch:** view nói **31**, source nói **53** — thiếu **22**, tức ~41% corpus không có trong con số canonical. Đơn-vị KHỚP (cùng phép đếm mà chính note dùng ở lần re-ground S71: file `feedback_*` + `project_*` trên đĩa), nên đây KHÔNG phải lệch-định-nghĩa mà là stale thật.
|
||||
- **Vì sao máy mù:** `Get-StatusValue` (detectors:204-208) chỉ map `{mig,table,gotcha,test,menu,policy}` → row `User memory` không có token, `[OK] canonical matches disk` không hề cross-check nó. Đây đúng lớp **canonical-poison** đã cắn ở S148 (row `Tests` 528 sai suốt 2 phiên) — nhưng lần này row NGOÀI tập cross-check nên không có ai bắt hộ.
|
||||
- **resolve:** row `:454` = 53 (hoặc chốt lại định-nghĩa đếm), + note ghi rõ lần re-ground S154; hết flag khi `Value` khớp `ls .claude/auto-memory/*.md | grep -v MEMORY.md | wc -l`.
|
||||
|
||||
---
|
||||
|
||||
## FLAG-2 — `view-residual-asym` — HIGH
|
||||
|
||||
- **view:** `.claude/agents/lead-stale-auditor.md:4` **VÀ** `.claude/agents/lead-gap-auditor.md:4` — frontmatter `description:` cả HAI file còn câu *"Chạy theo NHỊP (`h24_cadence`), KHÔNG mỗi phiên."*
|
||||
- **source (cùng file, phần thân):** `lead-stale-auditor.md:51` `## Nhịp — mày chạy **MỖI phiên, ở CẢ HAI bookend** (HÌNH B @S149)` + `:52` *"spawn **VÔ-ĐIỀU-KIỆN** … Không cửa-người nào phải mở, không bộ-đếm nào phải tới hạn"*; song song `lead-gap-auditor.md:44` + `:46`. Nghi-thức: `session-start §2.1.8(e)` + `session-end §L.b(j)(ii)`.
|
||||
- **Lệch:** view (description) nói cadence-GATED "KHÔNG mỗi phiên", source (thân cùng file + nghi-thức) nói VÔ-ĐIỀU-KIỆN mỗi bookend. **Một file, hai chỗ, nói ngược nhau** — bác được mà không cần ra khỏi file.
|
||||
- **Bằng-chứng sửa-một-phía (git, không suy đoán):** `git show 11db5ef -- .claude/agents/lead-stale-auditor.md` = **2 hunk, cả 2 nằm trong khối `## Nhịp`** (đổi tiêu-đề + thay dòng `light_every`/`deep_every`); `-- lead-gap-auditor.md` tương tự. **0 hunk chạm dòng 4.** Tức đợt vá M-1 @S153 (do `ring2-audit` thách-CLEAN bắt) sửa THÂN, bỏ MÔ-TẢ — dư-lượng đúng một phía, ×2 file.
|
||||
- **Vì sao HIGH (không phải cosmetic):** `description` là bề-mặt **định-tuyến** — harness nạp nó để quyết có spawn vai hay không, và chính thân file `:53` cảnh-báo đúng hại này (*"persona auto-inject ⇒ đọc đúng chữ rồi tự tính 'light chưa tới hạn ⇒ chưa tới lượt tao' — sai NGAY tại bookend"*). Vá M-1 mà chừa đúng bề-mặt gây hại ⇒ lỗ hổng vẫn sống, chỉ đổi chỗ trú.
|
||||
- **Tự-phê (điểm mù tự-quy-chiếu, bài M-1@S153):** đây là lượt đầu tao đưa `.claude/agents/lead-*-auditor.md` vào tập-đo theo đúng bài đã học — và nó ra ca THẬT ngay lượt đầu.
|
||||
- **resolve:** dòng `:4` của CẢ HAI file bỏ mệnh-đề "KHÔNG mỗi phiên", thay bằng "chạy MỖI phiên ở CẢ HAI bookend (hình B); `h24_cadence` chỉ còn cổng `deep_every`". Hết flag khi `grep -n "KHÔNG mỗi phiên" .claude/agents/lead-*-auditor.md` = 0 hit.
|
||||
|
||||
---
|
||||
|
||||
## FLAG-3 — `view-stale-status` — HIGH
|
||||
|
||||
- **view:** `docs/STATUS.md:457` — row canonical `| RAG chunks | **2447** | re-verify S151 (`list_projects` — **alive**, +6 vs S126's 2441; rerank **sống** `rerank_score` ~0.5 top-hit). Stale `last_indexed 05-29` …`. Trạng-thái duy nhất được khai trong ô = **alive/sống**.
|
||||
- **source-1 (CÙNG file, 14 dòng dưới):** `docs/STATUS.md:471` dòng State S153 — `… bundle FROZEN … · **RAG DOWN (defer AI_INFRA)** · prod 37 NCC/17 user.`
|
||||
- **source-2 (sổ owner-facing):** `docs/HANDOFF.md:7` khoản **(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?)"* — tức DOWN đủ nặng để thành **câu hỏi đang treo cho owner**.
|
||||
- **Lệch:** view nói dịch-vụ **alive + rerank sống**, source nói **DOWN (port 6333 refused)**. Con SỐ 2447 không sai (đó là số đo cuối cùng lúc còn sống) — cái sai là **nhãn trạng-thái chưa lật**, đúng chân-dung `view-stale-status`.
|
||||
- **Vì sao máy mù:** `RAG chunks` không nằm trong `$canonRows` (`governance-detectors.ps1:204-208` chỉ có mig/table/gotcha/test/menu/policy) ⇒ 0 cross-check; và không có detector nào ping port 6333.
|
||||
- **Rủi-ro cụ-thể:** ô CURRENT STATE là thứ `/tiep` nạp lại (`memory-budget.json → tiep_reload.sources[0]` = *"docs/STATUS.md :: dòng CURRENT + bảng CURRENT STATE"*) ⇒ phiên sau resume sẽ đọc "RAG alive" rồi lên kế-hoạch dùng RAG, trong khi port đang refused.
|
||||
- **resolve:** ô `:457` thêm nhãn trạng-thái sống (vd `2447 (đo S151) — 🔴 DOWN từ S153, xem HANDOFF (39)`), giữ nguyên số. Hết flag khi ô này và `:471`/HANDOFF (39) cùng nói một trạng-thái.
|
||||
|
||||
Reference in New Issue
Block a user