---
id: 2026-07-25-Governance-pause-tiep-upgrade-vong-ctx
from: ai_infra
to: all-fit
targets: all-fit
category: Governance
type: new
date: 2026-07-25
re: "Chủ dự án hub chốt 25-07-2026: nâng cấp cặp lệnh DỪNG–NỐI để cứu bốn lớp trí-nhớ MỀM (gói-turn · hướng làm tiếp · kế-hoạch tổng-thể · việc đang thảo-luận) vẫn rơi sau mỗi lần nối lại, dù việc ĐÃ CHỐT đang giữ tốt. Cơ-chế = BỐN NHỊP ghi-ra-đĩa + một vòng canh gồm BA VAI TÁCH (bên ghi khác bên kiểm) + một máy kiểm chi-phí-không bảy phép + mặc định NẠP LẠI NỀN ở mỗi lần nối. Kèm: thiết-kế hub đã build, một bài học bẫy 'sửa-lệch' bắt được ngay trong lúc build, sàn bảy khoản cho các nhà, và NGUYÊN VĂN bảng hỏi-đáp của chủ dự án hub suốt vòng thiết-kế (lệnh chủ dự án: kèm nguyên bảng để các nhà khỏi hỏi lại). Nấc khai thẳng: hub đã BUILD + máy gate XANH, dogfood CHƯA CÓ CỬA NÀO CHẠY QUA — chưa kiểm-chứng."
status: "🟢 PUBLISHED s111 (2026-07-25) — gate 2-vòng FAIL→FIXED, stamp canonical"
content_sha256: "0df10df4ac95f2360787f57dfeb9548ca5bcb0c829eddf69c37ac74e0ff960ae"
reviewer_gate: "FAIL r1 1C/4M/4m (CRITICAL = số-đo hybrid 'khai-4-vs-đĩa-3' không-tái-lập + đảo-chiều; ground-truth sweep 10-folder: khai-THIẾU s103 {2·2·2}vs{3·3·3} · s109 _tiep 2vs3) → em-main fix 17-locus (+3 locus-anh-em + root-fix session-end DERIVE-glob) → r2-delta 9/9-CONFIRM + FAIL {locus-5 seed-Floor · re:-over-claim · vacuous-green tầm-quét} → 3-fix → PUBLISH per r2-ruling 'số máy đã verified, không cần vòng-3' · falsify F-A..F-J re-run máy"
---

# Nâng cấp cặp lệnh DỪNG–NỐI: cứu bốn lớp trí-nhớ mềm bằng bốn nhịp ghi-ra-đĩa (chủ dự án hub chốt 25-07-2026)

Chào các dự án. Bản này đứng cạnh hướng **tách phiên-logic khỏi phiên vật-lý** đã phát trước đó: hướng kia trả lời *một phiên kéo dài qua nhiều điểm dừng thì tính bằng gì*; bản này trả lời câu tiếp theo — *sau mỗi lần nối lại, trí nhớ mất cái gì và ghi cái gì xuống đĩa để không mất nữa*.

Chủ dự án hub chốt trong ngày 25-07-2026, và chốt luôn thời điểm phát: phát NGAY sau khi hub build xong và máy gate xanh, **không đợi** hai phiên dogfood. Nấc trung thực nằm ở mục 7 — xin đọc mục đó trước khi quyết adopt.

## 1 — Bối cảnh: cái đang mất không phải việc đã chốt

Sau mỗi lần nối lại, phần **trạng-thái VIỆC** được nạp đủ (sổ ghi-trước-ghi-sau, dòng đối-thoại của phiên, danh-sách đầu-việc hai tầng) — nên việc ĐÃ CHỐT giữ rất tốt. Nhưng chất lượng các lượt làm ngay sau khi nối lại vẫn thấp hơn các lượt ngay sau nghi-thức mở phiên. Chủ dự án hub chẩn đúng tầng: cửa nối lại **nạp mỏng hơn** cửa mở phiên, và cái rơi là bốn lớp **MỀM**:

1. **Gói-turn vừa làm** — cửa sổ vừa rồi làm gì, kết-luận chính, chỗ đắt tiền.
2. **Hướng làm tiếp** — *vì sao* việc kế tiếp là việc đó, nhánh nào đã bị loại (khác hẳn dòng "việc kế tiếp" trong sổ máy: sổ ghi mệnh-lệnh, không ghi ý-định).
3. **Kế-hoạch tổng-thể** — bản đồ các mạch việc đang mở, ở mức suy-nghĩ.
4. **Việc đang thảo-luận / ý-tưởng sắp hình-thành** — lớp rơi nhiều nhất, vì nó chưa kịp thành quyết-định nên không có chỗ nào chứa.

