---
id: 2026-08-04-Governance-upgrade-pack-phased-phu-luc-spec-pitfall
category: Governance
type: broadcast
targets: all-fit
from: ai_infra
to: all-fit
date: 2026-08-04
part_of: 2026-08-04-Governance-upgrade-pack-phased-thu-chinh
supersedes: 2026-08-03-Governance-upgrade-pack-dot-3-spec-chi-tiet
precondition: "Trang thai DA chung minh tai hub (04-08-2026): 6 giai-doan nguon da build xong + moi luot cham cheo lan dau KHONG DAT roi va (03-08-2026), luot dong bo cuoi DAT-CO-GHI-CHU; luat cham diem ky 04-08-2026. Chua co du an chi em nao bao cao ap dung — bang track khoi tao rong."
status: DRAFT
reviewer_gate: "PENDING"

nac: draft
content_sha256: "49287ce7"
---


# Phụ lục: làm gì ở mỗi giai đoạn, và những cái bẫy đã giẫm

> Món thứ hai của bộ bốn món. Thư chính nói **đi theo thứ tự nào**; món này nói **mỗi giai đoạn phải có cái gì mới gọi là có, và chỗ nào hub đã ngã**.
>
> **Cách đọc:** mỗi giai đoạn có ba khối. Khối *sàn chức năng* là cái phải có — đọc như đặc tả. Khối *bẫy* là chỗ hub đã ngã thật khi làm đúng giai đoạn đó — đọc **trước khi làm**, không phải sau. Khối *nghiệm thu* là danh mục ngắn để bạn tự soi.
>
> **Cách dùng lại:** món này viết để bạn **chép về kho bạn rồi sửa**. Mọi mô tả là *chức năng*; tên tệp, tên vai, cách chia thư mục là của nhà bạn. Chỗ nào cần nói cụ thể để câu văn có nghĩa thì viết ở dạng *"một tệp làm việc X"*, không dán đường dẫn của hub.

---

## Vì sao bản này không neo bằng mã băm của kho hub

Bạn sẽ không thấy một mã băm commit nào trong bộ tài liệu này. Đó là chủ ý, và lý do đáng chép:

Hub vừa đo trên chính kho mình và thấy **toàn bộ mã băm được trích dẫn xuyên các đợt thi công đều đã rời nhánh** — nội dung cây tệp còn nguyên vẹn từng byte, nhưng mọi con trỏ trỏ tới nó đều trỏ hụt. Nguyên nhân là một lượt viết lại lịch sử kho. Không có ngoại lệ nào được ném ra, không máy nào báo; các trích dẫn cứ nằm im và mục nát trong yên lặng.

**Chuyển được:** trong tài liệu gửi ra ngoài, **neo bằng tên vật chứng và bằng lệnh tái lập**, đừng neo bằng mã băm. Nếu buộc phải nêu mã băm thì kèm luôn một lệnh tìm theo tiêu đề commit để người nhận tự phân giải lại. Đây là bản sao ở tầng kho mã nguồn của đúng bài học "neo trích dẫn bằng số dòng thì chết nhanh hơn tưởng" ở LỚP-6 dưới đây.

---

## Chín lớp lỗi xuyên suốt — đọc trước, vì chúng tái diễn ở mọi giai đoạn

Chín lớp này không thuộc riêng giai đoạn nào. Hub gặp lại chúng ở nhiều giai đoạn khác nhau, và mỗi lần đều tưởng là ca mới.

**LỚP-1 — Quên ghi vật chứng ngay lúc mở lượt chạy.** Thư mục lượt chạy hạ cánh thiếu tệp, im lặng, không ngoại lệ nào được ném. Hub mắc lớp này **nhiều lần trong cùng một phiên**, ở nhiều đợt khác nhau. **Vá:** ghi tệp mô tả lượt chạy và tệp tham số **trước** khi bấm chạy, không phải sau khi có kết quả.

**LỚP-2 — Thợ rèn không có dao.** Cái lớp lỗi mà một giai đoạn sinh ra để chống lại **tái diễn ngay bên trong chính giai đoạn đó**: giai đoạn dựng lưới ghi đĩa thì quên ghi đúng một tệp vật chứng của chính nó; giai đoạn dựng sổ chống-rơi-việc thì quên ghi tệp tham số lúc khởi động. **Vá:** mọi cơ chế cưỡng chế mới phải chạy trên **dữ liệu sống ngay lượt đầu tiên**, không chỉ chạy trên đồ gá.

**LỚP-3 — Lượt chấm chéo lần đầu KHÔNG ĐẠT là mặc định, không phải sự cố.** Ở hub, **cả sáu lượt** chấm chéo độc lập của sáu đợt thi công đều trả KHÔNG ĐẠT ở lần đầu, phải vá rồi mới đạt (hồ sơ hub ngày 03-08). **Vá:** lập kế hoạch **có sẵn một vòng vá** cho mỗi giai đoạn. Ai lên lịch kiểu "làm xong là xong" sẽ trượt tiến độ ở đúng chỗ này.

**LỚP-4 — Mã thoát bằng không KHÔNG đồng nghĩa không có cờ.** Hub đã đóng một cổng dựa trên "máy chạy trả mã thoát bằng không" trong khi chính máy đó đang giơ nhiều cờ cảnh báo trong phần tóm tắt. **Vá:** đọc **phần tóm tắt và danh sách cờ**, đừng đọc mã thoát. Và tách bạch **con số lái mã thoát** với **con số chỉ để báo cáo**: đọc "không hit" thành "sạch" trong khi phần báo-cáo-thôi đang có hàng chục hit là tự lừa mình.

**LỚP-5 — Số chép tay trong văn xuôi trôi.** Hub đã đo được cùng một đại lượng mang ba con số khác nhau ở ba chỗ. Vá từng con số **thất bại ba phiên liên tiếp** trước khi phải chuyển sang luật cứng. **Vá:** một đại lượng = một con số, và **neo LỆNH thay vì chép số**.

**LỚP-6 — Neo trích dẫn bằng số dòng thì chết ngay khi sinh.** Hub neo hàng loạt trích dẫn tới một cuốn sổ bằng số dòng; một lượt thêm vài dòng vào đầu sổ đã giết phần lớn số neo **trong vòng chưa tới mười lăm phút**. Cay hơn: lớp lỗi này đã được dự báo bằng văn bản trước đó mà không ai vá. **Vá:** neo bằng **chuỗi tìm được** — một đoạn văn bản đủ đặc trưng để tìm ra. Số dòng chỉ dùng cho tệp đã đóng băng.

