# LĂNG KÍNH 2/4 — TRUNG THỰC VỚI NGUỒN GỐC ## Verdict **GO-WITH-FIXES — chân chống KHÔNG sập, nhưng phải hạ phạm vi một câu và vá bảng §1.7 trước khi trình owner với tư cách "đề xuất sửa ISO".** Trả lời thẳng câu (e), là câu quyết định: 1. **"9 bước ISO khớp 1:1 với 9 `ContractPhase`" — XÁC NHẬN.** Tôi đếm tay Bảng 2 của ISO: khai `(10r x 3c)`, một dòng tiêu đề *"BƯỚC / STEP | TRÁCH NHIỆM | NỘI DUNG CHI TIẾT"* (`src-QT-TRINH-KY-HD.txt:59`) rồi đúng **9** dòng bước (`:60-68`). Ánh xạ khớp cả tên trạm lẫn thứ tự, 9 trên 9: *Lựa chọn NTP/NCC* (`:60`) ↔ `DangChon`; *Soạn thảo hợp đồng* (`:61`) ↔ `DangSoanThao`; *Góp ý nội dung* (`:62`) ↔ `DangGopY`; *Đàm phán, thương thảo hợp đồng* (`:63`) ↔ `DangDamPhan`; *In hợp đồng* (`:64`) ↔ `DangInKy`; *Kiểm tra — CCM* (`:65`) ↔ `DangKiemTraCCM`; *Duyệt — BOD/NĐUQ* (`:66`) ↔ `DangTrinhKy`; *Đóng dấu hợp đồng — HRA/ISO* (`:67`) ↔ `DangDongDau`; *Phát hành hợp đồng. Lưu trữ hồ sơ* (`:68`) ↔ `DaPhatHanh`. Vế ISO chắc chắn là 9; chỗ lung lay nằm ở phía spec, xem B3. 2. **"ISO đi thẳng bước 1→2, không có bước trung gian" — XÁC NHẬN THEO NGHĨA HẸP, BÁC THEO NGHĨA RỘNG.** Trong Bảng 2 thì đúng: giữa dòng bước 1 (`:60`) và dòng bước 2 (`:61`) không có dòng nào khác. Nhưng câu spec dùng để kết luận lại rộng hơn nhiều — *"Không có trong quy trình ISO đang ban hành"* (`spec:18`) — trong khi chính bước 1 trỏ sang một quy trình khác chưa ai đọc: *"Tham khảo Quy trình Cung ứng…"* (`:60`) với biểu mẫu *"SOL-PRO-SP-001 Quy trình Cung ứng"* (`:47`). Chi tiết ở N1. Nói gọn: **spec không sập**, vì kết luận "khoảng trống nằm giữa ISO-1 và ISO-2" vẫn đứng đối với văn bản trình ký. Cái phải sửa là **phạm vi của câu khẳng định vắng mặt** và ba ô trong bảng đối chiếu nguồn đang nói quá (B1, B2, N1). Không có điểm nào chặn Wave 1-2 về mặt kỹ thuật; các điểm CAO chặn **tư cách văn bản** gửi owner. ## Bịa > Giới hạn tự khai: tôi chỉ cầm **2 trong 3 nguồn** (ISO docx + FO-002.01). Nguồn PDF `01- Quy trinh hien tai` KHÔNG có trong run-folder, nên mọi chi tiết b.8-9 mà spec quy cho PDF tôi **không kết luận bịa** — chỉ đánh dấu chưa kiểm được. - **B1 — CAO — "CÙNG HÌNH" là 4 trạm đối 3 bước, không phải cùng hình.** Spec `spec-ke-hoach-ky-ket-hd-28-07-2026.md:91` (bảng §1.7 dòng 9) viết: *"Chuỗi ký FO-002.01 (ĐỀ XUẤT→PRO→CCM→GĐ) | ≈ ISO 5-7 | ≈ b.9→10→11→12 **CÙNG HÌNH** | CÓ | **Đối chứng GIẤY cho O-1**"*. Đối chiếu ISO Bảng 2: bước 5 *"In hợp đồng | QS/NV.PB"* (`src-QT-TRINH-KY-HD.txt:64`), bước 6 *"Kiểm tra | CCM"* (`:65`), bước 7 *"Duyệt | BOD/ / NĐUQ"* (`:66`). **Không có bước nào của ISO dành cho Phòng Cung ứng trong chuỗi ký** — ISO bước 5 nói thẳng *"QS/NV.PB chuyển HĐ cho CCM"* (`:64`), tức là đi từ đơn vị đề xuất sang CCM, bỏ qua PRO. Trong khi form giấy có hẳn một trạm PHÒNG CUNG ỨNG 10 dòng ký (`src-FO-002.01-bang-kiem-tra-HD.txt:21-30`) và LƯU Ý bắt buộc: *"Tất cả các loại hợp đồng còn lại phải chuyển qua Phòng Cung ứng và Phòng CCM trước."* (`:46`). ⇒ Ô "≈ ISO 5-7" và chữ "CÙNG HÌNH" khai một sự tương ứng không tồn tại (4↔3, trạm PRO không có bước ISO đối ứng). **Ghi chú quan trọng: phát hiện này lại là ĐẠN CHO spec** — nó chứng minh form giấy đã chạy chuỗi PRO→CCM→GĐ mà văn bản ISO chưa cập nhật, tức chuỗi b.10→11→12 của spec bám form giấy chặt hơn bám ISO. Sửa đúng cách là tách ô này thành 1 dòng mâu thuẫn ISO↔FO thật, chứ không phải xoá. - **B2 — CAO — kết luận "0 mâu thuẫn" về vai không dựng được từ nguồn.** Spec `:90` (dòng 8) viết: *"Tên phòng/vai | PRO/CCM/BOD/NĐUQ/HRA | Procurement/CCM/CEO | PB-DA/PRO/CCM/GĐ | Khớp `AppRoles` — **0 mâu thuẫn**"*. Bảng định nghĩa ISO (`src-QT-TRINH-KY-HD.txt:17-39`) liệt **23 mục**, trong đó tối thiểu 6 vai có mặt trong dòng chảy nhưng không có trong danh sách 3 cột của spec: `FIN` (`:22`), `ACT` (`:23`), `EQU` (`:24`), `TBP`/`TP` (`:27-28`), `QS` (`:33`), và cặp `PD` = *"Giám đốc Thi công"* (`:31`) tách khỏi `PM` = *"Giám đốc Dự án"* (`:32`). Bước 3 ISO gọi đích danh cả cụm: *"Góp ý nội dung | PD/PM/PRO/ / CCM/FIN/ACT"* (`:62`). Muốn giữ kết luận "0 mâu thuẫn" thì phải nêu rõ phạm vi là *chỉ 3 trạm duyệt của khúc b.10-12*, chứ không phải toàn bộ tên phòng/vai. - **B3 — TRUNG — số "7 phase" tự chọi với chính câu của nó.** Spec `:34` viết: *"**7 phase `[LEGACY]`** của `ContractPhase` CHÍNH LÀ quy trình ISO **9 bước**, mã-hoá cứng. Khớp 1:1 đúng thứ tự"* rồi liệt kê **9 cặp** ở `:35-37`. Bên ISO tôi đã đếm tay: Bảng 2 khai `(10r x 3c)` = 1 dòng tiêu đề + **9 dòng bước** (`src-QT-TRINH-KY-HD.txt:59-68`) ⇒ **9 là con số đúng của phía ISO**. Vậy lệch nằm ở phía spec: hoặc viết "9 phase", hoặc phải nói rõ 2 phase nào không mang nhãn `[LEGACY]`, vì "khớp 1:1" trên 9 mục mà chỉ có 7 mục ở vế trái là không đóng được. - **B4 — TRUNG — mệnh đề thực nghiệm không nguồn, không phép kiểm.** Spec `:60` (b.8) viết: *"🔴 **sơ đồ KHÔNG vẽ vòng lặp này, thực tế có**"* cho vòng `TvgsBac→DaNop`. Đây là một khẳng định về thực tế vận hành, không kèm trích lời owner, không kèm dữ liệu, và không nêu phép kiểm nào làm nó trượt nếu sai. Nó lại thêm hẳn một cạnh chuyển-trạng-thái vào vòng đời item. Cần một câu owner xác nhận hoặc hạ xuống mức đề xuất có dấu hỏi. - **B5 — THẤP (chỉ ghi nhận, không kết tội) — cụm b.8-9 không kiểm được bằng 2 nguồn tôi cầm.** Bộ trường *{Kind, NCC, Status, TvgsName, ngày, scan}* và vòng đời *`ChuaNop→DaNop→TvgsDuyet|TvgsBac`* (`spec:60`) không xuất hiện trong ISO lẫn FO-002.01. Điểm kiểm được: chữ **TVGS không có trong bảng ĐỊNH NGHĨA, TỪ VIẾT TẮT của ISO** (`src-QT-TRINH-KY-HD.txt:16-39`) và cũng không có trong bất kỳ bước nào của Bảng 2. Vì spec tự nhận là *"ĐỀ XUẤT BỔ SUNG QUY TRÌNH ISO"* (`spec:22`), nếu ban hành thì phải bổ sung định nghĩa TVGS vào mục 4 của QT. ## Rơi - **R1 — TRUNG — checklist CCM rơi mất một nửa.** Spec `:89` (dòng 7) ghi checklist là *"(PRO: điều khoản/thanh toán/rủi ro pháp lý · CCM: giá vs NS)"*. Form giấy cho CCM có **hai** mục, không phải một: *"G/trị HĐ so với NS / / Rủi ro pháp lý HĐ"* (`src-FO-002.01-bang-kiem-tra-HD.txt:31`, lặp lại y hệt ở `:32-40`). Mục *"Rủi ro pháp lý HĐ"* của CCM bị rơi, trong khi chính nó là mục trùng tên với PRO — nghĩa là form cố ý bắt **hai** phòng cùng soi rủi ro pháp lý một cách độc lập. Nếu O-Q2 chốt số hoá checkbox mà bảng tra chỉ liệt 1 mục cho CCM thì sẽ dựng thiếu. - **R2 — TRUNG — kiểm kê checklist bỏ 2 trạm trên 4.** Form có mục kiểm cho cả bốn trạm: trạm đề xuất *"PHÒNG BAN/DỰ ÁN / ĐỀ XUẤT"* với mục *"Soạn thảo / / Nội dung HĐ"* (`:15`, lặp `:16-20`); trạm *"PHÒNG CUNG ỨNG"* (`:21`); trạm *"PHÒNG CCM"* (`:31`); và trạm *"GIÁM ĐỐC / Hoặc Người được ủy quyền"* với mục *"Ký kết, phát hành"* (`:41`, lặp `:42-45`). Spec chỉ liệt 2 trạm giữa. Riêng mục của trạm giám đốc đáng chú ý vì nó gộp **ký kết và phát hành** vào một ô, tức trên giấy hai việc này là một hành vi của cùng một người. - **R3 — THẤP–TRUNG — LƯU Ý của form bị trích mất nửa sau.** Spec `:85` trích đúng vế đầu: *"mỗi bộ phận 01 ngày, quá hạn XEM NHƯ ĐÃ THÔNG QUA"*. Nguyên văn form còn vế sau: *"Nếu cần kéo dài thời gian, bộ phận kiểm tra phải thông báo cho bộ phận soạn thảo biết và theo dõi, đồng thời phải ghi chú về việc kéo dài thời gian vào phần \"Ý kiến\"."* (`src-FO-002.01-bang-kiem-tra-HD.txt:46`). Vế sau **không phải SLA-engine** — nó là ràng buộc nội dung đặt lên ô ý kiến, nên quyết định O-2 (*"không SLA-engine"*, `spec:47`) không phủ hết nó. Đây là thứ rẻ nhất để giữ: một dòng ghi chú trong `LevelOpinions.Comment`. - **R4 — THẤP — nghĩa vụ lưu trữ bản kiểm tra.** Form kết bằng: *"Bảng kiểm tra này phải được lưu kèm với bộ hồ sơ gốc."* (`:46`). Spec §① không nhắc đường xuất hoặc lưu bảng kiểm tra số hoá kèm hồ sơ. Nếu O-Q2 chốt số hoá checkbox thì nghĩa vụ này thành yêu cầu xuất file, cần nêu trước khi chốt. - **R5 — THẤP — toàn bộ phần đầu form (THÔNG TIN HỢP ĐỒNG) không xuất hiện trong spec §①.** Form yêu cầu: *"Phòng ban/Dự án"* (`:8`), *"Loại Hợp đồng : Chủ đầu tư | Nhà cung cấp | Thầu phụ | Tổ đội | Thiết bị thuê | Khác"* (`:9`), *"Tên đối tác"* (`:10`), *"Nội dung hợp đồng"* (`:11`). Đáng chú ý là hai lựa chọn **"Thiết bị thuê"** và **"Khác"** — chúng không nằm trong 7 loại hợp đồng của hệ thống, nên nếu phiếu kế hoạch mang trường "Loại HĐ" thì phải quyết ánh xạ hai ô này về đâu. - **R6 — THẤP — bước 9 ISO bị rút gọn khi ánh xạ.** Spec `:36` ghi *"`DaPhatHanh=9`↔Phát hành"*. Nguyên văn ISO là *"Phát hành hợp đồng. Lưu trữ hồ sơ / Issue and archive the contract"* với 4 việc con: *"PB/BCH CT scan và gởi 01 bản gốc cho CCM"*, *"thông báo và chuyển bản gốc hợp đồng đã ký (theo đúng số lượng) đến NTP/NCC"*, *"Lưu trữ bản gốc hợp đồng"*, *"Lưu trữ trên Server theo Filing System (Hợp đồng bản cứng chính và bản scan)"* (`src-QT-TRINH-KY-HD.txt:68`). Nửa "lưu trữ" biến mất khỏi nhãn ánh xạ. - **R7 — THẤP — kênh luân chuyển do ISO quy định là Email, spec thay bằng thông báo trong ứng dụng.** ISO bước 2 nguyên văn: *"QS/NV.PB gởi dự thảo HĐ cho các Phòng ban để lấy ý kiến qua Email."* (`:61`). Spec b.7 chốt: *"**Email ra ngoài = ngoài scope** (SMTP TODO toàn hệ thống)"* (`spec:59`). Đây là đánh đổi có khai báo nên không phải lỗi giấu, nhưng vì spec tự nhận là đề xuất sửa ISO thì phải nói rõ: bản ISO sửa đổi sẽ phải sửa luôn cụm "qua Email" ở bước 2, nếu không văn bản và phần mềm sẽ nói hai kiểu. - **R8 — THẤP — quy định mã số bị bỏ trống cho phiếu mới.** Cột Biểu mẫu của ISO gắn *"SOL-CCM-RG-001 / Quy định mã số hợp đồng và đơn hàng"* vào **mọi** bước (`:48-56`), và bước 5 nói *"Cập nhật số Hợp đồng theo quy định."* (`:64`). Spec §① không nói phiếu Kế hoạch ký kết có mã theo quy tắc nào. Đây là câu hỏi owner rẻ, nên hỏi cùng đợt 5 câu đang treo. - **R9 — THẤP — nguồn ISO tự vênh, spec chưa ghi nhận.** Bảng 1 gán bước 5 cho **NTP/NCC/TĐ** kèm hạn *07 ngày* (`:51`), còn Bảng 2 gán bước "In hợp đồng" cho **QS/NV.PB** (`:64`) và mô tả bên trong lại là *"NTP/NCC/TĐ in hợp đồng 2 mặt, ký, đóng dấu Hợp đồng và gửi về cho PB/BCH CT."*. Vênh này nằm ngoài khúc b.7→12 nên không chặn, nhưng nếu spec định trích ISO làm căn cứ ban hành thì nên biết là bản gốc có chỗ tự mâu thuẫn. ## Sai vai Ba ánh xạ lõi **đúng nguyên văn**, xem mục Củng cố. Bốn điểm lệch: - **V1 — TRUNG — "PB/BCH CT" bị thu về một mình "BCH".** ISO viết cặp này ở mọi chỗ trọng yếu: trách nhiệm bước 1 là *"PB/BCH CT"* (`src-QT-TRINH-KY-HD.txt:60` và `:47`), bước 8 *"PB/BCH CT chuyển hợp đồng đã được ký duyệt đến HRA/ISO"* (`:67`), bước 9 *"PB/BCH CT/ / CCM"* (`:68`). Form giấy đặt tên trạm đề xuất là *"PHÒNG BAN/DỰ ÁN"* (`src-FO-002.01-bang-kiem-tra-HD.txt:14-15`). Spec `:59` viết b.7 là *"PMH chuyển thông tin cho BCH"* và `:54` chốt *"BCH = người tạo phiếu (`CreatedBy`)"*. Cơ chế `CreatedBy` thì trung tính nên chạy được cho cả hai loại đơn vị, nhưng **nhãn** thì hẹp: nếu phiếu do một Phòng ban khởi tạo (mua sắm tập trung, không thuộc công trường nào) thì cả câu chữ b.7 lẫn tên màn hình chờ lập kế hoạch đều gọi sai đối tượng. Sửa rẻ: đổi nhãn thành "Phòng ban / Ban chỉ huy công trường". - **V2 — TRUNG — gộp PD với PM, bỏ QS và TBP/TPB.** ISO tách rõ *"PD : Giám đốc Thi công"* (`:31`) và *"PM : Giám đốc Dự án"* (`:32`) là hai chức danh khác nhau, đồng thời dùng *"QS : QS công trường"* (`:33`), *"TBP : Trưởng Bộ phận"* (`:28`), *"TP : Trưởng Phòng ban"* (`:27`) như những vai có hành vi riêng — ví dụ bước 5: *"PD/PM/TPB kiểm tra các điều khoản hợp đồng và ký nháy trên từng HĐ"* và *"PD/PM/TPB/TBP ký duyệt và cho ý kiến (nếu có) lên tờ cover chấp thuận HĐ"* (`:64`). Spec `:52-53` chỉ liệt `ProjectManager`/`Drafter` cho toàn bộ cụm này. Với khúc b.7→12 (BCH lập phiếu, ba trạm duyệt) thì gộp như vậy tạm chấp nhận được, nhưng phải khai là **gộp có chủ đích**, không được kết luận "0 mâu thuẫn". - **V3 — THẤP — "CEO" không phải từ của nguồn.** ISO định nghĩa *"BOD : Ban Giám đốc/Board of Directors"* (`:18`) và *"NĐUQ : Người được ủy quyền"* (`:19`); form ghi trạm là *"GIÁM ĐỐC / Hoặc Người được ủy quyền"* (`src-FO-002.01-bang-kiem-tra-HD.txt:41`). Spec b.12 gọi *"CEO ký"* (`spec:64`). BOD là một tập thể, CEO là một cá nhân — vai hệ thống `Director` + `AuthorizedSigner` thì đúng, chỉ có chữ "CEO" là nhập từ sơ đồ PDF chứ không từ hai nguồn văn bản. - **V4 — THẤP — trạm đóng dấu trong ISO là "HRA/ISO", hai bên chứ không một.** Nguyên văn bước 8: *"Đóng dấu hợp đồng | HRA/ISO"* và *"chuyển hợp đồng đã được ký duyệt đến HRA/ISO để đóng dấu theo quy định"* (`src-QT-TRINH-KY-HD.txt:67`). Spec `:90` chỉ ghi HRA. Ngoài ra form giấy **không có trạm HRA nào** (`:15-45` chỉ 4 trạm) — tức con dấu nằm ngoài bảng kiểm tra. Điều này liên quan trực tiếp tới b.12: nếu "CCM đóng dấu" trong spec `:64` là đóng dấu **hợp đồng** thì nó chọi với ISO (dấu thuộc HRA/ISO); nếu là đóng dấu **phiếu kế hoạch** thì phải nói rõ, vì hai nghĩa dẫn tới hai thiết kế khác nhau. ## Nống biên - **N1 — CAO — khai "nguồn im lặng" ở chỗ nguồn có nói, và đây đúng là chân chống của cả spec.** Spec `:17-19` viết: *"**Không có trong quy trình ISO đang ban hành** — `QT TRINH KY HOP DONG TP-NCC.docx` bảng 2 đi THẲNG bước 1 \"Lựa chọn NTP/NCC\" → bước 2 \"Soạn thảo hợp đồng\", **0 bước trung gian**."*, và bảng §1.7 dòng 1 ghi cột ISO là *"**KHÔNG CÓ**"* (`:83`), từ đó suy ra *"Spec này vừa là spec phần mềm, vừa là ĐỀ XUẤT BỔ SUNG QUY TRÌNH ISO"* (`:22`). Nhưng chính bước 1 của ISO **trỏ ra một quy trình khác**: nội dung chi tiết viết *"Tham khảo Quy trình Cung ứng để so sánh và lựa chọn NTP/NCC/TĐC đúng quy định."* (`src-QT-TRINH-KY-HD.txt:60`), và cột Biểu mẫu của đúng dòng đó ghi *"SOL-PRO-SP-001 Quy trình Cung ứng / SOL-PRO-SP-001 Procurement Procedure"* (`:47`) — đây là biểu mẫu **duy nhất** khác cả 8 dòng còn lại, tức là một cái trỏ có chủ đích. Hệ quả: cái đo được là *"không có trong QT-TRINH-KY-HD"*, **không** phải *"không có trong quy trình ISO đang ban hành"*. Muốn giữ tư cách "đề xuất bổ sung ISO" thì phải đọc `SOL-PRO-SP-001` trước, vì khúc b.7→12 nằm ngay ranh giữa cung ứng và ký kết — đúng vùng mà văn bản kia phụ trách. Đây là nguồn thứ tư, chưa ai chạm. - **N2 — TRUNG — bảng tự đặt luật "KHÔNG tự quyết" rồi tự quyết 3 ô.** Tiêu đề `:79` viết *"Mâu thuẫn / im lặng giữa 3 nguồn (bảng tra — **KHÔNG tự quyết**)"*. Trong bảng: dòng 3 kết *"O-2 ⇒ chỉ ghi nhận"* (`:85`), dòng 5 kết *"Hệ thống có sẵn `TraLai` + 4 return-mode"* (`:87`), dòng 6 kết *"**KHÔNG áp phiếu KH**"* (`:88`). Ba ô này đều là quyết định thiết kế, không phải tra cứu. Dòng 6 nặng nhất vì nó gạt đi quy tắc rẽ nhánh **duy nhất** mà giấy tờ đưa ra (xem N3). Đề nghị: hoặc đổi nhãn cột thành "Xử lý (đã quyết / chờ owner)", hoặc chuyển 3 ô này sang mục quyết định để owner nhìn thấy chúng là lựa chọn chứ không phải sự thật. - **N3 — TRUNG — dùng FO-002.01 theo hai chiều ngược nhau.** Dòng 9 lấy form làm *"Đối chứng GIẤY"* rằng chuỗi duyệt của phiếu kế hoạch **cùng hình** với chuỗi trên giấy (`:91`); nhưng dòng 2 lại khai form *"im lặng"* về thời hạn của khúc 7→12 (`:84`). Nếu hai chuỗi thật sự cùng hình thì quy tắc xử lý của form — *"Mỗi bộ phận chỉ có 01 ngày để xử lý. Nếu kéo dài hơn 01 ngày mà vẫn chưa xử lý xong, thì xem như đã thông qua."* (`src-FO-002.01-bang-kiem-tra-HD.txt:46`) — chính là thứ gần nhất với một quy định thời hạn cho chuỗi đó. Không đòi hoà giải (O-2 đã chốt bỏ SLA-engine), chỉ đòi bảng đừng nói nguồn im lặng ở nơi mình vừa dùng nguồn đó làm bằng chứng. - **N4 — THẤP — "ISO không nói" về bypass Chủ đầu tư thực ra là "ISO loại trừ".** Dòng 6 ghi cột ISO là *"không nói"* (`:88`). Phạm vi ISO nói rõ: *"Áp dụng đối với các hợp đồng/phụ lục hợp đồng **Thầu phụ/Nhà cung cấp/Tổ đội**"* (`src-QT-TRINH-KY-HD.txt:12`), tức hợp đồng Chủ đầu tư **nằm ngoài phạm vi** văn bản này — khác hẳn im lặng. Ô đúng là "ngoài phạm vi". Khác biệt này có ích: nó giải thích vì sao chỉ có form giấy mới nói tới nhánh CĐT (`src-FO-002.01-bang-kiem-tra-HD.txt:46`). - **N5 — THẤP — mẫu tìm hẹp cho một khẳng định vắng mặt.** Spec `:17` khẳng định *"repo 0-hit `shopdrawing|TVGS|duyệt mẫu`"*. Khẳng định này có phép kiểm (chạy lại lệnh tìm) nên đạt sàn đo được, nhưng ba từ khoá tiếng Anh và một cụm tiếng Việt không phủ các biến thể khả dĩ như "bản vẽ thi công", "duyệt vật tư mẫu", "giám sát". Vắng mặt chỉ chắc bằng đúng độ rộng của mẫu tìm. - **N6 — KHÔNG TÍNH LỖI, ghi nhận kiểm soát tốt.** Phạm vi khai là b.7→12, và §2.5 có *"Cầu tiếp giáp b.12→13 (sửa 1 file) — ⚠️ chạm module Contract"* (`:196`) tức bước ra ngoài phạm vi. Nhưng spec đã tự rào đúng chỗ: O-3 chốt *"Wave nào chạm module Contract phải hỏi lại anh"* (`:48`) và WAVE 5 đánh dấu *"CHẶN: Q6, Q11 + anh cho phép chạm HĐ"* (`:293`). Nống có khai báo và có cổng chặn thì không phải nống lén. ## Điểm CỦNG CỐ Tám chỗ tôi cố đánh mà không đổ, ghi lại để đợt sau đừng soi lại: 1. **Số 9 của ISO đúng.** Bảng 2 = tiêu đề + 9 bước (`src-QT-TRINH-KY-HD.txt:59-68`); Bảng 1 cũng có đúng 9 dòng trách nhiệm có nội dung (`:47-55`) — hai bảng khớp nhau về số bước. 2. **Ánh xạ 9↔9 khớp cả tên trạm lẫn thứ tự** (chi tiết ở Verdict mục 1). Không có bước nào bị đảo, không có bước nào bị nhét thêm. 3. **Dãy thời hạn trích đúng từng ô.** Spec `:85` ghi *"07/07/07/07/03/01 ngày"*; Bảng 1 cho: `07 ngày` ở bước 2 (`:48`), bước 3 (`:49`), bước 4 (`:50`), bước 5 (`:51`), rồi `03 ngày` ở CCM (`:52`), `01 ngày` ở BOD/NĐUQ (`:53`), và ba bước 1/8/9 bỏ trống. Sáu trên sáu. 4. **Quy tắc quá hạn của form trích đúng nguyên văn** (`src-FO-002.01-bang-kiem-tra-HD.txt:46`), và nhận xét *"auto-pass mâu thuẫn mô hình duyệt-chặn V2"* (`spec:85`) là đúng bản chất: form cho đi tiếp khi im lặng, khung V2 thì chặn tới khi có người bấm. 5. **Ba ánh xạ vai lõi đúng từng chữ:** *"CCM : Phòng Kiểm soát Chi phí"* (`:20`) ↔ `CostControl`; *"PRO : Phòng Cung ứng"* (`:21`) ↔ `Procurement`; *"BOD : Ban Giám đốc"* + *"NĐUQ : Người được ủy quyền"* (`:18-19`) ↔ `Director` + `AuthorizedSigner`, và form gọi đúng cặp đó là *"GIÁM ĐỐC / Hoặc Người được ủy quyền"* (`src-FO-002.01-bang-kiem-tra-HD.txt:41`). 6. **Thứ tự bốn trạm trên form đúng như spec ghi.** Đọc theo thứ tự vật lý các dòng của bảng: ĐỀ XUẤT (`:15-20`) → PHÒNG CUNG ỨNG (`:21-30`) → PHÒNG CCM (`:31-40`) → GIÁM ĐỐC (`:41-45`). Chuỗi `ĐỀ XUẤT→PRO→CCM→GĐ` ở `spec:91` không bịa thứ tự; chỗ sai chỉ là mệnh đề "cùng hình với ISO 5-7" (B1). 7. **Nhánh bypass Chủ đầu tư có thật và trích đúng.** Form: *"Đối với hợp đồng/phụ lục hợp đồng ký kết với Chủ đầu tư, Đơn vị đề xuất có thể chuyển trực tiếp hợp đồng Giám đốc."* (`:46`) — khớp `spec:88`. 8. **Lập luận §1.6 "chỉ một chuỗi duyệt" nhất quán với cả hai nguồn tôi cầm.** Form có đúng một chuỗi ký cho cả bộ hồ sơ, ISO cũng chỉ có một dòng duyệt tuyến tính; không nguồn nào vẽ chuỗi duyệt thứ hai cho mẫu hay bản vẽ. Kết luận "b.8-9 là bảng con, không phải phiếu con" (`spec:72-77`) không bị nguồn phản bác.