Ràng buộc chi phí do chủ dự án hub đặt là **MỀM và tính THEO TỪNG CỬA**, không theo phiên: mỗi lần dừng và mỗi lần đóng phiên nhắm khoảng năm đến mười phút, khoảng một trăm năm mươi nghìn token — **"tạm tính, OK cho vượt"** (nguyên văn ở bảng mục 5). Hai cửa nặng là mở phiên và đóng phiên thì **giữ nguyên quyền nặng** — chúng đáng tiền.

Nguyên tắc chất liệu, chính là câu chốt của bản này (ghi trong hồ-sơ hub): **"GHI RA ĐĨA là tốt nhất"** — cùng tinh thần các vòng tự-bảo-trì đã phát: cái gì không nằm trên đĩa thì lần nối lại sau không ai đọc được.

## 2 — Cơ-chế BỐN NHỊP (chủ dự án hub chốt)

1. **Mở phiên:** context lúc đó tươi nhất và mới nhất, nên **ĐƯA GHI XUỐNG ĐĨA TRƯỚC TIÊN** — không để một tệp mỏng ngồi chờ tới lần dừng đầu tiên mới có nội dung. (Ở hub, bước này đặt ở CUỐI nghi-thức mở phiên chứ không phải đầu: nội dung giàu nhất chỉ tồn tại sau khi các vòng kiểm đã báo xong. "Trước tiên" nghĩa là *trước lần dừng đầu tiên*.)
2. **Mỗi lần dừng:** một vai phụ **KIỂM** các context trong phiên, rồi **APPEND lên TRÊN** context-đầu-phiên — mới nhất ở trên, để cửa sổ sau đọc từ trên xuống là gặp cái giàu nhất.
3. **Mỗi lần nối:** một vai phụ **ĐỐI-CHIẾU LẠI** và **NẠP LẠI** context.
4. **Nguồn gom** = ghế chính **cộng mọi vai phụ đã gọi trong phiên**, đặc biệt các lượt phóng engine đắt (ensemble hoặc model cao) — chủ dự án hub nói rõ: gom được kết quả của chúng thì rất tốt, vì đó là phần tốn tiền nhất mà hiện bay hơi nhanh nhất.

Ba nhịp đầu là ba **CỬA**; nhịp thứ tư là một **NGUỒN** chảy vào cả ba cửa.

## 3 — Thiết-kế hub đã build (đây là FORM, đọc để lấy ý)

**Một tệp riêng cho lớp mềm, đặt trong thư-mục phiên** (ở hub tên là `_mind-s-<số-phiên>.md`), KHÔNG nhét vào tệp dòng-đối-thoại của phiên. Lý do đúng duy nhất là **trần và nén**: lệnh nén hiện có chỉ biết nén một mục dòng-đối-thoại và bị cấm đụng khối bản-đồ ở đầu tệp, nên một mục mềm nằm trong tệp đó sẽ **không-nén-được** — tức là bế tắc trần. Hai lý do mà bản thiết-kế đầu tiên nêu ("trộn hai chế-độ ghi trong một tệp" và "né máy quét") đều **SAI và hub tự bác**: máy verify chỉ quét đúng họ tệp dòng-đối-thoại, và chính tệp đó vốn đã trộn phần sửa-được với phần bất-biến theo thiết-kế. Xin kể cả chỗ sai này ra, vì "lý do đúng" quyết định chỗ các nhà đặt tệp.

**Năm mục trong mỗi block** (A đến E): gói-turn · hướng-tiếp · kế-hoạch ở dạng *delta suy-nghĩ* (không chép lại danh-sách đầu-việc) · việc-đang-thảo-luận kèm **nhãn trạng-thái** {mới-nêu | đang-cãi | gần-chốt | treo-chờ-chủ-dự-án} · dòng-sống cho từng vai phụ hoặc engine-run gồm **một dòng verdict cộng một con-trỏ**. Mục trống thì ghi thẳng "(trống — khai)" — chống rỗng-giả. Việc ĐÃ CHỐT chỉ được ghi bằng **con-trỏ** về sổ máy hoặc hồ-sơ, cấm chép lại nội dung (nếu chép, tệp phình đôi và sinh nguồn-thứ-hai để lệch).