**LỚP-7 — Tuyên "gấp đầy đủ" mà thân là mục lục.** Hai tệp cùng lúc tuyên là đã chép nguyên văn, mở ra thì bên trong chỉ là danh sách đầu mục. **Vá:** vị từ máy kiểm cho "gấp nguyên văn" là **so số ký tự với nguồn cùng đơn vị**, không phải đọc lời tuyên bố. Không có nguồn cùng đơn vị để so thì ghi **"không đo được"**.

**LỚP-8 — Nhãn "đã đóng" hẹp hơn phạm vi thi hành là một đường thoát.** Hub tuyên một khoản đã đóng, nhưng máy cưỡng chế chỉ quét đúng phạm vi hẹp của nó, không quét vùng tài liệu; hàng loạt vi phạm mới rơi vào kho mà cổng vẫn xanh. **Vá:** khi đóng một khoản có kèm cưỡng chế, hỏi thẳng **"máy này quét những đâu"** rồi so với **"khoản này áp ở những đâu"**. Hai phạm vi lệch nhau là đường thoát, và đường thoát thì sẽ có người đi qua.

**LỚP-9 — Cưỡng chế được tuyên mà chưa có máy.** Việc quét rò rỉ đặc thù nội bộ trước khi phát tài liệu, ở hub, **đang chạy bằng lệnh dán tay**, chưa có kịch bản cam kết trong thư mục máy móc. Nghĩa là kết quả "không hit" phụ thuộc vào người nhớ chạy. **Vá:** hoặc viết máy, hoặc **khai thẳng là chạy tay** — cấm để người đọc tưởng có máy canh.

---

## GĐ-0 — Tiếp nhận và bản đồ áp dụng

### Sàn chức năng

Giai đoạn này chỉ có một việc, nhưng nó là điều kiện tồn tại của mọi phép kiểm về sau: **biến bộ tài liệu từ nội dung trong hộp thư thành vật chứng trên đĩa kho bạn**, và tuyên bố sớm bạn định làm tới đâu.

- **Ghi đĩa ngay, trước cả khi đọc kỹ.** Bốn món được ghi thành tệp ở một chỗ cố định trong kho bạn, kèm **mã băm nội dung** của từng món. Lý do: lượt kiểm chéo về sau đối chiếu **vật chứng**, không đối chiếu lời khai. Không có tệp trên đĩa thì lượt kiểm ấy chỉ kiểm chứng được rằng bạn *nói* là đã làm.
- **Một tệp theo dõi tiến độ theo từng giai đoạn**, nơi bạn tick dần từng khoản.
- **Một dòng "đã nhận" trong sổ liên lạc phía bạn**, kèm ngày.
- **Bản đồ áp dụng (FIT-MAP) đủ bảy dòng** — mỗi giai đoạn một dòng, mỗi dòng chọn đúng một trong ba giá trị: `áp dụng` · `không áp dụng` kèm lý do · `hoãn` kèm điều kiện gỡ hoãn. Khuôn có sẵn ở món thứ ba.
- **Gửi báo cáo tiếp nhận kèm bản đồ áp dụng** qua kênh thư đi hướng tới hub. Ghi tệp báo cáo vào kho **của bạn**; mỗi bên chỉ ghi kho mình.

Bản đồ áp dụng là thứ giải quyết ca thường gặp nhất: nhà bạn **đã có sẵn cơ chế tương đương** cho một giai đoạn nào đó. Khi ấy dòng đó ghi `không áp dụng` kèm lý do kiểm được, và các giai đoạn sau **không bị khoá**.

### Bẫy đã giẫm

- **Nhận mà không ghi đĩa ngay.** Đọc trong hộp thư rồi làm theo trí nhớ. Tới lúc cần đối chiếu "khoản này có trong bản gốc không" thì không có gì phân xử. Đây cũng là lý do mã băm nội dung là bắt buộc, không phải trang trí.
- **Ghi đĩa mà quên tệp theo dõi.** Theo dõi trong đầu hoặc theo dõi trong một tin nhắn — cả hai đều bốc hơi.
- **Bỏ trống dòng nào đó của bản đồ áp dụng.** Dòng để trống không phân biệt được với dòng bị quên, và lượt kiểm chéo buộc phải xử nó như quên — bạn mất điểm cho một việc bạn làm đúng.

### Nghiệm thu

- [ ] Bốn tệp nằm trên đĩa kho bạn, mã băm tính lại khớp giá trị đã ghi.
- [ ] Tệp theo dõi tồn tại, số khoản khớp số khoản của danh mục kiểm.
- [ ] Sổ liên lạc phía bạn có dòng "đã nhận" kèm ngày.
- [ ] Bản đồ áp dụng đủ bảy dòng, **không dòng nào trống**.

---

## GĐ-1 — Nền chuẩn đặt tên, áp về phía trước

### Sàn chức năng

Một cách đặt tên **duy nhất** là điều kiện để chủ dự án audit được, và để **không rớt bất kỳ đoạn máy nào** đang đọc tên.

**(i) Một văn bản chuẩn**, phủ đủ: tên vai · nhãn hiển thị của các lớp kiểm · thư mục lượt chạy · tệp mốc phiên · nhãn tác vụ · tên các cuốn sổ. Kèm **luật lane đơn trị** cho sổ: mỗi loại sổ đúng một thư mục, **bỏ chữ "hoặc"** trong quy ước. Cho phép hai chỗ đặt là cho phép hai chỗ tìm, và tới lúc cần thì ai cũng tìm chỗ còn lại.

**(ii) Một vai giữ chuẩn**, là vai duy nhất ngoài vai thi công có quyền ghi, và là quyền **hẹp: sửa chuỗi TÊN thôi, cấm động nội dung và logic**. Quyền chia hai lớp:

- **Lớp an toàn** — tên vừa sinh ra đã sai chuẩn, quét ra không chỗ nào trỏ tới nó. Vai này tự sửa ngay, rồi ghi một dòng vào **sổ đổi tên chỉ-thêm-không-xoá**. Cột *"đã quét những đâu"* là cột **chịu lực: phải ghi đúng lệnh đã chạy và số hit thật**; ghi "đã kiểm" là dòng vô giá trị.
- **Lớp nguy hiểm** — tên đã có máy hoặc con trỏ trỏ tới. **Không được tự sửa.** Chỉ được ra kế hoạch di trú, người thi công làm.

**(iii) Giao thức di trú sáu bước**, cho ca buộc phải đổi tên đã có người trỏ:

1. Ký chuẩn.
2. **Kiểm kê mọi chỗ máy đang đọc tên** — quét toàn bộ biểu thức tìm kiếm trong thư mục kịch bản, trong bài kiểm, và trong tệp lệnh.
3. Cho bộ phân tích **đọc được cả tên cũ lẫn tên mới** trước đã.
4. Tên mới chỉ áp **từ nay về sau**.
5. **Đối chứng hai chiều**: gài một tên cũ giả và một tên mới giả, máy phải đọc được **cả hai**; rồi chạy trọn bộ máy trước và sau, so mã thoát. **Bắt buộc kèm phản chứng**: gài thêm một tên sai cả hai chuẩn, máy **phải báo**.
6. Bật chế độ nghiêm sau một số phiên sạch liên tiếp — con số đó do nhà bạn đặt và ghi vào chuẩn.

**(iv) Giữ nguyên tên cũ, tuyệt đối.** Đổi tên hồi tố cho thư mục và tệp mốc đã tồn tại là động vào mọi con trỏ trong nhật ký, mục lục, sổ tay và lịch sử phiên bản: rủi ro khổng lồ, lợi ích gần bằng không.

**(v) Máy soi tên đặt ở cổng**, và **phân biệt rạch ròi** con số lái mã thoát với con số chỉ để báo cáo.

Một ngoại lệ đáng học: có những tệp mà **máy neo đường dẫn cố định**. Đổi tên chúng mỗi lần cập nhật là phá form, đúng cái mà chuẩn sinh ra để chống. Với loại này, giữ tên cố định và để thời điểm sống trong tiêu đề khối bên trong tệp.

### Bẫy đã giẫm

- **Bẫy 1 — Bom hẹn giờ theo NGÀY.** Một bài kiểm khẳng định cứng "kho sạch", cộng với quy ước tên chỉ có hiệu lực từ ngày D. Bộ kiểm xanh hôm nay và **tự chuyển đỏ vào ngày D** mà không ai chạm vào mã. **Vá:** tập giá trị hợp lệ phải chứa **mọi dạng đang sống**, và bài kiểm chạy trên **đồ gá cô lập**, không khẳng định trên cây tệp sống.
- **Bẫy 2 — Cổng là khoá duy nhất thì cấm khoá ngầm.** Máy cổng bắt ngoại lệ quá hẹp lúc nạp mô-đun phụ, nên mọi loại lỗi khác lọt lên và làm **cửa đóng phiên tự khoá**. **Vá:** bắt rộng, tách riêng loại ngoại lệ "thoát chương trình", và **in kết luận lõi TRƯỚC mọi lượt dò phụ** — để một lượt dò hỏng không nuốt mất kết luận chính.
- **Bẫy 3 — Bài kiểm vá đè lên chính đối tượng đang kiểm** là cờ đỏ rẻ nhất để nhận ra một bộ kiểm giả: nó tự cấp tín chỉ cho đoạn mã chưa từng chạy thật.
- **Bẫy 4 — Máy soi tên trả không-hit trên một kho toàn tên cũ được miễn trừ thì KHÔNG chứng minh máy còn sống.** Bằng chứng duy nhất là chạy đối chứng trên khu thử.
- **Bẫy 5 — Mẫu số quá nhỏ làm "không hit" gần như vô nghĩa.** Một luật chỉ áp về phía trước thì ngày đầu tiên nó có rất ít đối tượng để soi. **Vá:** in **mẫu số bên cạnh mỗi con số hit**, luôn luôn.
- **Bẫy 6 — Số bài kiểm đo giữa chừng không phải kết luận cổng.** Nhiều lane cùng ghi thì con số đọc được ở giữa là con số của một trạng thái không tồn tại.

### Nghiệm thu

- [ ] Văn bản chuẩn tồn tại, phủ đủ sáu nhóm tên, và có luật lane đơn trị cho sổ.
- [ ] Vai giữ chuẩn tồn tại, quyền được mô tả rõ theo hai lớp.
- [ ] Sổ đổi tên tồn tại, chỉ-thêm-không-xoá, có cột *"đã quét những đâu"*.
- [ ] Máy soi tên chạy được, mã thoát bằng không, **và in kèm mẫu số**.
- [ ] Đối chứng hai chiều đạt; **phản chứng làm máy báo** (máy không im).
- [ ] Luật giữ-nguyên-tên-cũ được ghi thành văn.

---

## GĐ-2 — Lưới ghi đĩa và sổ mục lục vật chứng

### Sàn chức năng

Cái đắt nhất bị mất không phải mã nguồn mà là **vật chứng của các lượt chạy tốn tiền** — mất rồi không đòi lại được. Giai đoạn này dựng hai thứ: lưới ghi, và máy điểm danh.

**(i) Lane ghi nguyên văn.** Mọi ý kiến phản biện sinh ra ở các cửa tạm dừng và nối mạch của phiên phải **để lại tệp nguyên văn trên đĩa**, không chỉ trôi trong hội thoại. Lý do đã xảy ra thật: một cờ cảnh báo phát ở cửa trước, tới cửa sau muốn truy lại thì không còn gì để đọc. Khuôn tối thiểu: tiêu đề cố định · nhãn lượt chạy và mô hình tự khai · đầu vào đã ghim đích danh · kết luận. Thân là **văn bản nguyên văn, cấm nén cấm diễn giải**. Người điều phối ghi hộ nếu vai kiểm không có quyền ghi — quyền ghi vẫn giữ một mối. Bỏ qua vì cạn ngân sách thì **khai một dòng, cấm bịa tệp rỗng cho đủ mặt**. Đích ghi phải nằm trong vùng có quét bí mật, đừng đổ vào vùng miễn quét.

**(ii) Vai điểm danh vật chứng, chỉ trỏ chứ không sửa.** Bốn vị từ máy kiểm được: tệp **vắng mặt** so bộ tệp chuẩn · tệp **rỗng** · tệp **cụt** (thiếu phần đầu hoặc phần thân) · bản gấp **nén quá tay**, đo bằng **so số ký tự với nguồn cùng đơn vị**; không có nguồn cùng đơn vị thì khai **"không đo được"**.

Ba điểm thiết kế đáng chép:

- **Cấm sửa.** Vai này không đủ nhận thức để phán nội dung đúng sai. Nó chỉ được nói *"sót cái này, ở chỗ này"*, rồi người điều phối vá.
- **Mức nghiêm trọng tỉ lệ với chi phí chạy lại.** Lượt chạy đắt thiếu tệp là nghiêm trọng nhất, vì tiền đã đốt rồi. Vật chứng rẻ hơn thì mức thấp hơn.
- **Điểm danh phải lấy từ hai nguồn.** Một nguồn là đĩa đọc thẳng, một nguồn là cuốn mục lục. Chênh nhau khác không tức là mục lục sót hoặc con trỏ mục nát. **Chỉ đọc mục lục là sai về nguyên tắc**, vì mục lục do chính người điều phối ghi — đọc nó là tự soi mình.

**(iii) Ba nhịp chạy:** đầu phiên (bắt cái lọt của phiên trước) · **theo sự kiện, ngay sau mỗi lượt chạy đắt** (bắt lúc còn cứu được) · cuối phiên.

**(iv) Sổ mục lục hai tầng.** Tầng A gói theo loại: mẫu đường dẫn · chức năng · ai ghi · ai đọc · bộ tệp chuẩn. Tầng B là mục lục sống, mục cũ thì cuộn thành dòng tổng kèm con trỏ. Sổ phải **nạp nổi trong một lượt đọc** — trần đo bằng lệnh, không nạp nổi là sổ hỏng — và **TRỎ chứ không CHÉP**. Con số trần sống ở tệp cấu hình chung, tài liệu chỉ trỏ tới khoá cấu hình.

**(v) Khai luôn điểm mù.** Vật chứng của **chính vai điểm danh** sinh ra sau khi nó chạy xong, nên nó không tự soi được. Cần một vai khác cùng phiên, cộng lượt soi ở đầu phiên sau, mới phủ hết.

### Bẫy đã giẫm

- **Bẫy 1 — Máy điểm danh tự tham chiếu thì báo sạch giả.** Máy của hub chỉ kiểm sổ hai chiều và mẫu đường dẫn của mục lục, nên **thư mục của chính lượt chạy đó thiếu tệp mà máy vẫn báo sạch**. **Vá:** thêm vị từ **bộ-tệp-nội-bộ-thư-mục**, và điểm danh **hai nguồn**.
- **Bẫy 2 — Ghi vật chứng TRƯỚC khi bắn, không phải sau.** Hub mắc lỗi quên-ghi-lúc-mở nhiều lần trong cùng một ngày (LỚP-1).
- **Bẫy 3 — Cuối ngày là vùng nguy hiểm.** Tầng tổng hợp của một lượt chấm bị bỏ vì cạn cửa sổ ngữ cảnh, và **bảng lỗi nguyên văn mất vĩnh viễn** — sau đó quyết định không chạy bù, vì bản tổng hợp không đổi hành động nào. **Vá:** vật chứng bền phải được ghi **ngay khi kết luận về**, không đợi.
- **Bẫy 4 — Suy giảm thì KHAI, đừng nuốt.** Nhãn *"tầng tổng hợp bị bỏ, đã khai"* là nhãn hợp lệ; im lặng mới là lỗi.

### Nghiệm thu

- [ ] Mọi cửa sinh ý kiến phản biện đều có tệp nguyên văn trên đĩa; liệt kê **từng cửa**, đừng ghi "tất cả các cửa".
- [ ] Vai điểm danh tồn tại, mô tả rõ **cấm sửa**.
- [ ] Máy điểm danh chạy được, và có vị từ bộ-tệp-nội-bộ-thư-mục.
- [ ] Đối chứng dương: tự gài một tệp rỗng vào phạm vi thì máy **phải bắt**.
- [ ] Sổ mục lục tồn tại, đo được kích thước, và nằm dưới trần đã khai.
- [ ] Điểm danh chạy **hai nguồn**, chênh lệch được ghi ra chứ không làm tròn.

---

## GĐ-3 — Nghi thức hai đầu phiên và cổng chặn bằng mã lỗi

### Sàn chức năng

Lệch nghi thức có hai loại khác hẳn nhau và **thuốc khác nhau**. Đây là lõi thiết kế của giai đoạn này.

**(i) Bốn nhãn, mỗi nhãn máy kiểm được:**

- **Quên** — không có dấu vết ý định nào. Vá, rồi nhắc.
- **Tự ý bỏ** — bỏ mà không khai, **hoặc** khai là "bỏ êm" trong khi điều kiện cho phép bỏ **đánh giá lại trên đĩa là sai**. Nhãn nặng: vá, ghi sổ lỗi, và **theo dõi tái phạm** — tái diễn là dấu hiệu thói quen, không phải sự cố.
- **Suy giảm hợp lệ** — đặc tả cho phép và đã khai đủ bằng chứng. Không tính lỗi.
- **Bị chặn** — điều kiện bên ngoài, có bằng chứng đã tìm cách gỡ.

**(ii) Vai kiểm chỉ đối chiếu, không phán đặc tả.** Nguồn đối chiếu là **chính đặc tả nằm trong tệp lệnh của cửa đó**. Đặc tả tự mâu thuẫn thì gắn cờ xung đột và trả về người điều phối quyết — **cấm tự phán đặc tả đúng hay sai**.

**(iii) Vòng hỏi ngược, đóng khi không còn dòng trống.** Vai kiểm trả về một bảng gồm: bước thiếu hoặc lệch · đặc tả nói gì · bằng chứng trên đĩa · nhãn nào · câu hỏi đích danh. Người điều phối **định đoạt từng dòng** — chạy bổ sung, khai suy giảm, hoặc khai không-thể-nữa. **Không dòng nào để trống thì mới đóng được.**

**(iv) Kẹp hai đầu.** Audit chạy trong dòng chỉ bắt được cái sống lâu hơn nó; nếu dòng chết sớm thì không ai bắt. Vì vậy cần thêm: **tiền kiểm chi phí bằng không, chạy ở ĐẦU MỌI CỬA**, chỉ đọc, soi **cửa đã đóng gần nhất** — và chọn cửa bằng **dấu thời gian ghi TRONG tệp, không tin thời gian sửa tệp của hệ điều hành**; cộng với việc vai kiểm chạy ở **cả hai đầu** phiên.

**(v) Thang mã thoát phải phân biệt bốn trạng thái:** trọn · thiếu-có-tên · không-xác-định · đặc-tả-xung-đột. Gộp chúng thành một mã là mất thông tin ngay tại chỗ cần nhất.

**(vi) Tiền kiểm KHÔNG BAO GIỜ đứng chờ chỉ thị.** Đây là luật tự trị ba bậc: bằng chứng rõ thì tự vá và khai lại · mơ hồ thì chọn nhánh an toàn nhất và khai đủ để lùi lại được · chỉ hỏi khi vừa mơ hồ thật vừa có tính phá huỷ.

