Ap spec-apply-hub-s145-v2 (5 axis, governance-only: 0 prod-code, 0 migration). Workflow S145 chet giua chung -> /tiep §4 relaunch-cat-gon wf_3d803740-41d 3/3 DONE. Owner-decision @S146: - session_ctx_kb = 64 TUONG-MINH (giu nguyen caveat ghost-wire: 0 reader) - session-model: scaffold IDEMPOTENT (tach cap-SO vs tao-THU-MUC) · closed.md WIRE (session-end §6.3-bis) · V2 AUTO (go cong NGUOI, GIU cong NHIP 6/15/3) Landed: C7 §N.8 predicate 4-ve · hook wal-flush.ps1 4 path (+.claude/sessions/) · San-3 tin-hieu ⑤ + ORPHAN-L · D2 KIEM end-only · §L.c completeness-gate co RANG. LIVE-VERIFY hook 4-path PASS repo THAT (da7ee8a). Session-model chay TRON VONG dau tien: pause-S146 -> resume-S146 -> ORPHAN-L can so. H24 force-fire (P=8 pause >= 1, luat auto moi): 2 vai + h24-audit -> 7 FLAG, va het: - sweep-consent sot 6 site (h24-audit.md:4 = frontmatter description) - closed.md wired-but-declared-unwired (ghost-wire CHIEU NGUOC) - owner-decision [7] BI GHI DE do tai-dung slot-index -> mat uy-quyen push 3/3 vai lane-H24 garble #53: ghi-dia-SOM cuu tron, ghi-MUON mat trang. So: orphan run-folder 3->0 · carry 14->20 (co tag [carry:*]) · +E-013 +E-014 error-ledger · +memory feedback_absence_looks_like_clean · .gitignore +lock file. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6.4 KiB
from, to, date, type, title, related, content_sha256, status, reviewer_gate
| from | to | date | type | title | related | content_sha256 | status | reviewer_gate |
|---|---|---|---|---|---|---|---|---|
| ai_infra | all | 2026-07-20 | update | Ba khoản hậu-đóng-phiên 20-07: (1) tầng title/masthead của chính doc bị sửa vào luật sweep · (2) luật chế-độ phải nằm ở file luật luôn-được-đọc · (3) đính chính ngữ-nghĩa 2 tham số distill-auto | b9e84fc2 (AUTO-toàn-vòng + distill-2-tầng, 20-07) · bd714a33 (H-20 fix-all-structure, 03-07) | 9353c5c8ba51a203dc22d356daf7744b60513c83dba7e5493ff567823ee37989 | PUBLISHED | PASS-W-FIXES (0C/0M/3m ALL-FOLDED s106 post-closeout · falsify 7/7-HELD) |
Ba khoản hậu-đóng-phiên 20-07 — để các project gặp lại khỏi hỏi
Ba khoản dưới đây đều vừa được chủ dự án chốt trong ngày 2026-07-20, ngay sau lần đóng phiên làm-việc gần nhất của hub. Cả ba đều thuộc loại "sister sớm muộn cũng gặp đúng tình huống này" — nên hub phát một lần, kèm phép thử nhanh. Tính chất: FYI + khung tự-áp — không bắt adopt; function giữ, form mỗi project tự quyết.
Khoản 1 — Tầng TITLE/MASTHEAD của CHÍNH doc bị sửa = bước sweep bắt buộc (mở rộng H-20)
Chuyện xảy ra ở hub: chuông recurrence (cùng một lớp lỗi lặp 3 phiên liền) fire lần đầu tiên trong đời hệ, và cả 3 ca đều cùng một hình: body doc đã sửa chuẩn theo rule mới, nhưng dòng-1 / tiêu-đề / masthead của CHÍNH doc đó vẫn nói điều cũ. Ca nặng nhất: doc policy về model mang tiêu-đề khai một model-line đã bị thay hai đời trước — nó sống sót qua hai lượt sweep liên tiếp.
Root-cause (đáng giá hơn cái lỗi): sweep kiểu "quét theo danh mục file được trỏ tới" sẽ quét mọi nơi TRỎ TỚI doc, nhưng không quét cách doc tự mô tả chính nó. Tiêu-đề là "view của doc về chính nó" — không nằm trong danh mục của ai cả, nên nó là tầng sống sót lâu nhất.
Fix đã vào luật hub (chủ dự án đồng ý 20-07): sau khi sửa body doc NÀO trong một lượt sweep → đọc lại dòng-1 + masthead của chính doc đó trước khi tuyên sweep xong. Một bước, vài giây, đóng đúng cái tầng hay sót nhất.
Phép thử nhanh cho sister: grep tiêu-đề (dòng # đầu) của các doc governance/policy đang active, đối chiếu với trạng-thái hiện-hành. Có doc nào tiêu-đề còn khai chế-độ/model/con-số đã bị supersede → cùng bệnh, sửa cùng cách.
Khoản 2 — Luật CHẾ-ĐỘ phải nằm ở FILE LUẬT luôn-được-đọc, không chỉ ở sổ ghi chi tiết
Chuyện xảy ra ở hub: chỉ-thị lớn của chủ dự án ("mọi vòng tự-bảo-trì chạy auto hoàn toàn — không nợ gì — đo thấy vượt là automation xử ngay") đã được ghi ĐẦY ĐỦ ở bốn chỗ vận hành: sổ lỗi (lineage đảo quyết-định cũ), bước máy nằm trong chính lệnh đóng-phiên, file config, và bản broadcast. Máy chạy đúng, không thiếu gì. Nhưng file luật gốc — thứ mỗi phiên mới đọc ĐẦU TIÊN — không có dòng nào. Nghĩa là phiên sau vẫn vận hành đúng chế-độ mà không biết mình đang ở chế-độ đó, trừ khi lần theo sổ chi tiết.
Bài học gọn: có hai câu hỏi rất dễ gộp làm một —
- implement-home: máy chạy ở đâu (wire/config/ledger) — hub đã đủ;
- discoverability-home: phiên mới NHÌN THẤY trạng-thái ở đâu — hub đã thiếu.
Chuẩn chủ dự án chốt (nguyên văn "chốt 1 ko nợ j cả"): chỉ-thị nào đổi hành vi mặc định của mọi phiên về sau (operating-posture) → thêm 1 dòng vào file luật luôn-được-load + bump masthead, kể cả khi mọi tầng wire đã đủ và máy đã chạy đúng. Giá ~5 phút, đảo ngược được; cái mua được là phiên nào mở ra cũng thấy ngay chế-độ đang hiệu lực.
Phép thử nhanh cho sister: liệt kê các chế-độ đang hiệu lực ở project mình (auto-mode, maintenance-mode, freeze nào đó...) rồi hỏi: file mà phiên mới đọc đầu tiên có nói điều này không? Không có → cùng lỗ hổng, vá bằng 1 dòng.
Khoản 3 — Đính chính ngữ-nghĩa 2 tham số distill-auto (liên quan bản b9e84fc2)
Bản 20-07 công bố cơ-chế distill-auto với config {min_pending_shards: 1 · bulk_note_shards: 10}. Đính chính để khỏi hiểu nhầm — hai số này đếm SỐ FILE lưu-trữ chưa-nén (shard chưa có bản gist), KHÔNG phải số con agent:
min_pending_shards: 1= ngưỡng kích hoạt: cuối phiên máy đếm, thấy ≥1 file chưa-nén là vòng nén tự chạy ngay trong lượt đóng-phiên — có 1 xử 1, có 30 xử 30 (đúng tinh thần zero-debt).bulk_note_shards: 10= ngưỡng báo-to: dồn quá 10 file (bất thường — bình thường mỗi phiên chỉ sinh 1-2) thì vẫn nén hết, chỉ in thêm cảnh báo cho chủ dự án biết backlog dồn. Không chặn gì, không đổi cách chạy.- Số con agent do flow nén tự chia theo khối lượng thực tế (phiên 20-07: 30 shard → 4 lượt gom + 1 cổng đối chiếu), không liên quan hai số trên.
Kể thật: ngay tại hub, lần đọc đầu-tiên cặp số này cũng bị hiểu nhầm thành "chạy 1 con / 10 con" — tức là khả năng đọc nhầm là thật, đã xảy ra 1 lần ngay ở chính nơi ra bản thiết-kế. Nếu port cơ-chế này: đặt tên biến mang đơn-vị rõ (ví dụ *_shards như trên, đừng rút gọn thành min/bulk trần), và ghi 1 dòng chú thích đơn-vị ngay cạnh số trong config.
Sister cần làm gì
Không bắt buộc gì. Ba việc tùy chọn, mỗi việc vài phút:
- Chạy phép thử khoản 1 (grep tiêu-đề doc governance vs hiện-hành).
- Chạy phép thử khoản 2 (chế-độ đang hiệu lực có mặt trong file-đọc-đầu-phiên chưa).
- Nếu đã/đang port distill-auto từ
b9e84fc2: rà lại tên biến + chú thích đơn-vị theo khoản 3.
Câu hỏi gửi về hub qua kênh email broadcasts như thường lệ.