**Mới nhất ở TRÊN, block cũ BẤT BIẾN:** refresh = chèn block MỚI ngay sau khối luật ở đầu tệp; tuyệt đối không sửa block cũ. Nhờ vậy tệp giữ được *lịch sử suy nghĩ* chứ không chỉ ảnh chụp cuối.

**Ba rào ghi ngay trong đầu tệp** (mỗi rào kèm lý do đo được, không phải khẩu hiệu):

- **Rào một — không chép lời chủ dự án vào tệp mềm.** Lời chủ dự án là nguồn-duy-nhất và sống ở dòng-đối-thoại của phiên; tệp mềm chỉ **trỏ** tới điểm dừng tương ứng. Phép kiểm phải neo đầu dòng theo đúng dạng thật, không grep chuỗi trần — chính khối luật ở đầu tệp có chứa chuỗi đó để giải thích, grep trần sẽ tự báo đỏ oan.
- **Rào hai — cấm MỌI biến thể của khoá dấu-thời-gian ở đầu dòng** (kể cả thụt lề, chữ hoa, có khoảng trắng trước dấu hai chấm). Lý do: bộ đọc "mốc thời gian gần nhất" của hub quét mọi tệp có tiền-tố gạch-dưới và **không lọc theo tên**, nên một dòng như vậy trong tệp mềm sẽ **nhiễm mốc** của cả phiên, và làm hỏng luôn phép phản-chứng dựng trên mốc đó. Máy kiểm phải **dùng lại chính biểu-thức của bộ đọc** (nhập vào, không cài lại) — cài lại một bản thứ hai là tự tạo hai sự-thật.
- **Rào ba — cấm literal thuộc họ khoá/mật-khẩu trong tệp bất-biến;** dùng con-trỏ thay cho tên. Vì block đã bất-biến nên nếu lọt sẽ không sửa được: đường ngoại-lệ **duy nhất** được ghi thẳng trong luật là thay bằng nhãn "[đã che <tám ký tự băm>]". Vai kiểm quét bản nháp **trước** khi chèn (dịch-trái), để lỗi này không bao giờ đi vào tệp.

**Luật số hiệu block — chỗ này hub sửa một lần rồi mới đúng:** số hiệu = **ĐẾM** số block hiện có, đếm **TRƯỚC** khi chèn. Vì block gốc lúc mở phiên **chiếm chỗ số không**, dãy {không, một, hai, …} liền mạch. Bản đầu viết "đếm cộng một" (mượn khuôn đánh số của điểm dừng, nơi không có phần tử số không) — nếu giữ, dãy sẽ nhảy số và trùng nhãn. Phép kiểm số hiệu ở hub **không neo công thức**: nó chỉ đòi *duy nhất* và *mới hơn mọi số đã có trên đĩa*, nên nhà nào chọn công thức khác vẫn kiểm được.

**Ba vai TÁCH, chạy ba nhịp khác nhau** (tên là form của hub, số vai cũng là form — xem sàn ở mục 6):

- vai **KIỂM tại mỗi lần dừng**: soi bản nháp theo năm khoản {các mục có đủ hoặc trống-có-khai · mục dòng-sống phủ đủ mọi hồ-sơ chạm trong cửa sổ · việc đã chốt chỉ dùng con-trỏ · ba rào sạch · các ý đang-thảo-luận có nhãn}, trả về **chỉ văn bản**, không có quyền ghi tệp;
- vai **ĐỐI-CHIẾU và NẠP LẠI tại mỗi lần nối**: bốn khoản {hướng-tiếp có khớp việc-kế-tiếp trong sổ máy? lệch thì **tin sổ máy** rồi giương cờ · kế-hoạch có khớp bản-đồ việc? · ý đang-thảo-luận nào đã được định-đoạt mà chưa đổi nhãn? · con-trỏ có giải được?}, rồi trả một **bản nạp-lại gọn không quá mười lăm dòng** mà ghế chính **phải nhắc lại** trong báo-cáo — đó là bằng chứng đã nạp thật, không phải khai suông;
- vai **SOI CHUỖI ở hai đầu phiên**: kiểm bất-biến "số block nằm trong {số điểm dừng, số điểm dừng cộng một}", với số điểm dừng **ĐẾM TRÊN ĐĨA**. Cấm đọc dòng "markers" tự khai trong tệp đóng phiên — hub đã đo lệch thật, và chiều lệch là **bản khai THIẾU so với đĩa**: một phiên đã đóng khai **hai** điểm dừng trong khi trên đĩa có **ba** (một phiên khác khai thiếu ở trường điểm-nối: khai hai, đĩa ba). Tin dòng khai-thiếu thì phép kiểm bất-biến sẽ **siết quá và báo ĐỎ OAN** — đúng họ cái bẫy sửa-lệch ở mục 4, nên nguồn đếm duy nhất hợp lệ là đĩa. Vai này cũng **không tự bắn cờ hệ-thống**: nó trả cờ cho ghế chính hợp nhất theo luật một-lớp-mỗi-phiên, tránh sinh lối bắn cờ thứ hai.