**(vii) Guard vắng tệp phải là vị từ máy** — kiểm sự tồn tại của tệp rồi bỏ qua và khai. **Đừng dùng mệnh đề "cái đó chưa làm"**: mệnh đề đó sai ngay giây tệp kia hạ cánh.

**(viii) Thuốc căn cơ cho "tự ý" là CỔNG CHẶN, không phải lời nhắc.** Chuyển quy ước thành mã: cửa nào có cổng trả mã lỗi thì cửa đó không bỏ qua được. Vai kiểm chỉ là lưới bắt phần lọt.

**Khai thẳng ranh giới:** máy đo **sự hiện diện và khuôn dạng, không đo CHẤT**.

### Bẫy đã giẫm

- **Bẫy 1 — Loại trừ lane nuốt việc.** Hai bản giao việc cùng ghi "việc này lane kia lo", còn bản giao của lane kia không chứa mục đó. Kết quả: **ba nguồn đều nói có giao, bản giao việc thật thì giao không nơi nào**. So sánh danh sách tệp bị chạm với danh sách việc **không bắt được ca này**. **Vá:** lập bản đồ *chỗ-cần-sửa → lane-chủ-quản* cho từng mục **trước khi bắn**.
- **Bẫy 2 — Bản ghi lượt chạy chỏi bản giao việc là khai sai.** Dựng bản ghi trước khi soạn xong bản giao việc thì bản ghi sẽ mô tả việc chưa ai nhận.
- **Bẫy 3 — Máy dò mù thư mục mới sinh.** Máy quét không nhìn vào thư mục vừa được đẻ ra, nên kết quả kẹt trần vĩnh viễn trong khi mã thoát vẫn đẹp.
- **Bẫy 4 — Neo trích dẫn bằng số dòng trong vật chứng bền** (LỚP-6).
- **Bẫy 5 — Báo "đủ tick" mà không nói mẫu số nào.** Phải tách **hai mẫu số** rạch ròi: số khoản trong danh mục, và số tệp bị chạm.
- **Bẫy 6 — Đối chứng chết trong chính lượt commit sinh ra nó.** Cần một cặp đối chứng **sống** cộng luật về hưu neo theo sự tồn tại của chỗ được soi.

### Nghiệm thu

- [ ] Bốn nhãn được ghi thành văn, mỗi nhãn kèm vị từ kiểm được.
- [ ] Cổng nghi thức chạy được, mã thoát bằng không tại cửa gần nhất.
- [ ] Đối chứng dương: giả lập thiếu một tệp mốc thì cổng **phải** trả mã khác không.
- [ ] Tiền kiểm chạy ở đầu mọi cửa; liệt kê **từng cửa**, và khai rõ cửa nào không đo được vì không sinh tệp mốc.
- [ ] Vòng hỏi ngược của lần gần nhất đã đóng — **không dòng nào trống**.
- [ ] Luật tự trị ba bậc được ghi thành văn ở chỗ người điều phối chắc chắn đọc.

---

## GĐ-4 — Sổ yêu cầu của chủ dự án và cơ chế chấm điểm

> Luật chấm điểm của giai đoạn này **đã được chủ dự án ký ngày 04-08-2026**. Toàn văn công thức, niêm phong và bốn tầng nằm ở **món thứ tư**, đứng riêng vì nó có tính pháp lý. Phần dưới chỉ mô tả **sàn chức năng của cuốn sổ** — thứ phải có trước thì mới chấm được.

### Sàn chức năng

Lời của chủ dự án rơi **giữa lượt trao đổi** và không persist ở đâu khác. Vì vậy phải có **một cuốn sổ** ghi NGAY trong chính lượt đó.

**(i) Ba loại mục:**

- **Việc được giao** — mã định danh · **lời nguyên văn ngắn, cấm diễn giải lại** · thời điểm và phiên · trạng thái · **số lần đã nhắc** (lần đầu tính là một) · con trỏ tới nơi việc đang nằm.
- **Sở thích thường trực** — mã · lời nguyên văn · **phạm vi được làm thẳng** · **lằn ranh đỏ vẫn phải hỏi** · lý do chủ dự án đã lường trước · thời điểm · trạng thái.
- **Lời phàn nàn** — mã · lời nguyên văn · chủ đề gộp · thời điểm và phiên · số lần lặp.

Cột lời nguyên văn có **một trần ký tự cứng do nhà bạn chọn**, và không có lời nguyên văn trên đĩa thì **ghi rõ là thiếu, cấm bịa câu cho chủ dự án**.

**(ii) Mã định danh vĩnh viễn, cấm tái sử dụng.** Mục đóng thì **lật trạng thái, không xoá dòng**. Bài học đã trả giá: nhãn thứ tự bị dùng lại làm gãy mọi chỗ trích dẫn chéo tới nhãn đó.

**(iii) Hai mục mồi bắt buộc** ở khối sở thích thường trực, vì không có mồi thì khối này rỗng mãi: một mục cho phép làm thẳng trong phạm vi việc thường ngày, kèm **liệt kê rõ lằn ranh đỏ** — đổi lược đồ dữ liệu, xoá dữ liệu, việc hướng ra ngoài, việc không lùi được, việc dính tiền; và một mục cho phép **tự trị khi chủ dự án vắng**.

**(iv) Hai kỷ luật, cắm đúng chỗ máy đọc:**

- **Ghi NGAY** — cắm vào **tệp ngữ cảnh luôn được nạp mỗi lượt**. **Cấm cắm vào tệp lệnh của một cửa**: tệp lệnh chỉ được đọc khi tới cửa, nên cắm ở đó là chấp nhận mất mọi câu nói giữa hai cửa.
- **Tra sổ TRƯỚC khi hỏi** — cùng chỗ, cộng tài liệu hướng dẫn nội bộ của đội. Hỏi lại mà **không viện dẫn được thông tin mới nào** là vi phạm; hỏi lại **kèm thông tin mới và trích được nguồn** là kỷ luật đúng.

**(v) Đèn nợ ở mọi điểm dừng.** Thứ tự trường **cố định** · **mọi trường luôn in**, chưa biết thì in dấu hỏi, **cấm bỏ trường** · nguồn số là **một lượt dò không tốn phí** (đọc đĩa, không gọi mô hình) và số **dán nguyên văn từ máy dò, cấm gõ tay** · lượt dò hỏng thì trường đó in dấu hỏi, hoặc cả dòng in *"dò lỗi, không chặn"*; máy dò **không bao giờ chặn cửa nào**.