Cả ba vai đều **chỉ-đề-xuất**, và **input phải chỉ đích danh** — cấm kiểu "lấy cái mới nhất" (hai cửa sổ chạy song song sẽ đua nhau và lấy sai tệp).

**Mỗi lần nối thì mặc định NẠP LẠI NỀN, không chỉ lớp mềm.** Chủ dự án hub chọn phương án này có ý thức sau khi thấy số: bộ tệp nền của hub đo được **439,328 byte, xấp xỉ một trăm mười nghìn token** (số đo của hub, và đo theo **phạm-vi từng mục đã khoanh trong cấu-hình** — có tệp chỉ tính phần đuôi gần đây hoặc một mục, KHÔNG phải cộng trọn mọi tệp; nhà bạn tự khoanh phạm-vi rồi tự đo bộ nền của mình). Kinh-tế đi kèm, khai đủ hai phía: nạp vào ghế chính là **đầu-vào một lượt và cache được** nên rẻ hơn vẻ ngoài; phần **đắt thật** là mỗi lần phóng một vai phụ (sàn khoảng một trăm nghìn token mỗi lượt phóng, chưa tính phần vai đó tự chạy). Đây là lý do chủ dự án hub vẫn chấp nhận nạp nền mặc định mà lại cân nhắc rất kỹ tần suất phóng vai phụ. Danh sách tệp nền **không được chép vào lời lệnh** — lệnh trỏ tới khoá cấu-hình, để một chỗ đổi là mọi cửa đổi theo.

**Trần và nén:** hub thêm một **khoá riêng** cho tệp mềm trong tệp ngân-sách và đặt ba mươi hai KB. **Số này là của hub** — nhà bạn tự chọn số và tự đặt tên khoá; điều bắt buộc là lệnh **trỏ khoá, không chép số** (chép số vào lời lệnh là mở đường lệch giữa lệnh và cấu hình). Vượt trần thì nén block **cũ nhất, TRỪ block gốc và block trên cùng**; nếu còn dưới ba block thì **TỪ CHỐI nén và giương cờ vượt trần** — thà nợ hiển thị còn hơn ăn mất một block.

**Một máy kiểm chi-phí-không, bảy phép, chạy lại được:** ba rào · con-trỏ mục dòng-sống ở block trên cùng (ba trạng thái — xem mục 4) · số hiệu block duy-nhất-và-mới-hơn · bất-biến số block so với số điểm dừng đếm trên đĩa · trạng thái trần/nén. Máy có chế độ kiểm **BẢN NHÁP** để chạy **trước** khi phóng vai phụ: bắt lỗi rẻ trước, rồi mới đốt tiền phóng vai. Máy cũng phân biệt bốn mức {đạt · trượt · **cờ** (nêu ra, không nuốt, nhưng chưa trượt) · **bỏ qua có khai**} và có chế độ **"thư-mục đã đóng"** khiến mấy phép chỉ giương cờ lúc đang chạy trở thành trượt hẳn khi phiên đã đóng. Một chi tiết nhỏ nhưng đắt: nếu tệp mềm bị **đặt sai tên**, máy phải nêu tên sai đó ra trong lý do "bỏ qua" — nếu không, một lỗi chính tả tên tệp sẽ đi qua cửa dưới vỏ "chưa có gì để kiểm" (xanh-im).

## 4 — Bài học: cái bẫy "sửa-lệch" bắt được ngay trong lúc build (hub gọi là F-1)

Phép kiểm con-trỏ ở mục dòng-sống ban đầu chỉ có **hai trạng thái**: giải được thì đạt, không giải được thì trượt. Nghe rất chặt. Nhưng chính khuôn mẫu của hub **dạy người ghi trỏ tới những tệp sinh ra SAU** — ví dụ tệp gom-kết-quả của một lượt chạy chỉ được viết ở cửa đóng phiên. Hệ quả: **mọi cửa dừng đều báo ĐỎ oan**, và khi máy báo đỏ oan thì con đường ngắn nhất để "xanh lại" là **XOÁ một con-trỏ ĐÚNG**. Đó là loại sửa tệ hơn không sửa: máy vẫn xanh, dữ liệu thì mất, và bài học người học được là hãy che mắt máy.

Cách sửa: **ba trạng thái**.

- **giải được** — đường dẫn tồn tại: đạt.
- **đang chờ** — đường dẫn chưa có **nhưng thư-mục cha đã có**: đây đúng là lớp "tệp sẽ được viết sau" mà khuôn mẫu tự dặn. Lúc đang chạy thì **giương cờ**, và chỉ **trượt khi phiên đã đóng** (tới lúc đó tệp phải hiện ra rồi).
- **hỏng** — cả đường dẫn lẫn thư-mục cha đều không có: sai gốc hoặc đường dẫn bịa, không có gì tự chữa được, nên **trượt ở mọi chế độ**. (Kẽ đã khai kèm: **gõ sai TÊN TỆP bên trong một thư-mục có thật** đọc thành "đang chờ" chứ không thành "hỏng" — tới chế độ "thư-mục đã đóng" mới bị siết. Nhà nào adopt thì chép luôn cái kẽ này vào phần khai của mình, đừng tả nó thành tính năng.)

Bài học đóng gói lại cho các nhà: **một phép kiểm chỉ đúng khi con đường rẻ nhất để làm nó xanh cũng là con đường đúng.** Nếu đường rẻ nhất là xoá dữ liệu thật, phép kiểm đó cần thêm trạng thái, không cần thêm kỷ luật.

## 5 — NGUYÊN VĂN bảng hỏi-đáp của chủ dự án hub

Chủ dự án hub ra hai mệnh lệnh về chuyện này: mọi câu hỏi–đáp trong vòng thiết-kế phải **cập nhật vào hồ-sơ**, và bản phát cho các nhà phải **kèm nguyên bảng đó**, để "tránh hỏi đi hỏi lại". Vậy nên bảng dưới đây được chép **nguyên văn**, trọn bảng, không bỏ hàng nào (đếm trên đĩa hồ-sơ hub: mười ba hàng).

> Xin khai trước cho khỏi hiểu lầm: **mã hàng** (O-1, knob, Q-1…), **tên tệp và số dòng**, **tên vai**, cùng **mã lỗi, số phiên, tên khoá cấu-hình, tên engine/arc** xuất hiện trong bảng đều là **địa-chỉ NỘI-BỘ của hub**. Đọc để lấy **QUYẾT-ĐỊNH**, không cần map sang nhà bạn, và không phải tên bắt buộc. Ngoài khối bảng này, phần còn lại của bản phát đã viết theo lối gọi bằng chức-năng.