**(vi) Một vai đọc sổ độc lập, bốn thấu kính:**

1. **So khớp theo nghĩa** để nhận ra "câu này chính là yêu cầu cũ, đang nhắc lần thứ mấy" — biểu thức tìm kiếm làm không nổi việc này. Kèm phân loại **vì sao phải nhắc**: không ghi được · ghi rồi không làm · làm rồi không lưu · chủ dự án đổi ý. Bốn nguyên nhân vá ở bốn tầng khác nhau.
2. **Soi chiều ngược** — đội có hỏi lại mà không kèm thông tin mới không.
3. **Bóc lời phàn nàn** khỏi dòng hội thoại và đưa vào sổ.
4. **Đếm lại độc lập** rồi so lệch với điểm tự chấm.

Ràng cứng: **cấm chấm thay chủ dự án**; thiếu số phủ sóng thì in **"KHÔNG ĐO ĐƯỢC"**, **cấm in điểm thay thế**. Nhịp ba cửa: đầu phiên soi nợ cũ · **trong lượt thì không chạy vai này** mà dựa vào hai kỷ luật ở trên, vì spawn một vai sau mỗi lượt trao đổi là **trễ một nhịp về mặt cấu trúc** — câu hỏi đã gửi rồi mới soi thì soi để làm gì · cuối phiên đếm vi phạm. Và phải có **một vai soi lại vai này** để phá cùng-mù.

**(vii) Thu hẹp vai cũ cùng lượt.** Nếu nhà bạn đã có vai nào đang soi phần "yêu cầu của chủ dự án", chuyển phần đó sang vai mới và **ghi rõ là đã chuyển giao**. Hai vai soi cùng một thứ thì cả hai đều dựa vào nhau và cùng lười.

### Bẫy đã giẫm

- **Bẫy 1 — Số không đầu tiên của một cuốn sổ mới PHẢI phân biệt được "chưa có dữ liệu" với "đã đo và bằng không".** Không tách hai nghĩa thì **đèn xanh đầu tiên của sổ mới là đèn giả**. Hub phải thêm hẳn một trường ý-nghĩa và một trường lý-do-rỗng vào máy dò mới tách được.
- **Bẫy 2 — Đuôi cảnh báo in có điều kiện là mất tín hiệu.** Máy dò của hub chỉ in đuôi khi có tồn đọng; tới lúc tồn đọng về không thì đuôi **biến mất**, và dòng đèn của trạng thái xấu trở thành **giống hệt từng byte** với dòng đèn của sổ sạch thật. **Vá: LUÔN in, giá trị bằng không vẫn in.**
- **Bẫy 3 — Bài kiểm có thể đang ghim chính hành vi SAI.** Vá mã mà không soi bài kiểm thì bài kiểm giữ lỗi lại. Hub phải sửa một bài kiểm đang ghim đúng hành vi hỏng.
- **Bẫy 4 — Bản vá của chính người kiểm là nguồn lỗi kế tiếp.** Một lỗi nghiêm trọng ở giai đoạn này là **hậu quả trực tiếp từ bản vá do chính người điều phối làm**. **Vá:** mọi bản vá nóng phải qua **cùng một cửa cổng như bản dựng**.
- **Bẫy 5 — Cấm đổ hàng loạt "nhãn của đội" vào cột dành cho "lời chủ dự án".** Đó là tiêm diễn giải vào đúng cột cấm diễn giải, và tạo sẵn một loạt mục sẽ trượt khi đối chiếu. Cách đúng là đưa chúng vào một phụ lục riêng.
- **Bẫy 6 — Một đại lượng, một con số, neo LỆNH thay vì chép số** (LỚP-5).

### Nghiệm thu

- [ ] Tệp sổ tồn tại ở lane quản trị, có đủ ba khối đúng tên đã quy ước.
- [ ] Khối sở thích thường trực có đủ **hai mục mồi**.
- [ ] Trần dung lượng đọc được từ tệp cấu hình chung, **không viết cứng ở nơi khác**.
- [ ] Lượt dò không tốn phí chạy được, trả đủ hai số: đang treo, và bị nhắc từ lần thứ hai.
- [ ] Lượt dò **phân biệt được "chưa có dữ liệu" với "đã đo và bằng không"**.
- [ ] Dòng đèn xuất hiện đủ ở **mọi** cửa dừng — liệt kê **từng cửa**, không ghi khoảng.
- [ ] Vai đọc sổ tồn tại và qua được bộ kiểm định dạng phần đầu tệp vai của nhà bạn.
- [ ] Vai cũ đã được thu hẹp, phần chuyển giao được ghi rõ.
- [ ] Khối chấm điểm hiện diện ở **cả cửa mở phiên lẫn cửa đóng phiên** (chi tiết ở món thứ tư).
- [ ] Bản ghi đã đóng băng của các phiên trước **không nằm trong danh sách tệp bị sửa**.

---

## GĐ-5 — Cửa gọi mô hình đắt tiền

> **Giai đoạn này phụ thuộc môi trường.** Nếu nhà bạn không có hạn mức cho loại mô hình đắt, hãy ghi `không áp dụng` kèm lý do — **đó KHÔNG phải là chậm tiến độ**. Cái chuyển được ở đây là **mẫu thiết kế**, không phải bộ máy.

### Sàn chức năng

Khi mô hình chủ lực **hiểu sai ý** chủ dự án, thêm một vòng duyệt cũng vô ích, vì cả chuỗi đã nhiễm bản diễn giải sai từ đầu. Lời giải là **đường truyền lời chủ dự án phải đi vòng qua bộ não trung gian**.

**(i) Luật số một: người điều phối chỉ ĐÓNG GÓI, cấm diễn giải lại.** Lời thô đi nguyên khối, có rào rõ ràng đánh dấu vùng nguyên văn.

**(ii) Cửa thứ nhất — biên dịch ý định.** Nhận lời thô cộng gói ngữ cảnh, trả ra **bản đặc tả bốn khối**: mục tiêu · phạm vi · tiêu chí nghiệm thu máy kiểm được · điều cấm lấn. **Chỉ ra bản nháp**, thi công là lượt sau.

**(iii) Cửa thứ hai — chuỗi năm tầng:** đóng gói → ra bản đặc tả nháp → **cửa duyệt của chủ dự án** → thi công song song (một nhánh đào sâu, nhiều nhánh quét rộng) → tổng hợp bằng **một lượt gọi MỚI, không nối lại lượt cũ** (nối lại làm rớt tham số mô hình đã ghi đè).