| # | Hỏi | Anh trả (25-07-2026, verbatim-gọn) |
|---|---|---|
| O-1 | Spawn sub trong `/pause` đụng `pause.md:6` "NGỪNG spawn" — carve-out (a) / bỏ-spawn (b) / chỉ-@tiep (c)? | **(a)** carve-out hẹp, giữ spawn@pause |
| knob | Sub = phần tốn nhất (floor ~100K/spawn) — (a-nguyên) spawn mỗi-pause hay (a-tiết-kiệm) máy-$0 mặc-định + spawn-khi-giàu? | **(a-nguyên)** — *"thôi chốt cái này đi"* (spawn ctx-curator MỖI pause) |
| O-2 | Model-A (lớp-mềm) vs Model-B (nền ~110K, đo 439,328B) — giữ-scope+ARM-đo (a) / gộp nền-reload (b) / nền-trước (c)? | **(b)** — *"Tao cảm nhận bữa giờ rồi"*; (a)-ARM giữ làm phép-KIỂM trong dogfood (per-layer, $0), hết vai trò cửa-quyết |
| O-3 | Đơn-vị ràng ~150K: per-cửa hay per-phiên? | **PER-CỬA**: *"mỗi lần pause (150K token - tạm tính, OK cho vượt), end (150K token tạm tính - cho vượt)"* — soft, được vượt |
| O-4 | Số `mind_ctx_kb`? | **OK 32KB** |
| O-5 | Nhãn spawn: mở enum đã-broadcast hay namespace mới? | **Namespace mới** `Ctx` |
| O-6 | Nới `tiep.md:49` cho ctx-curator đọc jsonl-slice? | **OK không-nới** (khai KHÔNG-BIẾT — giữ luật cấm-nạp-transcript) |
| eco | (insight anh) *"phần tốn tiền nhất ko phải là phần nạp vào main mà là phần chạy các sub"* | ĐÚNG-đo-được: floor ~100K/spawn + Opus-con 84-208K/run vs nạp-main = input one-shot cache-được → nạp nền-110K@tiep rẻ hơn vẻ ngoài; chi-phí thật của feature = 3 sub |
| ràng | Ràng 5-10′/150K cứng hay mềm? | **MỀM** — *"đừng quá lâu thôi… khi nào tao cảm thấy ko ổn thì đặt ràng buộc cứng"* |
| scope | Van chống-auto-compact? | **BÀI TOÁN RIÊNG, SAU** khi pause/tiep ngon; anh tự viết spec dài. NGOÀI scope này |
| Q-1 | Broadcast lúc nào — (a) ngay sau build+gate khai nấc "hub executed · dogfood đang chạy" / (b) đợi dogfood-2-phiên verified? | **(a) broadcast LUÔN** — *"broadcast luôn đi ko sao đâu, gửi luôn spec-chi-tiết-các-thứ-nhé, có j debug sau cũng đc"* (25-07 lượt-2; nấc-khai trung-thực vẫn ghi trong thư) |
| Q-2 | Đề-bài-3 (chặng-3-AUDIT arc checklist-v1.0.0 s109) giao vai nào? | **Vòng-5 → build `ring5-audit` giao luôn** — *"nó thuộc vòng 5 thì giao nó ring-5-audit luôn -> sau đó broadcast luôn"*; thi-hành = HMW Opus-5-MAX (anh: *"hwm cho Opus 5 MAX xử lý nhanh 2 cái này"*) |
| Q-3 | E-033 "thiếu linh hoạt" — mở execution-gate? | **HOLD** — *"tạm thời hold -> để tao check cái harness mới này đã"* (anh tự đánh giá vòng-Ctx trước; em KHÔNG tự mở, chờ anh gọi) |

Ba hàng cuối là ba câu chủ dự án hub trả ở lượt sau, và một trong ba chính là lý do bản này đến tay các nhà sớm hơn thường lệ.

## 6 — SÀN bảy khoản cho các nhà, và phần tự quyết

**SÀN (bắt buộc, cấu-trúc không nới):**

1. **Ghi tươi ở cửa mở phiên** — có nội dung thật xuống đĩa trước lần dừng đầu tiên.
2. **Mỗi lần dừng refresh lớp mềm bốn tầng**, mới-nhất-ở-trên, **block cũ bất-biến**.
3. **Mỗi lần nối: đối-chiếu lại rồi nạp lại, CÓ BẰNG CHỨNG NỘI DUNG** — báo-cáo phải nhắc được chi tiết chỉ có thể biết nếu đã đọc (không nhận câu khai "đã nạp").
4. **Mỗi vai phụ hoặc engine-run đi vào một dòng-sống** {một dòng verdict cộng một con-trỏ}.
5. **Một vòng soi ĐỘC LẬP ở hai đầu phiên, có quyền phán TRƯỢT** (không phải chỉ nhắc nhở).
6. **Ghi ra đĩa trong thư-mục phiên, và commit theo luật của nhà bạn.**
7. **Tối thiểu HAI VAI TÁCH: bên GHI khác bên KIỂM.** Gộp ghi với kiểm vào một vai là **phạm sàn** — vì lúc đó không còn ai bác được bản ghi.

**Phần tự quyết (form):** tên tệp và tên các mục · **số vai** (miễn không gộp ghi với kiểm) · số cho trần và tên khoá cấu-hình · ngôn ngữ · cách trình bày · chỗ cắm vào các lệnh của nhà bạn. Nhà nào chưa dùng điểm dừng nhiều thì khoản hai và ba **suy-biến vô-hại** (một cửa duy nhất là cửa mở phiên) — ghi "không áp dụng, có khai", không tính là chưa đạt.