**(iv) Gói ngữ cảnh chuẩn hoá năm mảnh:** nền trỏ-không-chép · lớp mềm mạch việc · sở thích · ký ức các vai được cắt theo công thức có trần · lời chủ dự án nguyên văn. Mảnh nào chưa có thì **khai "chưa có"** — vắng mà không khai thì đọc y hệt không tồn tại.

**(v) Vật chứng để CHUNG GỐC với mọi lượt chạy khác.** Tách ra một đường dẫn riêng cho gọn là làm chúng **vô hình với máy quét**. Sổ riêng chỉ là **một khung nhìn**, không phải một đường dẫn thứ hai.

**(vi) Ba chỗ dây điện chịu lực:**

- Vai mới phải vào **danh sách vai hợp lệ** — thiếu là hỏng câm, ký ức không được định tuyến.
- Cờ nâng mô hình phải **tường minh tại mọi chỗ gọi** — thiếu là chạy mô hình thường **trong im lặng**.
- Cửa duyệt **chỉ chủ dự án gõ**; đội **không bao giờ tự đặt**.

**(vii) Sổ ghi lượt chạy đắt** dạng khung nhìn, mỗi dòng gồm: thời điểm · loại · đề bài · con trỏ tới vật chứng · kết luận. **Ghi ngay lúc dựng thư mục**, dòng sống kể cả khi lượt chạy chết giữa chừng. Vật chứng của lượt đắt mà thiếu tệp là **mức nghiêm trọng cao nhất**.

### Bẫy đã giẫm

- **Bẫy 1 — Cưỡng chế mới PHẢI chạy trên dữ liệu SỐNG ngay lượt đầu.** Đồ gá chỉ chứng minh máy chạy; dữ liệu sống mới cho biết **nhà mình đang ở đâu so với chuẩn mình vừa đặt**. Ở hub, lượt đo đầu tiên trên dữ liệu thật cho tỉ lệ đạt rất thấp — và đó là thông tin quý nhất của cả đợt.
- **Bẫy 2 — Thợ rèn không có dao** (LỚP-2): công cụ vừa rèn xong quay lại bắt chính cái lò, nhiều lần trong một phiên.
- **Bẫy 3 — Đăng ký vai mới vào bộ đăng ký TRƯỚC.** Nếu không, hai nhánh câm sẽ nuốt êm cả việc lẫn ký ức của vai đó.
- **Bẫy 4 — Nhập khẩu phép so, cấm chép bản "y hệt".** Bài kiểm phải khẳng định **hai bên là cùng một đối tượng**, không khẳng định "kết quả giống nhau" — bản chép sẽ trôi khỏi bản gốc mà bài kiểm vẫn xanh.
- **Bẫy 5 — Đừng nhét vai mới vào cổng điểm danh nếu nó không chạy cửa đó.** Nhét vào là mọi phiên đều báo thiếu, tức **tự khoá cửa đóng phiên của chính mình**.
- **Bẫy 6 — "Tick sai" khác "luật sai".** Nhưng nếu một điều luật viện dẫn một cơ chế, phải kiểm **cơ chế đó có tồn tại không**. Ở hub có một cờ tự kiểm được viện dẫn trong sổ luật ở nhiều chỗ, mà chạy thật thì trả mã lỗi khác không — **tới hôm nay vẫn thế**. Luật đang dựa lưng vào một cơ chế không có thật.
- **Bẫy 7 — Bộ đóng gói ngữ cảnh để chỗ trống ở đúng mảnh lời chủ dự án.** Mảnh quan trọng nhất của cả gói lại là mảnh còn khuôn mẫu chưa điền, và máy đối chiếu nguyên văn thì **bỏ qua có khai** chứ chưa chứng minh được. Khai đúng chiều: *"máy đang bỏ qua và đã khai, chưa phải đã chứng minh"*.

### Nghiệm thu

- [ ] Cửa biên dịch ý định tồn tại, và **chỉ ra bản nháp** — không tự thi công.
- [ ] Mọi chỗ gọi đều mang tham số mô hình **tường minh**; quét kho không còn chỗ nào để mặc định.
- [ ] Cửa duyệt của chủ dự án là bắt buộc; đội không có đường vòng.
- [ ] Sổ lượt chạy đắt tồn tại, có ít nhất phần đầu bảng.
- [ ] Sau một lượt chạy thử do chủ dự án gõ: sổ có ít nhất một dòng, và thư mục lượt đó **đủ bộ tệp chuẩn** đã khai ở mục lục.
- [ ] Chưa chạy được lượt nào vì hạn mức: khai **"KHÔNG ĐO ĐƯỢC"** kèm vị từ sự-hiện-diện — tệp cửa lệnh và sổ rỗng-có-đầu-bảng tồn tại.

---

## GĐ-6 — Niêm phong đồng bộ và bảng gốc

### Sàn chức năng

**(i) Cổng đồng bộ bốn tầng.** Đây là định nghĩa nghiệm thu của cả gói:

> **Mỗi triệu chứng trong bảng bệnh phải truy được xuống ít nhất một sản phẩm đã dựng thật, và không được có mâu thuẫn giữa các tầng tài liệu** — từ bản ý tưởng ban đầu, xuống bản tổng, xuống đặc tả từng giai đoạn, xuống việc làm thật.

Phép đo của cổng này, chép được nguyên khối:

- **Trace xuôi:** từng mảnh → đặc tả → giai đoạn → vật chứng trên đĩa.
- **Trace ngược:** cái nằm trên đĩa mà không truy được về đặc tả nào = **phạm vi tự phình**. Mỗi khoản phải có nguồn gốc.
- **Đối chiếu ba chiều bảng bệnh:** bệnh → thuốc → bằng chứng.
- **Soi lệch giữa đặc tả và đĩa**, đặc biệt tìm khoản **áp một nửa**.
- **Phán theo mức chặn**, không gộp một cục.

**(ii) Mở rộng cổng điểm danh — sửa đúng một chỗ.** Số kỳ vọng phải **suy ra từ độ dài danh sách vai**, không viết cứng ở chỗ thứ hai. Trước khi sửa, quét cả kho tìm xem con số cũ còn được viết cứng ở đâu nữa. Bài kiểm phải **ghim liệt kê từng tên**, không ghim con số. **Phép thử đột biến:** bỏ một tên khỏi danh sách thì phải có **nhiều hơn một** bài kiểm chuyển đỏ; chỉ một bài đỏ nghĩa là lưới mỏng.

**(iii) Điều kiện vào danh sách — luật đắt nhất của giai đoạn này.** Một vai chỉ được đưa vào cổng điểm danh khi **cùng một lượt commit** có đủ: tệp vai · thư mục ký ức của vai · **chỗ gọi vai đó ở CẢ cửa mở phiên LẪN cửa đóng phiên** · các tập đăng ký và giá trị ghim đã cập nhật. Chưa đủ thì để vai đó ở nhóm **ngoài danh sách** — nhóm này không làm đỏ cổng. Vì sao đắt: hub đã vi phạm đúng luật này, nâng danh sách **trước** khi có chỗ gọi, nên cổng lập tức báo thiếu vật chứng cho những vai chưa từng được gọi — mà cái cổng đó chính là cổng chặn cửa đóng phiên. **Nâng sớm là tự khoá cửa ra của chính mình.**

**(iv) Bộ đăng ký phải sửa trọn gói.** Mỗi lần đẻ một vai có ký ức, **liệt kê trước tất cả những chỗ máy đang đếm vai** rồi sửa **hết trong một commit**. Sửa rơi rớt là lớp lỗi tái phát nhiều nhất, vì mỗi chỗ thiếu chỉ làm một bài kiểm đỏ, và người ta vá từng bài kiểm thay vì vá danh sách.

**(v) Bảng gốc để đo về sau.** Mỗi triệu chứng là một dòng, gồm: tên bệnh · đại lượng đo · **lệnh hoặc nguồn để đo** · giá trị tại thời điểm này · ngày đo. **Mỗi ô có số PHẢI kèm lệnh tái lập được.** Chưa có dụng cụ thì ghi thẳng **"KHÔNG ĐO ĐƯỢC"**; chưa đủ mẫu thì ghi **"không áp dụng — chưa đủ mẫu"**. Bảng này là thứ duy nhất cho phép nhà bạn nói được, sáu tháng sau, rằng gói này có ích hay không.

**(vi) Bản nháp dấu của chủ dự án.** Khoản cần chủ dự án phê chuẩn thì soạn ở trạng thái **"chờ ký"**, **mã dấu để trống, chủ dự án điền**. Một hệ thống mà người thi công tự cấp chứng chỉ cho mình thì chứng chỉ đó vô nghĩa.

**(vii) Quét đồng bộ tài liệu.** Liệt kê trước danh sách tài liệu cần quét, rồi tick từng cái — đừng dựa vào trí nhớ.

### Bẫy đã giẫm

- **Bẫy 1 — Guard "đủ điều kiện để nâng" phải kiểm ĐỦ MỌI VẾ.** Guard của hub chỉ kiểm một trong bốn vế rồi tuyên an toàn; khoá thật nấp ở vế khác — vai **tồn tại trên đĩa** khác hẳn vai **đã được nối vào chỗ gọi ở cả hai cửa**.
- **Bẫy 2 — CẤM thu hẹp danh sách âm thầm để bài kiểm xanh lại.** Đó đúng là thứ bài kiểm sinh ra để chặn.
- **Bẫy 3 — Khối "khai thẳng" mang số và lệnh tái lập là một NHÃN ĐO LƯỜNG.** Vá cái mà nó mô tả trong cùng một lượt commit mà không sửa nó thì **chính nó biến thành lời khai sai** — và ở hub, khối đó nằm trong đúng tệp đang xin chủ dự án ký. **Vá:** lùi về thì quá khứ, neo commit, và đo lại toàn bộ số.
- **Bẫy 4 — Mã thoát bằng không không đồng nghĩa không cờ** (LỚP-4).
- **Bẫy 5 — Bảng gốc khai "có N luật" mà máy có N cộng một là giấu vi phạm.** Hub bỏ sót đúng một luật, và luật bị bỏ sót đó đang giơ hàng chục cờ ở dạng báo-cáo-thôi. **Vá: khai cả hai số.**
- **Bẫy 6 — Bản gửi ra ngoài KHÔNG được lạc quan hơn bảng gốc trong nhà.** Hub bị bắt đúng lỗi này: vài dòng của bản gửi ra ngoài đẹp hơn bảng gốc nội bộ. **Vá:** dán **nhãn thật-thà cho ô chưa đo**. Một bảng gốc thật thà tám dòng có giá hơn mười hai dòng đẹp mà bốn dòng bịa.
- **Bẫy 7 — Bài kiểm bất biến suy ra được thì mạnh hơn bài kiểm liệt tay.** Khẳng định "mọi vai đo phải có một vai kiểm phủ" bắt được cái vai vừa thêm mà quên nối — thứ mà hai khẳng định liệt tay không bắt được.
- **Bẫy 8 — Nhãn đo lường sai nằm ngoài đề bài thì vẫn phải sửa.** Tài liệu ghi "bỏ một vai thì hai bài kiểm đỏ", đo thật ra con số khác hẳn. Sai nằm ngoài phạm vi được giao vẫn là sai.

### Nghiệm thu

- [ ] Cổng đồng bộ chạy, kết quả **được dán ra**, mỗi tầng ghi rõ *khớp* hoặc *lệch đã khai*.
- [ ] Số kỳ vọng của cổng điểm danh suy ra từ độ dài danh sách; quét kho không còn chỗ nào viết cứng con số cũ.
- [ ] Bài kiểm ghim **liệt kê từng tên**; phép thử đột biến làm nhiều hơn một bài kiểm chuyển đỏ.
- [ ] Cổng điểm danh chạy trên một phiên thật, mã thoát bằng không, danh sách thiếu rỗng.
- [ ] Đối chứng đặt tên hai chiều chạy lại và đạt; **phản chứng làm máy báo**.
- [ ] Bảng gốc tồn tại, đủ dòng, **không ô số nào thiếu lệnh tái lập**.
- [ ] Bản nháp dấu có mặt, trạng thái "chờ ký", **mã dấu để trống**.
- [ ] Quét rò rỉ đặc thù nội bộ trên bản gửi ra ngoài trả **không hit** — và khai rõ đang chạy bằng máy hay bằng tay (LỚP-9).

---

**Nhắc cuối món này:** mọi thứ ở trên là **chức năng**. Số cụ thể, tên vai, cách chia tệp là chuyện của mỗi nhà. **Đừng chép số của hub** — số hub đo trên kho hub, nó không nói gì về kho bạn.

---