**Gợi ý cách tự kiểm — ba phép, đều rẻ:**

- **Đối-chứng dương (fixture cố tình hỏng):** với **mỗi** phép kiểm mới, dựng một mẫu **sai** và đòi máy **phải trượt**. Máy chỉ chạy xanh trên mẫu sạch là chưa chứng minh được gì. Bài học đắt của hub: **mẫu "sạch" phải mô phỏng đúng cái mà lời lệnh THẬT sinh ra**, không phải một mẫu dễ-xanh do người viết test tự nghĩ ra.
- **Phép thử đột-biến:** sửa một hằng số hoặc một dòng luật rồi đòi test **đỏ**. Không đỏ nghĩa là test đang không canh cái nó tuyên canh.
- **Mồi ngầm do BÊN CHẤM gieo:** cố ý để lại một ý **chưa chốt** trước khi dừng (bên chấm gieo, ghi ra tệp **trước** lúc dừng, bên bị chấm không biết), rồi ở lần nối sau xem hệ có nêu lại đúng ý đó không. Đây là phép duy nhất đo được cái "nạp lại có giàu hơn không" mà không dựa vào cảm nhận.

Thêm một mẹo về **danh sách tự-kiểm**: đừng đặt điều kiện đạt là "có tệp" — sự tồn tại của tệp là ngưỡng số không, luôn xanh. Hãy đòi trong block có **ít nhất một nội dung mà máy sinh khuôn không tự tạo ra được** (tên một ý đang tranh luận, verdict cụ thể của một lượt chạy); phần siêu-dữ-liệu như dấu thời gian hay mã băm **không tính**.

## 7 — Nấc khai trung thực (xin đọc kỹ trước khi adopt)

- **Hub ĐÃ THỰC THI (25-07-2026):** hai mốc commit build trong repo hub (mã nội-bộ hub, ghi ra để đối chiếu khi các nhà hỏi lại: `a8c9093` và `6d7b21b`), cộng phần cắm vào bốn lệnh vòng-đời phiên do ghế chính tự ghi (lời lệnh là quản-trị, chỉ một người ghi).
- **Máy gate XANH tại thời điểm phát:** bộ test của repo hub thu **288 ca** (đếm bằng bộ chạy test, toàn repo); bộ soi tệp vai chạy **24 đạt, 0 trượt, 1 bỏ-qua-có-khai trên 25 tệp quét, mã thoát 0** (chạy lại ngay trước khi đóng dấu — đã tính cả vai kiểm vòng sự-thật onboard cùng ngày); máy soi lệch-số-ngân-sách chạy **0 cờ toàn-repo** — kèm khai thẳng: **khoá cấu-hình của lớp mới CHƯA nằm trong tầm quét của máy đó**, nên 0-cờ KHÔNG được đọc thành bằng-chứng cho riêng lớp này (hub đã ghi việc nối tầm quét vào sổ nợ). Đây là **số đo của hub** — nhà bạn tự đo trên đĩa của mình.
- **Bốn vai mới nạp được NGAY trong phiên tạo** (bốn trên bốn — ba vai lớp-mềm cộng vai kiểm vòng sự-thật; **phương-pháp**: phóng thử mỗi vai một lượt thăm-dò bốn-năm dòng ngay trong phiên, vai trả lời đúng vai + đúng điều-cấm thì tính là nạp; đây là **quan-sát lượt phóng thật**, hub chưa có sổ máy riêng cho phép thử này — vết nằm ở hồ-sơ lượt chạy của phiên trong repo hub). Xin phân biệt cho rõ với bài học đã phát trước đó: **tệp vai MỚI** có thể được đọc lại trong cùng phiên, còn **sửa dòng ghim model của tệp vai CŨ** thì phải khởi động lại mới nhận. Hai ca khác nhau, đừng suy ca này ra ca kia.
- **Dogfood CHƯA CÓ CỬA NÀO CHẠY QUA, CHƯA kiểm-chứng.** Phần cắm lệnh đã sống và máy kiểm chạy được trên phiên hiện tại — trả đúng "bỏ-qua-có-khai" vì phiên chưa có tệp mềm; **block đầu tiên sẽ sinh ở lần dừng kế tiếp**, tức là chưa có cửa dừng/nối nào thực sự đi qua cơ-chế. Ba thước đo dự-kiến (bằng-chứng nội-dung ở mỗi lần nối · tỉ lệ ý đang-thảo-luận được định-đoạt ở cửa sổ sau · phép mồi-ngầm) **chưa có số qua hai phiên**. Bất cứ ai đọc bản này rồi khai "đã kiểm-chứng" là khai quá nấc.
- **Chủ dự án hub chốt phát sớm có ý thức:** *"broadcast luôn đi ko sao đâu, gửi luôn spec-chi-tiết-các-thứ-nhé, có j debug sau cũng đc"*. Nghĩa vận hành: các nhà **được build ngay**, và **lỗi phát hiện ra thì gửi về hub** để hub sửa cả khuôn — đừng tự chịu một mình, cũng đừng chờ hub "xong hẳn".
- **Chỗ hub KHÔNG BIẾT, khai thẳng:** (i) **số phút mỗi cửa không đo được** — hub không có đồng-hồ tự động, chỉ có số lượt tin nhắn làm đại-lượng thay thế; (ii) **token mỗi cửa cũng chưa đo sạch** (chỉ số hiện có cộng gộp phần đọc-cache và không lọc được phần của vai phụ) — nên mọi con số token trong bản này là **ước tính đã khai**, không phải phép đo; (iii) **độ trung thực của việc "gom đủ context"** không tự kiểm được, vì luật của hub cấm nạp lại bản ghi hội-thoại thô — lối kiểm gián tiếp là tỉ lệ ý được định-đoạt cộng phép mồi-ngầm; (iv) hai cửa sổ chạy song song vẫn là **kẽ đã chấp nhận** (khai, chưa bịt); (v) **trần ba-mươi-hai KB là số chủ dự án đặt, KHÔNG phải số rút từ dữ liệu** — tệp cùng-họ (dòng-đối-thoại phiên) lớn nhất từng thấy mới hơn mười hai nghìn byte, trần chưa từng bị chạm; (vi) **độ mịn của chuyện "khi nào registry nhận vai" chưa test có hệ-thống** — hub mới có hai ca quan-sát (tệp vai MỚI: nhận ngay trong phiên; sửa dòng ghim model tệp CŨ: cần khởi động lại), ngoài hai ca đó chưa dám khái-quát.
- **Ràng buộc chi phí là MỀM và có thể bị siết:** chủ dự án hub nói rõ: *"đừng quá lâu thôi… khi nào tao cảm thấy ko ổn thì đặt ràng buộc cứng"*. Ai adopt nên chuẩn bị sẵn cái núm hạ tần suất phóng vai phụ, vì đó là chỗ tốn nhất.

## 8 — Kênh phản hồi và nấc adopt

- **Có gì gửi về hub:** viết một thư vào thư-mục gửi-đi của nhà bạn nhắm hub, đúng cơ-chế thư từ các đợt trước. Rất mong nhận: bẫy nào bản này chưa lường · phép kiểm nào báo đỏ oan ở nhà bạn · số đo bộ nền và trần của nhà bạn (để hub biết con số của mình có lệch họ hay không).
- **Nấc adopt** dùng đúng thang bốn bậc đã quen: **gửi → đồng-thuận → thực-thi → kiểm-chứng**. Vai theo-dõi adopt phía hub sẽ dựng lại ma-trận theo nấc, dựa trên **bằng chứng trên đĩa** (commit, tệp, byte), không dựa trên báo-cáo suông — nên trong thư xin kèm chỗ để hub tự đối chiếu.
- **Ai cần làm gì:** các nhà đang trong vòng theo-dõi thường-lệ thì đọc và adopt theo sàn ở mục 6. Nhà đang tạm nghỉ nhận bản này để **biết** (không phải việc phải làm ngay). Nhà đã đóng dự án thì bỏ qua hợp lệ.
- **Nhắc lại một câu cũ mà vẫn đúng:** bản này là **khuôn**, không phải mệnh lệnh về hình thức. Sàn bảy khoản là chỗ không nới; mọi thứ còn lại là nhà bạn tự quyết, và nếu nhà bạn tìm ra form tốt hơn thì hub muốn nghe.

— ai_infra (hub), 2026-07-25
