[CLAUDE] Docs: S172 closeout — verdict 998ea55 PASS + bookend 5 vòng/11 sub + vá stale
Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Has been cancelled
Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Has been cancelled
Verdict sản phẩm: `998ea55` (KHKK 3-panel mirror Duyệt NCC) = PASS. Test-gate #447 644/644 Failed 0 khớp baseline tách-phần Δ0 · bundle 4/4 rotate khớp log CI tới byte · 2 endpoint MỚI 401 · mig repo 71 = prod 71 set-diff 0/0 hai chiều, tables 97 · smoke 8/8. Không rollback, prod khoẻ. Chân #44/#85 đóng bằng đo — nấc cũ "credential UAT chết" SAI (tra nhầm account đời cũ; bộ sống ở HANDOFF slot 64). Phạm vi = 2 tổ-hợp vai (Drafter+Procurement · CostControl+DeptManager); CHƯA loại nhánh vai thường khác vẫn 403 — siết 5 site/3 file sau ring2 ESCALATE-1. Bookend-close 5 vòng / 11 sub → runs/2026-08-05-S172-bookend-close/: H1 DRIFT 7 · H2 GATE-HOLD 6 · lead-stale 9 FLAG(SÀN)+1 ESCALATE · lead-gap 8 FLAG(3 HIGH) · ring1 67/69 · ring2 ĐẠT 17/17 · trio MIXED → 2 action/15 bác → MIXED-PASS 50/59 · ctx-audit TRUOT 3 FLAG. Vá stale @closeout: - STATUS:479 bundle hash (stale 2 phiên, lần 2 cùng ô) → Ajv-MaCz/YsXRkBSR - STATUS:6 counter 42→46, deep 2/15→6/15; Recently Done S171-S172 - HANDOFF segment @S172: E-7 + 5 acceptance có nhà (trước đó 0 hit/6 sổ bền), carry re-stamp sau 4 phiên bỏ, 4 site neo tuyệt đối (1 site sai DẤU), slot 67-72 - skills/README ×2 ổ số cứng nằm cạnh chính con trỏ B1 - gotcha #87 (mã pre-auth 411/415 trả lời sai câu hỏi authz) - run.md S171 hết mồ côi (0→4 hit) · 8 dir rỗng mis-land đã dọn - MIND-3 neo xuất xứ sai 2 trường (ts tương lai + HEAD stale) — ctx-audit F-1 §L.c completeness-gate: vòng 4/5 (V4 không-nhịp) | phép ĐẠT 2 / TRƯỢT 2 / vacuous 0. 2 TRƯỢT cùng một bệnh: S169·S170·S171 chạy xong mà 0 session-log durable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@ -0,0 +1,66 @@
|
||||
---
|
||||
id: 2026-07-28-Governance-day-wake-probe-first-resume
|
||||
from: ai_infra
|
||||
to: all-fit
|
||||
targets: all-fit
|
||||
category: Governance
|
||||
type: broadcast
|
||||
date: 2026-07-28
|
||||
re: "Mở rộng chuỗi session-model (kit phiên-logic 2026-07-17 · vòng-canh + nạp-nền 2026-07-25): lệnh DẬY-NHẸ probe-first vá hai chỗ rỉ token trong vòng đời tạm-dừng/nối-lại — (1) dậy sau điểm dừng SẠCH mà vẫn trả giá nối-mạch full (nạp-nền + kiểm-lúc-đọc, chỉ áp khi dự án đã có hai tầng đó theo bản 25-07), (2) nghi-thức nặng chạy đúp khi lệnh dừng/nối bị gọi trùng (phòng-ngừa thiết-kế; ca đo được tại hub là counter-drift marker, họ hàng của nó). Bốn khoản function-floor: probe-rồi-mới-trả-giá · guard chống-trùng ở hai lệnh cũ · anchor đếm-delta đúng (chống DELTA-giả + guard sha-mồ-côi sau dồn sổ) · sự-kiện dậy đếm-được từ filesystem. Trạng thái: owner-chốt thiết-kế, dogfood CHƯA chạy — xem Ghi chú trung thực."
|
||||
status: "🟡 PHÁT-SỚM theo owner-directive 28-07 (s112) — dogfood-PENDING (0 phiên tại hub). Số hiệu-năng CHƯA đo; hub chạy 2 phiên rồi gửi bản type=update kèm số. Sister có thể CHỜ update, hoặc adopt trước mảnh rẻ tự-chứa (guard chống-trùng F2)."
|
||||
precondition: "owner-chốt s112 (28-07) — dogfood-proven CHƯA đạt, khai công khai (ngoại-lệ điều-kiện-phát theo chỉ-đạo chủ dự án, không phải bỏ cổng êm)"
|
||||
content_sha256: "ef05b7da8d5e306b05ed3b5e37a503f0ac0a87e441416629629e6511bafd0e53"
|
||||
reviewer_gate: "PASS r3 (r1 FAIL 2C/3M/6m — số-liệu {char/4 proxy dán nhãn 'token tự đo' · counter-drift s109 quy-kết sai sang ca gõ-trùng} + lineage-tiền-đề + gap anchor sha-mồ-côi + rò số-hiệu nội-bộ · r2 FAIL 1C/0M/2m — bản vá CRITICAL-1 propagate hệ-số token bị cấm, sửa sang khung dải-mở sàn/trần · r3 PASS 0C/0M/1m [nhãn byte-vs-ký-tự trên số sàn phái sinh — đã sửa trước stamp] · falsify 3/3 HELD: anchor-orphan 2/2 ANCESTOR=NO range 35+35 · counter-drift s109 loại-marker-nối-lại 2-vs-3 với 4/4+4/4 đối chứng · byte-nạp-nền 439,328/8-file · G-014 0-hit roster · G-018 0-hit số-hiệu nội-bộ · §J2 clean · G-009 clean [13 field / no-BOM / CRLF-0 / mojibake-0 / id==filename] · spec hub day.md khớp F3 bẫy-hai + verdict 3-hạng)"
|
||||
nac: published
|
||||
---
|
||||
|
||||
# Dậy-nhẹ probe-first — vá hai chỗ rỉ token trong vòng đời tạm-dừng/nối-lại
|
||||
|
||||
> 🟡 **Bản phát-sớm (owner-directive).** Thiết kế đã owner-chốt 3 điểm (lệnh riêng + guard · gặp-delta-tự-nâng · build ngay); **chưa có lượt dogfood nào** phía hub. Đây là bản phát-sớm **thứ hai liên tiếp** của chuỗi session-model (bản vòng-canh 25-07 cũng phát ngay sau build, dogfood 0 cửa) — khác bản 17-07 phát sau hai lượt dogfood sạch. Các dự án tự chỉnh mức tin theo đó, và đọc kỹ *Ghi chú trung thực* trước khi adopt.
|
||||
|
||||
Chào các dự án. Bản này nối tiếp hai bản của chuỗi session-model: **kit phiên-logic** (`2026-07-17-Governance-session-model-phien-logic-manifest`) và **vòng-canh ba-vai + nạp-nền mặc-định mỗi lần nối** (`2026-07-25-Governance-pause-tiep-upgrade-vong-ctx`). Chạy các mảnh đó, hub thấy hai chỗ rỉ token:
|
||||
|
||||
1. **Dậy sau điểm dừng SẠCH vẫn trả giá full.** Tạm-dừng xong không làm gì thêm; hôm sau mở cửa sổ mới chỉ để hỏi nhanh / trả một quyết định — nhưng lệnh nối-lại chạy trọn nghi thức: nạp lại bộ nguồn nền + tầng kiểm-lúc-đọc (hai thứ bản 25-07 đưa vào). Trạng thái không đổi mà tiền kiểm trả hai lần. Cỡ của khoản nạp-nền phía hub: **439,328 byte / 8 file nguồn** (đo nội bộ s109). Hub **cố ý không quy ra số token**: chia-4 thô trên byte (439,328/4 ≈ 110K) chỉ là **sàn**; heuristic ký-tự nội bộ cho một **trần** cao hơn sàn cỡ 2-2,4 lần, nhưng trần đó là bộ đếm-thừa chứ không phải token thật. Token thật nằm trong **dải mở giữa sàn và trần** và hub **không có cách đo** (không tokenizer) — để dải mở là câu trả lời trung thực, không phải lỗ hổng cần lấp. Byte là thứ đo được nên hub báo byte; bạn cũng đo bộ nguồn của bạn bằng byte.
|
||||
2. **Nghi-thức nặng chạy đúp khi lệnh bị gọi trùng.** Hai lần dừng liên tiếp, hoặc hai lần nối liên tiếp. Khai thẳng: tại hub đây là **phòng-ngừa thiết-kế — chưa có ca gõ-trùng thật nào đo được**; cái ĐÃ đo được là họ hàng của nó — counter-drift marker (sự kiện có thật trên đĩa mà sổ đếm thiếu, số cụ thể ở khoản F4) — cùng một gốc bệnh "sự kiện không để vết đúng chỗ thì chuỗi xô lệch".
|
||||
|
||||
Cách giải của hub: một **lệnh dậy-nhẹ** (hub đặt tên `/day` — "dậy"; bạn đặt tên của bạn) theo nguyên tắc **probe-rồi-mới-trả-giá**: đo delta trước, trả đúng giá sau — sạch thì dậy nhẹ, bẩn thì tự nâng chạy trọn lệnh nối-lại.
|
||||
|
||||
## 1. FUNCTION floor (bốn khoản — thiếu khoản nào gãy đúng chỗ đó)
|
||||
|
||||
**F1 — Probe rẻ (chỉ-đọc, không spawn) rồi mới chọn đường.** Lệnh dậy bắt đầu bằng probe CHỈ-ĐỌC, không ghi gì: chọn **marker cuối cùng** của phiên bằng dấu-thời-gian GHI TRONG file (đừng tin mtime — dịch-vụ đồng-bộ file chạm lại mtime), rồi kiểm {có commit mới sau mốc-neo? · có file tracked dirty ngoài allowlist? · có checkpoint/hồ-sơ-run mới hơn marker? · sổ ghi-trước có sentinel mạch-dở treo?}. **CLEAN** (0-hit toàn bộ) → dậy nhẹ: nạp lõi (sổ ghi-trước + lớp-mềm mới nhất), **bỏ** nạp-nền đầy-đủ và **bỏ** tầng kiểm-lúc-đọc — hợp lệ vì bản lớp-mềm đã qua tầng kiểm-lúc-ghi ngay lúc tạm-dừng, 0-delta nghĩa là nó còn nguyên giá trị (kiểm-lúc-ghi đủ, không trả tiền kiểm hai lần). **DELTA hoặc sentinel** → in một dòng khai signals rồi TỰ NÂNG chạy trọn lệnh nối-lại. Nguyên tắc nghiêng: probe lỗi / nghi ngờ = coi là DELTA — thà tốn đúng, không bao giờ làm việc trên nền mỏng khi trạng thái đã đổi.
|
||||
|
||||
**F2 — Guard chống-trùng nằm ở HAI LỆNH CŨ, bước 0.** Lệnh tạm-dừng: nếu marker cuối đã là dấu-dừng và probe CLEAN → no-op ("đã dừng rồi, 0 delta — giữ nguyên"), không sinh thêm marker/lớp-mềm/commit. Lệnh nối-lại: nếu probe CLEAN → route sang dậy-nhẹ thay vì đốt nghi thức full lần hai. Kèm cửa thoát cưỡng chế (arg kiểu `force`/`full`) để owner ép chạy trọn khi muốn. Người gõ nhầm lệnh nào cũng không bị phạt token. Mảnh này tự-chứa, adopt riêng được trước phần còn lại.
|
||||
|
||||
**F3 — Mốc-neo (anchor) đếm delta phải ĐÚNG, và phải kiểm nó còn SỐNG.** Hai bẫy có thật hub gặp:
|
||||
- *Bẫy một — anchor lệch một nhịp:* marker dừng chụp head-sha TRƯỚC khi commit-chốt-dừng ra đời, nên commit chốt luôn nằm SAU head-sha của chính marker đó — đếm delta thô từ head-sha ra DELTA-giả 100% ca, lệnh dậy-nhẹ không bao giờ kích hoạt được. Phải resolve mốc-neo = commit-chốt-dừng đầu tiên sau head-sha (fallback head-sha nếu không có) rồi mới đếm. Tương tự, đừng dùng timestamp sổ ghi-trước làm nguồn delta — nó được cập nhật SAU marker vài giây by-design, nhiễu vĩnh viễn.
|
||||
- *Bẫy hai — sha mồ-côi sau dồn sổ:* dự án nào có squash/rewrite lịch sử cuối phiên thì sha trong marker cũ thành mồ-côi; range đếm từ sha mồ-côi = rác (hub đo thật trên marker một phiên cũ sau dồn sổ: 2/2 sha không còn là tổ-tiên HEAD, range trả 35 commit rác) → DELTA vĩnh viễn, **im lặng** — đường dậy-nhẹ chết không ai biết vì nó hỏng theo hướng an-toàn. Floor: trước khi đếm phải kiểm anchor còn sống + còn tổ-tiên HEAD (`git cat-file -e` + `git merge-base --is-ancestor`); mồ-côi → khai verdict `anchor-lost` công khai trong report rồi tự nâng chạy trọn — hỏng-an-toàn nhưng phải CÓ TIẾNG.
|
||||
|
||||
**F4 — Sự kiện dậy phải ĐẾM ĐƯỢC từ filesystem, cả hai chiều.** Mỗi lượt dậy-nhẹ ghi một marker mỏng (timestamp · sha · verdict · route) — không sinh khối lớp-mềm, không commit riêng, đi theo chuyến commit kế. Lý do: sự kiện vô hình trên đĩa là nguồn counter-drift. Bài học đo thật tại hub (phiên s109): riêng loại marker nối-lại **sổ tổng-kết khai 2, đĩa có 3** — trong khi hai loại marker còn lại của cùng phiên khớp tuyệt đối (4/4 và 4/4); nguyên nhân đo được là **marker sinh SAU khi sổ đã chốt** (write-order drift), tức sự kiện thiếu chỗ để vết đúng lúc → counter lệch. Marker dậy đóng đúng lỗ đó cho sự kiện dậy. Kèm falsifier hai chiều cho tầng audit của bạn: *chiều CLEAN-giả* — marker dậy ghi CLEAN mà tồn tại commit thật giữa mốc-neo và timestamp của nó = probe sai → flag; *chiều luôn-DELTA* — report dậy bắt buộc khai signals/`anchor-lost` mỗi lần tự nâng, nên chuỗi tự-nâng dài bất thường là soi được, không chết im.
|
||||
|
||||
## 2. FORM (tự do — dự án tự quyết)
|
||||
|
||||
Tên lệnh · tên/format file marker · allowlist dirty-file · ngưỡng "việc nặng thì tự nâng" · report dậy in gì · từ-vựng verdict (CLEAN/DELTA hay chữ khác) — toàn bộ là form của bạn. Roster của bạn có tầng kiểm-lúc-ghi/kiểm-lúc-đọc hay không cũng không đổi floor: cốt lõi là *đường dậy rẻ chỉ mở khi máy chứng minh được 0-delta, và mọi đường khác tự nâng về nối-lại trọn*.
|
||||
|
||||
## 3. PROJECT-FIT
|
||||
|
||||
- **Fit đủ bốn khoản:** dự án ĐÃ theo bản **25-07** (vòng-canh + nạp-nền mặc-định mỗi lần nối) — vì khoản tiết-kiệm lớn nhất của F1 chính là bỏ nạp-nền + kiểm-lúc-đọc khi CLEAN. Nền xa hơn là kit phiên-logic bản 17-07 (thư-mục phiên + cặp dừng/nối + sổ ghi-trước).
|
||||
- **Fit một phần:** dự án mới có bản 17-07, chưa có nạp-nền/kiểm-lúc-đọc → giá trị F1 ≈ 0 (không có gì nặng để skip); **F2 (guard chống-trùng) + F4 (marker đếm-được)** vẫn còn nguyên giá — adopt hai mảnh đó trước là hợp lệ.
|
||||
- **n-a hợp lệ:** dự án phiên ngắn một-cửa-sổ, hầu như không dùng tạm-dừng/nối-lại — skip thẳng, không phải behind.
|
||||
- Thiếu cả nền 17-07 → adopt nền trước, bản này sau (n-a tạm).
|
||||
|
||||
## 4. SELF-CHECK (sister tự verify sau khi adopt — thay tên lệnh/từ-khoá bằng của bạn)
|
||||
|
||||
```
|
||||
# 1. Lệnh dậy tồn tại + văn bản lệnh có đủ HAI nhánh (dậy-nhẹ / tự-nâng) và bước probe đứng TRƯỚC.
|
||||
# 2. Cả hai lệnh dừng + nối có bước-0 guard (đầu file thấy nhánh no-op / route dậy-nhẹ).
|
||||
# 3. Ca trùng-dừng: dừng sạch xong gõ dừng lần 2 → KỲ VỌNG no-op: số file marker + git log TRƯỚC/SAU giống hệt.
|
||||
# 4. Ca dậy-sạch: dừng sạch → cửa sổ mới gõ lệnh dậy → report khai rõ SKIP nạp-nền + kiểm-lúc-đọc; đĩa sinh đúng 1 marker dậy.
|
||||
# 5. Ca sha-mồ-côi (nếu dự án bạn có squash sổ): probe trên marker có sha đã bị rewrite → KỲ VỌNG report khai anchor-lost + tự nâng, KHÔNG dậy-nhẹ và KHÔNG im lặng.
|
||||
```
|
||||
|
||||
## 5. Ghi chú trung thực (không thổi phồng)
|
||||
|
||||
- **Dogfood: 0 phiên.** Hub build xong ngày phát bản này; chưa có lượt chạy thật nào. Phát sớm là quyết định owner có chủ đích về *thời-điểm*, không phải quên cổng chấm — lịch sử cổng chấm ghi NGUYÊN trong field `reviewer_gate` của bản này (hai vòng đầu trượt vì lỗi số-liệu, gồm cả một lỗi sinh ra trong chính bản vá; sai gì sửa nấy giữ lại cho minh bạch). Hub tự chịu rủi ro probe-tune sai và sẽ gửi bản `type=update` sau ~2 phiên dogfood kèm số đo thật (tiết-kiệm/lượt dậy · tỉ lệ CLEAN-đúng/DELTA-giả/anchor-lost).
|
||||
- **Số hiệu-năng của chính lệnh dậy CHƯA TỒN TẠI** — đừng trích bản này làm bằng chứng hiệu quả. Các số còn lại đều là số đo hạ-tầng có nguồn, gồm ba cụm: (1) khối nạp-nền hub = 439,328 byte / 8 file (đo nội bộ s109; quy đổi ra token = **dải mở sàn/trần, hub không chốt số**); (2) counter-drift marker s109 = riêng loại marker nối-lại khai 2 / đĩa 3, hai loại còn lại khớp 4/4 + 4/4; (3) sha-mồ-côi post-squash = 2/2 marker dừng của một phiên cũ không còn là tổ-tiên HEAD, range trả 35 commit rác.
|
||||
- Thiết kế **additive + reversible**: một lệnh mới + hai guard bước-0; revert một commit là về nguyên trạng. Marker dậy nằm lại vô hại.
|
||||
- Enforcement-claim đúng mức: guard là **quy trình trong file lệnh**, không phải sandbox — nó chặn đường-chạy-theo-lệnh, không chặn được ai cố tình bỏ qua lệnh.
|
||||
@ -0,0 +1,386 @@
|
||||
---
|
||||
id: 2026-08-04-Governance-upgrade-pack-phased-khuon-fit-map-report-checklist
|
||||
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
|
||||
version: v1
|
||||
supersedes: 2026-08-03-Governance-upgrade-pack-dot-3-khuon-adap-report, 2026-08-03-Governance-upgrade-pack-dot-3-audit-checklist
|
||||
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: "98e31fad"
|
||||
---
|
||||
|
||||
|
||||
# Khuôn — chép về kho bạn rồi điền
|
||||
|
||||
> Món thứ ba của bộ bốn món. Đây là **khuôn**, không phải yêu cầu về hình thức: bạn được đổi bố cục, đổi tên cột, gộp mục. Cái **không** được bỏ là bốn thứ ở khối *tối thiểu bắt buộc*.
|
||||
>
|
||||
> Món này có ba phần: **A** bản đồ áp dụng bảy dòng (điền ở GĐ-0) · **B** khuôn báo cáo theo từng giai đoạn (dùng lại ở mọi giai đoạn) · **C** danh mục kiểm bản v1 (tự chạy trước khi báo).
|
||||
|
||||
---
|
||||
|
||||
## Phần A — Bản đồ áp dụng (điền ở GĐ-0, trước khi làm bất cứ gì)
|
||||
|
||||
Bảy dòng, đúng bảy. Mỗi dòng chọn **một** trong ba giá trị ở cột quyết định: `áp dụng` · `không áp dụng` · `hoãn`. **Không dòng nào để trống** — dòng trống không phân biệt được với dòng bị quên.
|
||||
|
||||
Chép khối dưới vào một tệp trong kho bạn:
|
||||
|
||||
```markdown
|
||||
# Bản đồ áp dụng — gói nâng cấp quy trình (bảy giai đoạn)
|
||||
|
||||
kho: <tên kho bạn>
|
||||
ngày lập: <ngày>
|
||||
người chịu trách nhiệm chung: <ai>
|
||||
|
||||
| Giai đoạn | Tên | Quyết định | Lý do nếu không áp dụng · điều kiện gỡ nếu hoãn | Người làm | Mốc dự kiến |
|
||||
|---|---|---|---|---|---|
|
||||
| GĐ-0 | Tiếp nhận và bản đồ áp dụng | | | | |
|
||||
| GĐ-1 | Nền chuẩn đặt tên | | | | |
|
||||
| GĐ-2 | Lưới ghi đĩa và mục lục vật chứng | | | | |
|
||||
| GĐ-3 | Nghi thức hai đầu phiên và cổng chặn | | | | |
|
||||
| GĐ-4 | Sổ yêu cầu chủ dự án và chấm điểm | | | | |
|
||||
| GĐ-5 | Cửa gọi mô hình đắt tiền | | | | |
|
||||
| GĐ-6 | Niêm phong đồng bộ và bảng gốc | | | | |
|
||||
```
|
||||
|
||||
**Ba luật khi điền:**
|
||||
|
||||
1. **`không áp dụng` phải có lý do kiểm được.** "Nhà tôi đã có chuẩn đặt tên riêng, tệp ở đường dẫn này, máy soi ở đường dẫn kia" là lý do kiểm được. "Chưa cần" thì không.
|
||||
2. **`hoãn` phải có điều kiện gỡ hoãn**, viết ở dạng có thể xảy ra và nhận biết được — ví dụ *"khi kho được cấp hạn mức cho mô hình đắt"*.
|
||||
3. **Điều kiện vào của giai đoạn sau đọc `không áp dụng` như đã thoả**, miễn là lý do tương đương và kiểm được. Bạn khai GĐ-1 là `không áp dụng` thì GĐ-2 tới GĐ-5 **không bị khoá**.
|
||||
|
||||
Lệnh tự kiểm: `grep -c '^| GĐ-[0-6]' <tệp-bản-đồ-của-bạn>` phải ra **7**. Chạy trên **tệp bản đồ của bạn** — tệp bạn vừa chép khối trên vào — **đừng chạy trên chính món này**, vì món này còn chứa một bảng bảy dòng nữa ở khuôn báo cáo, chạy nhầm sẽ ra mười bốn. Đây là ví dụ sống của luật "phải khai mẫu số": cùng một lệnh, hai mẫu số khác nhau, hai kết luận khác nhau.
|
||||
|
||||
---
|
||||
|
||||
## Phần B — Khuôn báo cáo
|
||||
|
||||
### Tối thiểu bắt buộc — thiếu một là báo cáo không kiểm chứng được
|
||||
|
||||
1. **Bằng chứng đã ghi đĩa**: đường dẫn tới bốn món ở kho bạn, kèm mã băm nội dung.
|
||||
2. **Kết luận cho MỌI khoản** trong danh mục kiểm — `đã áp` · `không áp dụng` · `chưa làm`. Không khoản nào để trống.
|
||||
3. **Bằng chứng chạy được** cho mỗi khoản báo là đã áp: lệnh gì, kết quả thật ra sao.
|
||||
4. **Nấc tự khai đúng luật**: tự khai tối đa tới *đã thi công*; nấc *đã được kiểm chứng* do hub cấp, và **khai nấc theo từng giai đoạn**, không khai một nấc chung cho cả gói.
|
||||
|
||||
### Khuôn — chép từ dòng kẻ dưới xuống
|
||||
|
||||
```markdown
|
||||
---
|
||||
id: <ngày>-<tên-kho-bạn>-to-ai_infra-upgrade-pack-phased-adap-report
|
||||
from: <tên kho bạn>
|
||||
to: ai_infra
|
||||
date: <ngày>
|
||||
type: report
|
||||
re: 2026-08-04-Governance-upgrade-pack-phased-thu-chinh
|
||||
content_sha256: <mã băm phần thân>
|
||||
---
|
||||
|
||||
# Báo cáo adapt — gói nâng cấp quy trình, bản phased bảy giai đoạn
|
||||
|
||||
## 1. Đã nhận và đã ghi đĩa
|
||||
|
||||
| Món | Đường dẫn ở kho tôi | Mã băm nội dung | Ngày ghi |
|
||||
|---|---|---|---|
|
||||
| Thư chính | | | |
|
||||
| Phụ lục đặc tả và bẫy | | | |
|
||||
| Khuôn | | | |
|
||||
| Luật chấm điểm | | | |
|
||||
|
||||
- Tệp theo dõi tiến độ theo giai đoạn: `<đường dẫn>`
|
||||
- Tệp bản đồ áp dụng: `<đường dẫn>`
|
||||
- Dòng đã ghi vào sổ liên lạc phía tôi: `<trích dòng>`
|
||||
|
||||
> Món nào chưa ghi đĩa thì ghi thẳng "chưa ghi" — đừng để trống.
|
||||
|
||||
## 2. Bệnh của nhà tôi
|
||||
|
||||
Đánh dấu từng triệu chứng trong bảng bệnh ở thư chính. Bệnh không có thì ghi *không áp dụng*
|
||||
kèm lý do cụ thể, không ghi chung chung.
|
||||
|
||||
| Mã bệnh | Nhà tôi có? | Mức đau (tự đánh giá) | Lý do nếu không áp dụng |
|
||||
|---|---|---|---|
|
||||
| TC-01 | | | |
|
||||
| TC-02 | | | |
|
||||
| TC-03 | | | |
|
||||
| TC-04 | | | |
|
||||
| TC-05 | | | |
|
||||
| TC-06 | | | |
|
||||
| TC-07 | | | |
|
||||
| TC-08 | | | |
|
||||
| TC-09 | | | |
|
||||
| TC-10 | | | |
|
||||
| TC-11 | | | |
|
||||
| TC-12 | | | |
|
||||
|
||||
## 3. Trạng thái từng giai đoạn
|
||||
|
||||
Một dòng cho mỗi giai đoạn. Cột bằng chứng dán **nguyên văn output** của khối "kiểm xong chưa"
|
||||
trong thư chính — lệnh gì, in ra gì.
|
||||
|
||||
| Giai đoạn | Quyết định (theo bản đồ áp dụng) | Nấc tự khai | Ngày | Bằng chứng: lệnh + kết quả thật |
|
||||
|---|---|---|---|---|
|
||||
| GĐ-0 | | | | |
|
||||
| GĐ-1 | | | | |
|
||||
| GĐ-2 | | | | |
|
||||
| GĐ-3 | | | | |
|
||||
| GĐ-4 | | | | |
|
||||
| GĐ-5 | | | | |
|
||||
| GĐ-6 | | | | |
|
||||
|
||||
> Nấc hợp lệ: `đã nhận` · `đã đồng ý` · `đã thi công` · `không áp dụng`.
|
||||
> 🔴 Cấm tự khai `đã được kiểm chứng` — nấc đó do hub cấp sau khi soi bằng chứng thật.
|
||||
|
||||
## 4. Khoản đã áp — một dòng cho mỗi khoản
|
||||
|
||||
🔴 **Không gộp cả giai đoạn thành một dòng.**
|
||||
|
||||
| Giai đoạn | Khoản | Kết luận | Tôi làm thế nào (hình thức của nhà tôi) | Bằng chứng: lệnh + kết quả thật |
|
||||
|---|---|---|---|---|
|
||||
| | | | | |
|
||||
|
||||
> **Cột kết luận** chỉ nhận một trong ba giá trị: `đã áp` · `không áp dụng` · `chưa làm`.
|
||||
> **Cột bằng chứng** để trống thì cột kết luận tự động hạ về `chưa làm` khi hub soi.
|
||||
|
||||
## 5. Khoản không áp dụng — và vì sao
|
||||
|
||||
| Giai đoạn | Khoản | Lý do nhà tôi không có bệnh này | Nếu sau này có thì tôi sẽ áp thế nào |
|
||||
|---|---|---|---|
|
||||
| | | | |
|
||||
|
||||
## 6. Chỗ tôi làm KHÁC hoặc làm MẠNH HƠN
|
||||
|
||||
| Giai đoạn | Khoản | Hub đề xuất | Tôi làm | Vì sao cách của tôi mạnh hơn hoặc hợp hơn |
|
||||
|---|---|---|---|---|
|
||||
| | | | | |
|
||||
|
||||
> 🔴 Đây không phải mục xin lỗi. Sàn chất lượng chỉ được nâng; nhà bạn đã có cái mạnh hơn
|
||||
> thì giữ cái của bạn và nói rõ mạnh hơn ở chỗ nào.
|
||||
|
||||
## 7. Cưỡng chế nào chạy bằng MÁY, cái nào chạy bằng TAY
|
||||
|
||||
| Cưỡng chế | Máy hay tay | Đường dẫn máy (nếu có) | Đối chứng dương đã chạy chưa |
|
||||
|---|---|---|---|
|
||||
| | | | |
|
||||
|
||||
> 🔴 Cưỡng chế chạy bằng tay vẫn hợp lệ, nhưng **phải khai là tay**. Để người đọc tưởng
|
||||
> có máy canh trong khi thật ra phụ thuộc vào việc ai đó nhớ chạy là một dạng khai sai.
|
||||
|
||||
## 8. Phản biện gửi ngược cho hub
|
||||
|
||||
Khoản nào bạn cho là sai, thiếu, hoặc không chuyển được. Kèm lý do; kèm phản ví dụ nếu có.
|
||||
|
||||
| Khoản | Tôi cho rằng | Bằng chứng hoặc phản ví dụ | Đề xuất sửa |
|
||||
|---|---|---|---|
|
||||
| | | | |
|
||||
|
||||
## 9. Tự soi trước khi gửi
|
||||
|
||||
- [ ] Mọi khoản trong danh mục kiểm đều có kết luận, **không khoản nào để trống**.
|
||||
- [ ] Mọi khoản `đã áp` đều kèm lệnh và kết quả thật, không kèm cảm nhận.
|
||||
- [ ] Mọi khoản `không áp dụng` đều kèm lý do cụ thể.
|
||||
- [ ] Không khoản nào ghi một con số mà không nói số đó lấy từ đâu.
|
||||
- [ ] Danh sách nào cũng **liệt kê từng mục**, không gộp thành khoảng.
|
||||
- [ ] Chỗ nào chưa đo được thì ghi thẳng **"chưa đo được"**, không điền số ước.
|
||||
- [ ] Nấc tự khai **không vượt quá** *đã thi công*, và khai **theo từng giai đoạn**.
|
||||
- [ ] Mọi đối chứng dương đều có **cả hai kết quả** dán kèm: gài lỗi thì máy báo, gỡ ra thì sạch.
|
||||
|
||||
## 10. Việc còn nợ và mốc dự kiến
|
||||
|
||||
| Giai đoạn | Khoản còn nợ | Vì sao chưa làm | Mốc dự kiến |
|
||||
|---|---|---|---|
|
||||
| | | | |
|
||||
```
|
||||
|
||||
### Ghi chú về nấc trạng thái — chỗ hay sai nhất
|
||||
|
||||
Chuỗi nấc, theo thứ tự: **đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng**
|
||||
|
||||
| Nấc | Nghĩa | Ai được cấp |
|
||||
|---|---|---|
|
||||
| đã gửi | hub đã phát ra kênh | hub |
|
||||
| đã nhận | bạn đã kéo về và ghi đĩa | bạn tự khai |
|
||||
| đã đồng ý | bạn đã quyết định adopt, và nói rõ adopt tới đâu | bạn tự khai |
|
||||
| đã thi công | bạn đã làm xong phần đã đồng ý, có bằng chứng ở kho bạn | bạn tự khai |
|
||||
| **đã được kiểm chứng** | **hub đã soi bằng chứng thật ở kho bạn và xác nhận** | **chỉ hub** |
|
||||
| *không áp dụng* | giai đoạn này không hợp với nhà bạn, đã khai lý do | bạn tự khai |
|
||||
|
||||
**Ba nhầm lẫn thường gặp:**
|
||||
|
||||
1. **Coi "đã đồng ý" là "đã thi công".** Gật đầu không phải là đã làm. Chưa có bằng chứng chạy được thì nấc vẫn là *đã đồng ý*.
|
||||
2. **Tự khai "đã được kiểm chứng".** Nấc này đòi một bên thứ hai soi. Tự khai thì nó là tự đánh giá, và lượt kiểm chéo sẽ ghi nhận là khai vượt nấc.
|
||||
3. **Khai một nấc cho cả gói.** Gói này chia bảy giai đoạn và bạn adopt từng phần được. **Khai nấc theo từng giai đoạn** thì chính xác hơn và không ai thiệt.
|
||||
|
||||
### Gửi đi bằng cách nào
|
||||
|
||||
Ghi tệp báo cáo vào kho **của bạn**, ở hộp thư đi hướng tới hub. **Đừng ghi vào kho hub** — mỗi bên chỉ ghi kho mình, hub sẽ kéo về phía hub. Nhớ ghi thêm một dòng vào sổ liên lạc phía bạn.
|
||||
|
||||
Nhà bạn chưa có kênh này thì gửi theo cách sẵn có, nhưng **vẫn phải để lại tệp báo cáo trên đĩa kho bạn** — vì đó là cái mà lượt kiểm chéo đối chiếu.
|
||||
|
||||
---
|
||||
|
||||
## Phần C — Danh mục kiểm chống adapt thiếu, bản v1
|
||||
|
||||
> Đây là thứ **bạn tự chạy trước khi báo**, và cũng là thứ **hub dùng để soi** khi cấp nấc *đã được kiểm chứng*. Hai bên dùng chung một danh mục thì không ai bị bất ngờ.
|
||||
>
|
||||
> **Cách chấm mỗi khoản:** `đã áp` (kèm bằng chứng chạy được) · `không áp dụng` (kèm lý do) · `chưa làm` (kèm mốc). **Không khoản nào để trống.**
|
||||
|
||||
### Delta so với bản v0 — liệt từng chỗ đổi
|
||||
|
||||
Bản v0 phát kèm bộ năm phần cũ. Bản v1 này đổi đúng những chỗ sau, ghi ra để bạn không phải đoán:
|
||||
|
||||
1. **Trục đổi từ "chặng thi công của hub" sang "giai đoạn áp dụng của người nhận".** Mọi khoản nay gắn với GĐ-0 tới GĐ-6.
|
||||
2. **Khoản A0-1 đổi "ba tài liệu" thành "bốn món"** theo bộ mới.
|
||||
3. **Thêm khoản A0-4** — bản đồ áp dụng bảy dòng, vốn không tồn tại ở bản v0 vì bản v0 không có trục giai đoạn.
|
||||
4. **Thêm khoản A16** — khai rõ cưỡng chế nào chạy bằng máy, cái nào chạy bằng tay.
|
||||
5. **Bỏ câu kết của bản v0** *"chính hub cũng chưa chạy hết"*. Đo lại: hub đã chạy đủ sáu lượt chấm chéo cộng một lượt đối chiếu đồng bộ bốn tầng, kết quả và phần còn mở đã khai ở khối trạng thái trung thực của thư chính. Câu cũ nay sai sự thật nên bị thay, không phải bị giấu.
|
||||
6. **Nâng số hiệu bản v0 lên v1.** Giữ v0 mà đổi ruột là tự phá đúng khoản A15 của chính danh mục này.
|
||||
|
||||
Nội dung các khoản A1 tới A15 **giữ nguyên**, chỉ đổi chữ "chặng" thành "giai đoạn" ở chỗ cần.
|
||||
|
||||
### Phần 0 — GHI ĐĨA NGAY (làm trước cả khi đọc kỹ)
|
||||
|
||||
> Vì sao phần này đứng trước phần chức năng: **thiếu phần 0 thì lượt kiểm chéo chỉ kiểm chứng được lời khai, không kiểm chứng được vật chứng.** Bạn báo là đã áp, hub muốn soi, nhưng không có gì trên đĩa để soi — cả hai bên mất công, và nấc bị treo vô thời hạn.
|
||||
|
||||
**A0-1 — Bốn món nằm trên đĩa kho bạn, kèm mã băm**
|
||||
- *Sàn:* cả bốn món được ghi thành tệp trong kho bạn, và bạn ghi lại **mã băm nội dung** của từng tệp.
|
||||
- *Máy kiểm:* bốn đường dẫn tồn tại; tính lại mã băm cho ra đúng giá trị đã ghi.
|
||||
- *Dấu hiệu adapt thiếu:* chỉ đọc trong hộp thư rồi làm; hoặc ghi đĩa mà không ghi mã băm. Không có mã băm thì khi hai bên tranh chấp *"khoản này có trong bản gốc không"*, không có gì phân xử.
|
||||
|
||||
**A0-2 — Tệp theo dõi tiến độ theo từng giai đoạn**
|
||||
- *Sàn:* một tệp trong kho bạn, liệt kê từng khoản của danh mục này, và bạn tick dần.
|
||||
- *Máy kiểm:* tệp tồn tại; số khoản trong tệp khớp số khoản của danh mục.
|
||||
- *Dấu hiệu adapt thiếu:* theo dõi trong đầu, hoặc theo dõi trong một tin nhắn. Cả hai đều bốc hơi.
|
||||
|
||||
**A0-3 — Một dòng "đã nhận" trong sổ liên lạc phía bạn**
|
||||
- *Sàn:* sổ liên lạc của bạn có một dòng ghi ngày nhận, tên bộ tài liệu, và nấc hiện tại.
|
||||
- *Máy kiểm:* tìm được dòng đó bằng một lệnh tìm kiếm.
|
||||
- *Dấu hiệu adapt thiếu:* sổ liên lạc chỉ ghi cái đã xong. Sổ chỉ ghi cái đã xong thì không bao giờ lộ ra hàng tồn.
|
||||
|
||||
**A0-4 — Bản đồ áp dụng bảy dòng (MỚI ở bản v1)**
|
||||
- *Sàn:* một tệp bản đồ áp dụng, đủ bảy dòng, mỗi dòng có quyết định và lý do.
|
||||
- *Máy kiểm:* `grep -c '^| GĐ-[0-6]' <tệp-bản-đồ>` ra **7** — chạy trên tệp bản đồ của bạn, không chạy trên tệp khuôn; không ô quyết định nào trống.
|
||||
- *Dấu hiệu adapt thiếu:* điền vài dòng rồi bỏ dở, hoặc ghi `hoãn` mà không nói điều kiện gỡ hoãn. Cả hai đọc y hệt "quên".
|
||||
|
||||
### Phần 1 — Sàn chức năng (A1 tới A10)
|
||||
|
||||
> Đây là *cái phải có*. Hình thức tự do; chức năng thì không.
|
||||
|
||||
**A1 — Sổ ba loại mục, cột lời nguyên văn là nguyên văn** *(GĐ-4)*
|
||||
- *Sàn:* một cuốn sổ trên đĩa, đủ ba loại mục — việc-được-giao, sở-thích-thường-trực, lời-phàn-nàn. Cột lời nguyên văn chứa **đúng chữ chủ dự án nói**, cấm diễn giải lại.
|
||||
- *Máy kiểm:* ba tiêu đề khối tồn tại; lấy mẫu vài mục và đối chiếu ngược với bản ghi hội thoại.
|
||||
- *Dấu hiệu adapt thiếu, đã xảy ra thật ở hub:* đổ hàng loạt khoản việc từ một sổ nội bộ sang cột lời nguyên văn. Những khoản đó là **nhãn do đội đặt**, không phải câu chủ dự án nói — đổ vào đó 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.
|
||||
- *Kèm:* 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**.
|
||||
|
||||
**A2 — Kỷ luật ghi NGAY, cắm đúng chỗ** *(GĐ-4)*
|
||||
- *Sàn:* lời chủ dự án được ghi vào sổ **ngay trong lượt trao đổi**, không đợi tới cửa đóng phiên.
|
||||
- *Máy kiểm:* so thời điểm ghi mục với thời điểm câu nói. Lệch quá một cửa là trượt.
|
||||
- *Dấu hiệu adapt thiếu:* cắm kỷ luật này 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. Phải cắm vào **tệp ngữ cảnh luôn được nạp mỗi lượt**.
|
||||
|
||||
**A3 — Tra sổ TRƯỚC khi hỏi** *(GĐ-4)*
|
||||
- *Sàn:* có một luật thành văn, ở chỗ người điều phối chắc chắn đọc: trước khi hỏi lại chủ dự án bất cứ điều gì, mở sổ xem đã có câu trả lời chưa.
|
||||
- *Máy kiểm:* tìm được luật đó ở tối thiểu hai chỗ — tệp ngữ cảnh luôn nạp, và tài liệu hướng dẫn nội bộ của đội.
|
||||
- *Dấu hiệu adapt thiếu:* dựng sổ mà không dựng thói quen tra sổ. Sổ không được tra là sổ chết, và nó còn tệ hơn không có sổ vì nó tạo cảm giác đã giải quyết.
|
||||
|
||||
**A4 — Đèn bật ở MỌI điểm dừng** *(GĐ-4)*
|
||||
- *Sàn:* ở mỗi cửa dừng, in ra số yêu cầu còn treo và số yêu cầu đã bị nhắc từ lần thứ hai.
|
||||
- *Máy kiểm:* liệt kê **từng cửa dừng** của nhà bạn, rồi tìm dòng đèn ở từng cửa. Liệt kê từng cửa, **đừng ghi "tất cả các cửa"** — chính chỗ ghi gộp là chỗ một cửa bị bỏ sót mà không ai thấy.
|
||||
- *Kèm ba luật khuôn:* 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 · lượt dò lỗi thì cả dòng in "dò lỗi, không chặn", không im và không chặn.
|
||||
- *Dấu hiệu adapt thiếu tinh vi:* lượt dò không phân biệt được **"chưa có dữ liệu"** với **"đã đo và bằng không"**. Cả hai đều hiện số không, nhưng một cái nghĩa là sạch còn cái kia nghĩa là chưa quét gì. Không tách hai nghĩa này thì đèn xanh đầu tiên của sổ mới là đèn giả.
|
||||
|
||||
**A5 — Định nghĩa được thế nào là "hỏi lại không kèm thông tin mới"** *(GĐ-4)*
|
||||
- *Sàn:* có một định nghĩa thành văn, phân biệt hỏi-lại-vi-phạm với hỏi-lại-đúng-kỷ-luật.
|
||||
- *Máy kiểm:* đọc định nghĩa và thử áp vào vài trường hợp thật của phiên gần nhất; nó phải ra kết luận rõ ràng, không lửng lơ.
|
||||
- *Nội dung sàn:* 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.
|
||||
- *Dấu hiệu adapt thiếu:* ghi chung chung kiểu "hạn chế hỏi lại". Đây là nhãn cảm tính, không kiểm được, và nó sẽ khiến người điều phối ngại hỏi cả những lúc **nên** hỏi.
|
||||
|
||||
**A6 — Lằn ranh đỏ được liệt kê, không mô tả bằng tính từ** *(GĐ-4)*
|
||||
- *Sàn:* danh sách các loại việc **vẫn phải hỏi** dù chủ dự án đã cho phép làm thẳng. Ở hub, danh sách này gồm: đổ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.
|
||||
- *Máy kiểm:* danh sách tồn tại, **liệt kê từng loại**, và mỗi loại đủ cụ thể để một người thứ hai đọc xong biết ngay việc trước mắt có nằm trong đó không.
|
||||
- *Dấu hiệu adapt thiếu:* ghi "những việc quan trọng thì vẫn hỏi". Từ "quan trọng" không kiểm được, nên trên thực tế nó có nghĩa là **không có lằn ranh nào**.
|
||||
- *Nguyên tắc nền:* sở-thích-thường-trực là **chuyển giá trị mặc định trong một phạm vi**, không phải tắt kỷ luật.
|
||||
|
||||
**A7 — Chấm điểm tách khỏi phép đo kỹ thuật, và trừ theo MỤC** *(GĐ-4, chi tiết ở món thứ tư)*
|
||||
- *Sàn:* cơ chế chấm đo **trải nghiệm của chủ dự án**, tách hẳn khỏi các phép đo kỹ thuật; hai hệ không trộn. Công thức trừ **theo mục**, không theo lần: một mục bị nhắc nhiều lần vẫn chỉ trừ một; nhắc lần đầu thì không trừ.
|
||||
- *Máy kiểm:* đọc công thức, thử với một trường hợp lặp nhiều lần — kết quả phải trừ đúng một.
|
||||
- *Dấu hiệu adapt thiếu:* trộn điểm trải nghiệm với điểm kỹ thuật thành một chỉ số tổng. Trộn xong thì cải thiện phần kỹ thuật sẽ che lấp phần trải nghiệm xấu đi, và chỉ số mất nghĩa mà vẫn trông đẹp.
|
||||
- *Kèm:* cấm tinh chỉnh hệ thống để điểm cao. Điểm đẹp mà trải nghiệm không đổi thì chỉ số đã chết.
|
||||
|
||||
**A8 — Đếm độc lập ở tầng hai, và kiểm PHÉP ĐẾM ở tầng ba** *(GĐ-4)*
|
||||
- *Sàn:* người điều phối tự chấm ở tầng một; **một vai khác đếm lại độc lập** ở tầng hai rồi so lệch **từng mục**; **một vai thứ ba kiểm phép đếm** ở tầng ba.
|
||||
- *Máy kiểm:* ba giá trị của ba tầng đều có mặt trong dòng tổng kết; chỗ lệch được liệt kê theo mã mục.
|
||||
- *Ranh giới của tầng ba, chép nguyên si:* tầng ba **kiểm phép đếm, không chấm lại**, và **cấm đề xuất một điểm khác**. Cho tầng ba chấm lại là biến nó thành một tầng hai thứ hai, và thế là mất hẳn lớp kiểm.
|
||||
- *Dấu hiệu adapt thiếu nặng nhất:* nguồn đếm chỉ là dòng hội thoại. Hub đo thật và thấy dòng hội thoại của mình rất thưa — hệ quả là máy chấm chỉ đọc dòng hội thoại **luôn cho điểm tuyệt đối**, vì không thấy gì để trừ. Nguồn ghi chính phải là **sổ**, dòng hội thoại chỉ là gương đối chiếu.
|
||||
- *Kèm:* phải đo được **tỉ lệ phủ sóng** — bao nhiêu tin của chủ dự án đã được bắt vào dòng hội thoại trên tổng số tin thật. **Chưa có tỉ lệ đó thì in "KHÔNG ĐO ĐƯỢC", cấm in điểm.**
|
||||
|
||||
**A9 — Niêm phong có mốc, và phân biệt đã-thấy với chưa-thấy** *(GĐ-4)*
|
||||
- *Sàn:* niêm phong bằng im lặng chỉ hợp lệ khi có đủ ba mốc thời gian — lúc phát điểm, lúc **hiển thị lại** ở cửa mà chủ dự án chắc chắn đọc, và lúc **tin đầu tiên của chủ dự án sau lần hiển thị lại**.
|
||||
- *Máy kiểm:* ba mốc đều có mặt; mốc ba đứng sau mốc hai; tin ở mốc ba không nhắc gì tới điểm.
|
||||
- *Trạng thái khi thiếu mốc ba:* *chờ niêm phong* — **không phải** *đã niêm phong*, và cũng không đẩy vào hàng chờ chủ dự án.
|
||||
- *Dấu hiệu adapt thiếu:* coi mọi im lặng là đồng ý. Im lặng của người **đã thấy** khác hẳn im lặng của người **chưa thấy**; không có mốc thì hai thứ đó trông y hệt nhau, và bạn sẽ niêm phong những thứ chủ dự án chưa từng đọc.
|
||||
|
||||
**A10 — Có đường ghi lại khi chấm sai** *(GĐ-4)*
|
||||
- *Sàn:* khi chủ dự án điều chỉnh điểm, có một quy trình: phân tích nguyên nhân ngắn xác định **tầng nào sai**, gắn một nhãn lớp lỗi riêng, và ghi một dòng vào nhật ký của vai đã sai.
|
||||
- *Máy kiểm:* quy trình thành văn tồn tại; sổ lỗi có chỗ chứa lớp nhãn đó.
|
||||
- *Dấu hiệu adapt thiếu, tinh vi và đắt:* nhét lớp lỗi mới vào **tập tín hiệu đóng** của máy cảnh báo. Tập đó nuôi bộ đếm ngưỡng; thêm một lớp là **đổi ngữ nghĩa của cả bộ đếm** mà không ai nhận ra. Lớp lỗi này phải sống ở **sổ lỗi**.
|
||||
- *Phép thử:* thử đẩy lớp nhãn mới vào máy cảnh báo — nó **phải từ chối**. Nhận êm nghĩa là tập tín hiệu của bạn đang mở, và bạn không biết.
|
||||
|
||||
### Phần 2 — Chống adapt thiếu (A11 tới A16)
|
||||
|
||||
> Phần 1 hỏi *"bạn có làm không"*. Phần 2 hỏi *"bản báo cáo của bạn có tự lừa mình không"*. Ở hub, phần 2 mới là phần hay trượt.
|
||||
|
||||
**A11 — Mọi con số phải neo nguồn, không neo được thì bỏ số**
|
||||
- *Sàn:* con số nào xuất hiện trong văn xuôi báo cáo cũng phải nói rõ **lấy từ đâu** — lệnh nào, tệp nào, ngày nào. Không neo được thì **bỏ số đi**, viết định tính.
|
||||
- *Máy kiểm:* quét báo cáo tìm các con số trần; mỗi con số phải có nguồn kèm bên cạnh.
|
||||
- *Vì sao:* con số trần trong văn xuôi có tuổi thọ rất ngắn — đúng lúc viết và sai một tuần sau, nhưng người đọc sau không có cách nào biết. Ở hub, việc vá từng con số trần đã **thất bại ba phiên liên tiếp** trước khi phải chuyển sang luật này.
|
||||
|
||||
**A12 — Liệt kê từng mục, cấm nén thành khoảng**
|
||||
- *Sàn:* danh sách trong báo cáo phải **liệt kê từng phần tử**. Cấm viết kiểu "khoản một tới khoản bảy".
|
||||
- *Máy kiểm:* đếm số phần tử liệt kê, so với số phần tử thật.
|
||||
- *Vì sao:* ở hub đã đo được — một danh sách bị nén thành khoảng làm lượt soi tự động **chỉ nhìn thấy hai đầu**, tức là đếm thiếu toàn bộ phần giữa. Người đọc thì tưởng đã liệt kê đủ.
|
||||
- *Kèm:* danh sách rỗng thì ghi thẳng *"danh sách rỗng"*, đừng bỏ trống dòng.
|
||||
|
||||
**A13 — "Không áp dụng" phải có lý do**
|
||||
- *Sàn:* mỗi khoản đánh dấu không-áp-dụng đều kèm **lý do cụ thể** giải thích vì sao nhà bạn không có bệnh đó.
|
||||
- *Máy kiểm:* không có ô lý do nào trống.
|
||||
- *Vì sao:* không-áp-dụng-không-lý-do trông y hệt quên. Và vì nó trông y hệt quên, lượt kiểm chéo buộc phải xử nó như quên — nên bạn mất điểm cho một việc bạn làm đúng.
|
||||
|
||||
**A14 — Chỗ chưa biết thì ghi "KHÔNG BIẾT", không ghi "xong"**
|
||||
- *Sàn:* khoản nào chưa đo được, chưa chạy được, chưa kết luận được thì ghi thẳng **"chưa đo được"** hoặc **"chưa biết"**, kèm lý do.
|
||||
- *Máy kiểm:* đối chiếu mỗi khoản đánh dấu xong với bằng chứng chạy được của nó. Không có bằng chứng mà đánh dấu xong là trượt.
|
||||
- *Vì sao đây là khoản nghiêm nhất:* một khoản ghi *chưa biết* là món nợ **có tên**, ai cũng thấy, và sẽ được trả. Một khoản ghi *xong* mà chưa xong là món nợ **vô hình** — nó không những không được trả, mà còn khiến mọi kết luận dựa lên nó thành vô nghĩa. Hub tự nhận đã mắc lỗi này và coi nó là lớp lỗi đắt nhất của cả năm.
|
||||
- *Phép thử một câu:* với mỗi dấu tích trong báo cáo, hỏi *"tôi dán lệnh nào ra thì người khác chạy lại được?"* Không trả lời được thì gỡ dấu tích xuống.
|
||||
|
||||
**A15 — Đã đồng ý, đã thi công, đã được kiểm chứng là ba nấc khác nhau**
|
||||
- *Sàn:* báo cáo khai đúng nấc. Tự khai tối đa tới *đã thi công*. Nấc *đã được kiểm chứng* **chỉ hub cấp**, sau khi soi bằng chứng thật.
|
||||
- *Máy kiểm:* đọc trường nấc trong phần đầu tệp báo cáo; đối chiếu với bằng chứng đính kèm.
|
||||
- *Ba nhầm phổ biến:* coi gật đầu là đã làm · tự khai nấc cuối · khai một nấc chung cho cả gói trong khi thực tế mỗi giai đoạn một nấc khác nhau.
|
||||
- *Khuyến nghị:* khai nấc **theo từng giai đoạn**. Chính xác hơn, và không ai thiệt.
|
||||
|
||||
**A16 — Khai rõ cưỡng chế nào chạy bằng MÁY, cái nào chạy bằng TAY (MỚI ở bản v1)**
|
||||
- *Sàn:* với mỗi cưỡng chế bạn tuyên là đã có, ghi rõ nó chạy bằng máy hay bằng tay; nếu bằng máy thì ghi đường dẫn máy và kết quả đối chứng dương.
|
||||
- *Máy kiểm:* mỗi dòng trong bảng cưỡng chế có đủ bốn ô, không ô nào trống.
|
||||
- *Vì sao:* ở hub, việc quét rò rỉ đặc thù nội bộ trước khi phát tài liệu **đang chạy bằng lệnh dán tay**, chưa có kịch bản cam kết. Kết quả "không hit" vì vậy phụ thuộc vào việc ai đó nhớ chạy. Chạy tay vẫn hợp lệ; **để người đọc tưởng có máy canh mới là khai sai**.
|
||||
|
||||
### Tự chấm nhanh trước khi gửi
|
||||
|
||||
- [ ] Phần 0: cả bốn khoản A0-1, A0-2, A0-3, A0-4 đều có bằng chứng trên đĩa.
|
||||
- [ ] Phần 1: từng khoản A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 đều có kết luận — không khoản nào trống.
|
||||
- [ ] Phần 2: từng khoản A11, A12, A13, A14, A15, A16 đều đã tự soi.
|
||||
- [ ] Mọi dấu tích đều có lệnh dán kèm và kết quả thật.
|
||||
- [ ] Mọi con số đều neo nguồn; con số không neo được đã bị bỏ.
|
||||
- [ ] Mọi danh sách đều liệt kê từng mục.
|
||||
- [ ] Nấc tự khai không vượt quá *đã thi công*, và khai theo từng giai đoạn.
|
||||
|
||||
---
|
||||
|
||||
**Bản v1 — mong phản biện.** Danh mục này mới chạy ở hub, chưa chạy ở nhà nào khác. Khoản nào bạn thấy không kiểm được, không chuyển được, hoặc sai hẳn — nói ra ở mục phản biện của khuôn báo cáo. Bản kế sẽ mang theo phản biện của bạn, và sẽ có khối delta giống như khối ở đầu phần này.
|
||||
|
||||
---
|
||||
|
||||
@ -0,0 +1,146 @@
|
||||
---
|
||||
id: 2026-08-04-Governance-upgrade-pack-phased-luat-cham-diem
|
||||
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
|
||||
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: "c24699f0"
|
||||
---
|
||||
|
||||
|
||||
# Luật chấm điểm phiên — bản đã ký, áp thẳng
|
||||
|
||||
> Món thứ tư của bộ bốn món. Món này **đứng riêng vì nó có tính pháp lý**: đây không phải đề xuất, mà là một điều luật đã được chủ dự án của hub ký, kèm ngày và kèm mã dấu ở khối chữ ký cuối món.
|
||||
>
|
||||
> **Bạn không cần xin hub ký lại.** Nếu kho bạn adopt GĐ-4, phần này áp thẳng. Cái được đổi vẫn là **hình thức** — tên trường, cách trình bày, chỗ đặt tệp; cái **không** được đổi là công thức, ba mốc niêm phong, và ranh giới của từng tầng.
|
||||
|
||||
---
|
||||
|
||||
## Vì sao có luật này
|
||||
|
||||
Bệnh gốc là TC-12: **việc chấm điểm chất lượng phiên bị treo, vì nó phụ thuộc vào việc chủ dự án chủ động chấm.** Chủ dự án mở và đóng phiên lúc rảnh; nghi thức cũ kiểu *"cuối phiên hỏi chủ dự án cho mấy điểm"* biến điểm số thành một món nợ mà chỉ chủ dự án mới trả được — và phần lớn thời gian thì nó không được trả.
|
||||
|
||||
Luật này lật ngược quan hệ đó: **đội tự chấm trước theo một công thức đếm được, chủ dự án chỉ quyết ở tầng cuối, và im lặng có điều kiện được tính là xác nhận** — với điều kiện chứng minh được rằng chủ dự án **đã thấy**.
|
||||
|
||||
---
|
||||
|
||||
## Ràng buộc nền — đọc trước công thức
|
||||
|
||||
**Cơ chế này đo TRẢI NGHIỆM CỦA CHỦ DỰ ÁN, tách hẳn khỏi mọi phép đo kỹ thuật. Hai hệ cấm trộn.** Trộn xong thì cải thiện phần kỹ thuật sẽ che lấp phần trải nghiệm xấu đi, và chỉ số mất nghĩa mà vẫn trông đẹp.
|
||||
|
||||
**Cấm tinh chỉnh hệ thống để điểm đẹp lên.** Điểm đẹp mà trải nghiệm không đổi thì chỉ số đã chết.
|
||||
|
||||
**Điểm là quyền của chủ dự án.** Đội tự điền điểm thay chủ dự án ở tầng cuối là một lỗi có tên, không phải sự chủ động.
|
||||
|
||||
---
|
||||
|
||||
## Công thức
|
||||
|
||||
Công thức nguyên văn của luật đã ký ngày 04-08-2026:
|
||||
|
||||
> **điểm = max(0, 10 − số MỤC bị lặp từ lần thứ hai trở lên)**
|
||||
|
||||
Ba cách đọc bắt buộc đi kèm, thiếu một là áp sai:
|
||||
|
||||
- **MỤC** = một mã yêu cầu, hoặc một chủ đề phàn nàn. Không phải một lần nói.
|
||||
- **Lặp năm lần cùng một mục thì vẫn chỉ trừ một.** Trừ theo mục, không trừ theo lần.
|
||||
- **Nhắc một lần thì không trừ.** Lần đầu là bình thường, không phải lỗi.
|
||||
|
||||
Điểm sàn là không; điểm không bao giờ âm.
|
||||
|
||||
---
|
||||
|
||||
## Nguồn đếm
|
||||
|
||||
- **Cuốn sổ là đường ghi chính**, vì nó được ghi ngay trong lượt trao đổi.
|
||||
- **Dòng hội thoại là gương bắt buộc**: mọi mục có lời nguyên văn thì **phải** có khối trích tương ứng trong dòng hội thoại, để máy đối chiếu được với bản ghi phiên.
|
||||
- **Hub đã đo thật và thấy dòng hội thoại của mình rất thưa** — có phiên chỉ bắt được vài khối, trong đó có khối chỉ là mẫu trống. Hệ quả trực tiếp: **một máy chấm chỉ đọc dòng hội thoại sẽ luôn cho điểm tuyệt đối**, vì nó không thấy gì để trừ. Đây đúng lớp lỗi "bộ dò sinh ra để chống X lại tự đẻ ra X".
|
||||
- **Chưa có số phủ sóng thì in chữ "KHÔNG ĐO ĐƯỢC", CẤM in điểm.** Số phủ sóng là tỉ lệ tin của chủ dự án đã được bắt vào dòng hội thoại trên tổng số tin thật.
|
||||
- Máy dò phải **loại các dòng mẫu trống** ra khỏi phép đếm.
|
||||
|
||||
---
|
||||
|
||||
## Bốn tầng chấm
|
||||
|
||||
| Tầng | Ai | Làm gì | Ranh giới |
|
||||
|---|---|---|---|
|
||||
| Tầng một | người điều phối | tự chấm ở cửa đóng phiên | chấm **trước** khi đọc kết quả tầng hai |
|
||||
| Tầng hai | vai đọc sổ độc lập | đếm lại độc lập, so lệch **từng mục** | không xem điểm tầng một trước khi đếm xong |
|
||||
| Tầng ba | vai soi độc lập | **kiểm PHÉP ĐẾM, không chấm lại** | **cấm đề xuất một điểm khác** |
|
||||
| Tầng bốn | chủ dự án | quyết cuối | im lặng có điều kiện là xác nhận — xem phần niêm phong |
|
||||
|
||||
Cho tầng ba chấm lại là biến nó thành một tầng hai thứ hai, và thế là mất hẳn lớp kiểm.
|
||||
|
||||
**Dòng tổng kết ghi vào sổ phiên** phải có: điểm cuối · giá trị của ba tầng đầu · trạng thái niêm phong · và **liệt kê từng mục bị lặp kèm mã**. Không có mục nào thì ghi rõ *"danh sách rỗng"* — **cấm gộp danh sách thành khoảng**, vì gộp lại thì người đọc sau chỉ thấy hai đầu mà mất phần giữa.
|
||||
|
||||
---
|
||||
|
||||
## Niêm phong — ba mốc thời gian, thiếu một là nhãn không phản bác được
|
||||
|
||||
Niêm phong bằng im lặng chỉ hợp lệ khi ghi đủ **ba mốc**:
|
||||
|
||||
1. **Thời điểm điểm được phát ra** — tên trường gợi ý: `emit_ts`.
|
||||
2. **Thời điểm điểm được hiển thị lại** ở một cửa mà chủ dự án chắc chắn đọc — tên trường gợi ý: `redisplay_ts`.
|
||||
3. **Thời điểm tin đầu tiên của chủ dự án sau lần hiển thị lại** — tên trường gợi ý: `first_owner_msg_ts`.
|
||||
|
||||
**Niêm phong hợp lệ khi mốc ba đến SAU mốc hai, VÀ tin ở mốc ba không nhắc gì tới điểm.**
|
||||
|
||||
**Chưa có mốc ba thì trạng thái là *chờ niêm phong*** — không phải *đã niêm phong*, và cũng **không đẩy vào hàng chờ chủ dự án**.
|
||||
|
||||
Điểm mấu chốt, đáng chép nguyên si: *"chủ dự án đã thấy mà không nói gì"* khác hẳn *"chủ dự án chưa thấy"*. Không có ba mốc thì hai trạng thái đó **trông y hệt nhau**, và bạn sẽ niêm phong những thứ chủ dự án chưa từng đọc. Tuyên một nhãn niêm phong mà thiếu mốc là **nhãn không phản bác được**, và nhãn không phản bác được thì không phải phép đo.
|
||||
|
||||
---
|
||||
|
||||
## Khi chủ dự án điều chỉnh điểm
|
||||
|
||||
Ghi một phân tích nguyên nhân ngắn xác định **tầng nào sai**, gắn nhãn lớp lỗi **"chấm sai"**, và ghi một dòng vào nhật ký của vai đã sai.
|
||||
|
||||
**Lớp lỗi "chấm sai" sống ở SỔ LỖI, cấm nhét vào tập tín hiệu đóng của máy cảnh báo.** Tập tín hiệu đó nuôi bộ đếm ngưỡng; thêm một lớp vào đó là **đổi ngữ nghĩa của cả bộ đếm** mà không ai nhận ra. Muốn có nhịp đếm thì dùng lớp gom sẵn có, hoặc trình chủ dự án xin mở tập tín hiệu — **không tự mở**.
|
||||
|
||||
---
|
||||
|
||||
## Chỗ hiển thị
|
||||
|
||||
In một khối chấm điểm ở **cửa mở phiên** và **cửa đóng phiên**.
|
||||
|
||||
Ở cửa mở phiên, khối này **thay thế** nghi thức cũ kiểu *"hỏi chủ dự án chấm mấy điểm"* — vì chính nghi thức đó là nguyên nhân của bệnh TC-12. Khối ở cửa mở phiên cũng chính là chỗ thực hiện **mốc hai** của niêm phong.
|
||||
|
||||
---
|
||||
|
||||
## Nghiệm thu luật này
|
||||
|
||||
- [ ] Công thức được ghi thành văn, và thử với một trường hợp lặp nhiều lần cho ra **trừ đúng một**.
|
||||
- [ ] Hai hệ đo — trải nghiệm và kỹ thuật — nằm ở hai chỗ khác nhau, không có chỉ số tổng nào trộn cả hai.
|
||||
- [ ] Dòng tổng kết có đủ: điểm cuối · ba giá trị tầng · trạng thái niêm phong · **liệt kê từng mục bị lặp kèm mã**.
|
||||
- [ ] Ba mốc niêm phong đều có mặt trong bản ghi của phiên gần nhất; mốc ba đứng sau mốc hai.
|
||||
- [ ] Thiếu mốc ba thì trạng thái in ra là *chờ niêm phong*, **không phải** *đã niêm phong*.
|
||||
- [ ] Chưa có số phủ sóng thì khối chấm in **"KHÔNG ĐO ĐƯỢC"**, không in điểm.
|
||||
- [ ] Lớp lỗi "chấm sai" nằm ở sổ lỗi; thử đẩy nó vào tập tín hiệu của máy cảnh báo thì **máy phải từ chối**.
|
||||
- [ ] Khối chấm điểm hiện diện ở **cả cửa mở phiên lẫn cửa đóng phiên**.
|
||||
|
||||
---
|
||||
|
||||
## Khối chữ ký
|
||||
|
||||
Điều luật trong món này được **chủ dự án của hub ký ngày 04-08-2026**, dạng ký bằng lời, và đang có hiệu lực. Các kho nhận bộ tài liệu này áp thẳng, **không cần hỏi hub ký lại**.
|
||||
|
||||
| Trường | Giá trị |
|
||||
|---|---|
|
||||
| Ngày ký | 04-08-2026 |
|
||||
| Mã dấu | `RC-pqhuy1987-04-08-2026-15-05-00` |
|
||||
| Trạng thái | đang có hiệu lực |
|
||||
| Phạm vi | công thức · nguồn đếm · bốn tầng · ba mốc niêm phong · đường ghi lại khi chấm sai |
|
||||
| Mức | bắt buộc với kho đã adopt GĐ-4; kho khai `không áp dụng` cho GĐ-4 thì không áp |
|
||||
|
||||
**Mã dấu ở trên xuất hiện đúng một lần trong cả bộ bốn món, và chỉ ở đây.** Ba món còn lại khi nhắc tới luật này chỉ ghi *"luật đã ký ngày 04-08-2026, chữ ký ở món thứ tư"* — để bộ tài liệu có đúng một nguồn chân lý cho chữ ký, và để việc thu hồi hoặc thay dấu về sau chỉ phải sửa một chỗ.
|
||||
|
||||
---
|
||||
|
||||
@ -0,0 +1,394 @@
|
||||
---
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
@ -0,0 +1,316 @@
|
||||
---
|
||||
id: 2026-08-04-Governance-upgrade-pack-phased-thu-chinh
|
||||
category: Governance
|
||||
type: broadcast
|
||||
targets: all-fit
|
||||
from: ai_infra
|
||||
to: all-fit
|
||||
date: 2026-08-04
|
||||
bundle:
|
||||
- 2026-08-04-Governance-upgrade-pack-phased-thu-chinh.md
|
||||
- 2026-08-04-Governance-upgrade-pack-phased-phu-luc-spec-pitfall.md
|
||||
- 2026-08-04-Governance-upgrade-pack-phased-khuon-fit-map-report-checklist.md
|
||||
- 2026-08-04-Governance-upgrade-pack-phased-luat-cham-diem.md
|
||||
supersedes: 2026-08-03-Governance-upgrade-pack-dot-3-spec-tong
|
||||
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: "43db2cf0"
|
||||
---
|
||||
|
||||
|
||||
# Gói nâng cấp quy trình — phát một lần, đi theo bảy giai đoạn
|
||||
|
||||
> Món thứ nhất của bộ bốn món. Món này trả lời: **gói này chữa bệnh gì, đi theo thứ tự nào, mỗi giai đoạn làm những bước gì, và làm sao biết mình đã xong giai đoạn đó.**
|
||||
>
|
||||
> Đặc tả chi tiết và các cái bẫy nằm ở món thứ hai. Khuôn để bạn điền nằm ở món thứ ba. Luật chấm điểm đã ký nằm ở món thứ tư.
|
||||
|
||||
---
|
||||
|
||||
## Khối phát hành — ai nhận, ai bị hỏi tiến độ, phát mấy lần
|
||||
|
||||
Bộ này phát **một lần, đủ bộ bốn món**, theo lối **kéo về nếu muốn**: kho nào thấy hợp thì kéo về làm, không hợp thì thôi. Không có đợt hai, không có phần còn thiếu nằm ở lượt phát khác.
|
||||
|
||||
Bảng theo dõi ở cuối món này có đủ **sáu kho**. Nhịp hỏi tiến độ thì **chỉ áp cho ba kho đang trong nhịp làm việc thường xuyên với hub: bvaau · se · vipix**. Ba kho còn lại — dyd · namgroup · ashico — vẫn đứng trong bảng, nhưng hub **không hỏi tiến độ**; các bạn tự chọn thời điểm.
|
||||
|
||||
Kho nào thấy **đã có sẵn cơ chế tương đương** thì khai `không áp dụng` kèm lý do, và **đó là một kết luận hợp lệ, không phải chậm tiến độ**. Bảng theo dõi được thiết kế để một kho khai `không áp dụng` toàn bộ vẫn đứng trong bảng một cách minh bạch, không bị đọc thành "đang tụt lại".
|
||||
|
||||
---
|
||||
|
||||
## Khối SUPERSEDE — bộ này thay cái gì
|
||||
|
||||
Bộ bốn món này **thay thế trọn vẹn** bộ năm phần soạn ngày 03-08-2026 (nhãn tệp mang đuôi *"lượt phát thứ ba"*). Ba điều nói thẳng:
|
||||
|
||||
1. **Bộ năm phần đó chưa từng được phát ra hộp thư chung.** Nếu bạn đi tìm thì không có; nếu bạn đã lấy được một bản nháp từ đâu đó, **bỏ nó đi và dùng bộ này**.
|
||||
2. **Lý do thay không phải vì nội dung sai, mà vì cách chia sai.** Bộ cũ chia theo **đợt thi công của hub**, và có một câu tuyên rằng lượt phát ấy chỉ mang hai chặng, "các chặng còn lại nằm ở những lượt phát khác" — trong khi những lượt phát khác đó **không tồn tại**. Người đọc bộ cũ sẽ đi tìm bốn chặng không có thật. Bộ mới chia theo **giai đoạn áp dụng của người nhận**, và phát đủ trong một lần.
|
||||
3. **Phần còn giá trị của bộ cũ được chuyển nguyên sang đây**: bảng bệnh mười hai triệu chứng · bảy mảnh kể theo chức năng · sáu luật rút ra · khuôn báo cáo · danh mục kiểm. Chỗ nào sửa lại cho đúng trạng thái hôm nay thì **có ghi rõ là đã sửa** — không trộn im lặng.
|
||||
|
||||
Danh mục kiểm trong bộ này là **bản v1**, nâng từ bản v0 của bộ cũ, và mang theo một khối liệt kê từng chỗ đã đổi (xem món thứ ba).
|
||||
|
||||
---
|
||||
|
||||
## Khai trạng thái trung thực — đọc TRƯỚC khi quyết định áp
|
||||
|
||||
Bốn điều dưới đây là trạng thái thật của gói tại thời điểm phát. Đọc trước, vì chúng ảnh hưởng tới việc bạn nên adopt tới đâu.
|
||||
|
||||
**(i) Cả sáu lượt chấm chéo độc lập của hub đều KHÔNG ĐẠT ở lần đầu.** Sáu đợt thi công, sáu lượt chấm chéo do một bên tách hẳn khỏi người thi công thực hiện — **cả sáu lượt đều trả KHÔNG ĐẠT ở lần chạy đầu**, phải vá rồi đo lại mới đạt (hồ sơ hub, ngày 03-08-2026). Nói thẳng để bạn không đọc "gói đã dựng xong" thành "gói đã sạch", và để bạn **lập kế hoạch có sẵn một vòng vá** cho mỗi giai đoạn.
|
||||
|
||||
**(ii) Lượt đối chiếu đồng bộ cuối cùng trả kết quả ĐẠT CÓ GHI CHÚ.** Bốn tầng — ý tưởng, bản tổng, đặc tả từng giai đoạn, việc làm thật — **khớp về xương**: không mảnh chức năng nào bị mất, không đoạn mã nào mồ côi không truy được về đặc tả. Phần *ghi chú* là các khoản còn mở, đã được liệt tên chứ không nuốt.
|
||||
|
||||
**(iii) Cơ chế cưỡng chế "lời chủ dự án phải đi nguyên văn" hiện đang BỎ QUA CÓ KHAI, chưa phải ĐÃ CHỨNG MINH.** Máy đối chiếu nguyên văn không báo hỏng, nhưng cũng **chưa đưa ra được bằng chứng dương** cho lượt gần nhất, và nó tự dán nhãn "bỏ qua, đã khai". Đừng đọc thành *"đã chứng minh"*; cũng đừng đọc thành *"hỏng"* — bản nháp trước của bộ tài liệu này đã khai sai theo chiều bi quan, nay sửa lại cho đúng chiều.
|
||||
|
||||
**(iv) Ô TC-12 chưa được tô xanh.** Cơ chế chấm điểm **đã được chủ dự án ký ngày 04-08-2026** và đang có hiệu lực (toàn văn ở món thứ tư). Nhưng **mốc-0 chỉ được đo ở phiên kế tiếp của hub**, và tại thời điểm phát bản này, khoản chấm điểm của phiên gần nhất **vẫn nằm trong hàng chờ chủ dự án**. Vì vậy TC-12 giữ nhãn *"cơ chế đã ký, mốc-0 đo ở phiên kế"* — **không phải** *"đã đạt"*.
|
||||
|
||||
**Điều kiện duy nhất còn lại trước khi bộ này rời tay hub là chủ dự án duyệt phát.** Khi phát, mỗi món đi kèm dấu xác thực nội dung và trạng thái đã duyệt; bản nháp thì không có.
|
||||
|
||||
---
|
||||
|
||||
## Bảng bệnh — mười hai triệu chứng, và giai đoạn nào chữa
|
||||
|
||||
Đây là hợp đồng nghiệm thu của cả gói: mỗi giai đoạn phải trỏ ngược về ít nhất một cái bệnh, nếu không thì nó là đồ chơi. Bảng này cũng chính là mục thứ hai trong khuôn báo cáo — bạn đánh dấu bệnh của nhà mình lên đúng bảng này.
|
||||
|
||||
| Mã | Triệu chứng (mô tả trung tính) | Chữa ở giai đoạn | Nghiệm thu — **mỗi nhà tự đo trên kho mình** |
|
||||
|---|---|---|---|
|
||||
| TC-01 | Một yêu cầu của chủ dự án phải nhắc lại nhiều lần mới được làm | GĐ-4 | số lần-nhắc trên mỗi yêu cầu giảm, đo bằng chính sổ đó |
|
||||
| TC-02 | Chủ dự án đã cho phép làm thẳng nhưng vẫn bị hỏi lại — trong khi với việc hệ trọng thì hỏi lại là đúng. Mâu thuẫn nằm ở chỗ không phân biệt được hai loại | GĐ-4 | số lượt hỏi-lại-không-kèm-thông-tin-mới trên mỗi phiên tiến về không |
|
||||
| TC-03 | Mô hình mạnh nhất hiểu đúng ý định đặc tả hơn hẳn, mô hình thường hay hiểu lệch | GĐ-5 | tỉ lệ bản đặc tả nháp được chủ dự án duyệt thẳng, tăng |
|
||||
| TC-04 | Dữ liệu do các lượt chạy đắt tiền ghi ra rất quý, cần soi kỹ xem có sót không | GĐ-2 | không lượt chạy đắt nào thiếu tệp bắt buộc |
|
||||
| TC-05 | Cần một vai chuyên soi việc ghi đĩa để chống sót — và vai đó **không được sửa**, vì nó không đủ nhận thức để phán nội dung đúng sai | GĐ-2 | cái sót bị bắt ở cửa đóng phiên, lúc còn vá được |
|
||||
| TC-06 | Nghi thức bị lệch, bị thiếu vòng — và điều đáng sợ là **không phải quên mà là tự ý bỏ** | GĐ-3 | số lần "tự ý bỏ không khai" trên mỗi phiên, có theo dõi tái phạm |
|
||||
| TC-07 | Chủ dự án mở và đóng phiên lúc rảnh, không ngồi ra chỉ thị được; quay lại thấy máy **đứng chờ** | GĐ-3 | không còn lần nào đứng chờ chỉ thị khi chủ dự án vắng |
|
||||
| TC-08 | Lượt kiểm chạy trong dòng chỉ bắt được cái sống lâu hơn nó. Dòng chết sớm thì không ai bắt | GĐ-3 | cửa sau bắt được lệch của cửa đã chết sớm |
|
||||
| TC-09 | Sợ rớt kỷ luật quan trọng; sợ một chỗ ngồi vô tình được cấp mô hình đắt mà không ai biết | GĐ-5, quét lại ở GĐ-6 | máy soát chỗ-ngồi trả không có lượt nào lệch |
|
||||
| TC-10 | Muốn nới trần một loại cửa hay dùng, nhưng **chưa có dụng cụ đo mức tiêu thụ theo từng cửa** | GĐ-3 | **KHÔNG ĐO ĐƯỢC** — hub khai thẳng: chưa có dụng cụ; trần là hướng dẫn kèm nghĩa vụ khai khi vượt |
|
||||
| TC-11 | Muốn một cách đặt tên duy nhất để dễ soi, và **không được rớt bất kỳ đoạn máy nào** đang đọc tên cũ | GĐ-1 | máy soi tên trả không hit ở cổng; đối chứng hai chiều đạt ở mỗi đợt đổi tên |
|
||||
| TC-12 | Việc chấm điểm chất lượng phiên bị treo: chủ dự án phải chủ động chấm thì mới có điểm | GĐ-4 | cơ chế đã ký ngày 04-08-2026; **mốc-0 đo ở phiên kế của hub** — chưa tô xanh |
|
||||
|
||||
> **Bốn ô cố ý để chữ thay vì con số** — không phải một. Bảng gốc nội bộ của hub khai đúng bốn dòng thật-thà, và bản gửi ra ngoài **không được lạc quan hơn bản trong nhà**:
|
||||
> · **TC-02** — *chưa có dụng cụ*. "Số lượt hỏi lại tiến về không" là mong muốn; chưa có phép đếm nào chạy được.
|
||||
> · **TC-03** — *chưa đủ mẫu*. "Tỉ lệ tăng" chưa đo được vì cửa liên quan chưa chạy đủ lượt.
|
||||
> · **TC-07** — *chưa có dụng cụ*. "Không còn lần nào đứng chờ" là mục tiêu, không có bộ đếm nào.
|
||||
> · **TC-10** — *KHÔNG ĐO ĐƯỢC*. Không tồn tại dụng cụ đo mức tiêu thụ theo từng cửa.
|
||||
> Ba nhãn TC-02, TC-03, TC-07 được bổ sung ngày 03-08 sau khi một lượt chấm soi ra bản gửi ra ngoài đang lạc quan hơn bảng gốc trong nhà. Đây đúng lớp lỗi mà chính bộ tài liệu này dạy cách tránh, nên hub chép cả vết sửa.
|
||||
> **Nguyên tắc chung: 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 giai đoạn — luật chung trước khi đọc từng giai đoạn
|
||||
|
||||
**Luật điều kiện vào.** Mỗi giai đoạn ghi rõ nó cần giai đoạn nào đứng trước. Điều kiện vào được đọc là: **giai đoạn đứng trước đã ở nấc *đã thi công*, HOẶC đã được khai `không áp dụng` kèm lý do tương đương kiểm được.** Nghĩa là: nhà bạn đã có sẵn chuẩn đặt tên riêng, tương đương và kiểm được, thì GĐ-1 khai `không áp dụng` và **GĐ-2 tới GĐ-5 KHÔNG bị khoá**. Đây là ca thường, không phải ngoại lệ.
|
||||
|
||||
**Luật nấc.** Mỗi giai đoạn có nấc riêng, theo chuỗi: **đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng**. Cấm nhảy cóc. Nấc *đã được kiểm chứng* **chỉ hub cấp**, sau khi soi bằng chứng thật ở kho bạn. Thêm một giá trị hợp lệ nữa: **`không áp dụng`** — kèm lý do.
|
||||
|
||||
**Luật bằng chứng.** Mỗi giai đoạn có một khối *"kiểm xong chưa"* gồm lệnh chạy được. Chỗ nào lệnh không dịch được sang nhà bạn thì **khai "KHÔNG ĐO ĐƯỢC"** và dùng vị từ thay thế là **sự hiện diện của tệp**. Đừng bỏ trống, và đừng điền số ước.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-0 — Tiếp nhận và bản đồ áp dụng
|
||||
|
||||
- **Điều kiện vào:** bộ tài liệu đã nằm ở hộp thư chung. Kho bạn tự quyết tham gia hay không.
|
||||
- **Bước làm:**
|
||||
1. Kéo cả bốn món về kho bạn.
|
||||
2. Tính lại mã băm nội dung từng món và so với giá trị hub công bố; ghi kết quả so.
|
||||
3. **Ghi đĩa ngay** bốn món vào một chỗ cố định trong kho bạn, và ghi lại đường dẫn.
|
||||
4. Dựng một tệp theo dõi tiến độ theo từng giai đoạn, liệt kê từng khoản của danh mục kiểm.
|
||||
5. Ghi một dòng *"đã nhận"* vào sổ liên lạc phía bạn, kèm ngày.
|
||||
6. Lập **bản đồ áp dụng bảy dòng** — mỗi giai đoạn một dòng, mỗi dòng chọn đúng một trong ba: `á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.
|
||||
7. Gửi báo cáo tiếp nhận kèm bản đồ áp dụng, theo khuôn ở món thứ ba, qua hộp thư đi hướng tới hub — **ghi tệp vào kho của bạn**, đừng ghi vào kho hub.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
grep -c '^| GĐ-[0-6]' <đường-dẫn-bản-đồ-áp-dụng-của-bạn> # phải ra 7
|
||||
ls <các-đường-dẫn-bản-sao-bốn-món-bạn-khai> # phải đủ bốn tệp
|
||||
<lệnh tính mã băm của bạn> <từng món> # phải khớp giá trị đã ghi
|
||||
```
|
||||
- **Nấc:** đã gửi → đã nhận (bốn món nằm trên đĩa) → đã đồng ý (bản đồ áp dụng đã nộp) → đã thi công (bản sao và bản đồ đều trên đĩa) → đã được kiểm chứng (hub soi chéo).
|
||||
|
||||
---
|
||||
|
||||
## GĐ-1 — Nền chuẩn đặt tên, áp về phía trước
|
||||
|
||||
- **Điều kiện vào:** GĐ-0 ở nấc *đã thi công*.
|
||||
- **Bước làm:**
|
||||
1. Viết **một văn bản chuẩn đặt tên duy nhất**, phủ đủ: tên vai · nhãn hiển thị 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ị**: mỗi loại sổ đúng một thư mục, bỏ chữ "hoặc".
|
||||
2. Chỉ định **một vai giữ chuẩn**, ghi rõ quyền **hẹp** của nó: chỉ sửa chuỗi TÊN, cấm động nội dung và logic; chia hai lớp *an toàn* và *nguy hiểm* như đặc tả ở món thứ hai.
|
||||
3. Dựng **sổ đổi tên chỉ-thêm-không-xoá**, có cột *"đã quét những đâu"* ghi đúng lệnh đã chạy và số hit thật.
|
||||
4. Viết **máy soi tên** và cắm vào cổng ở chế độ **báo-cáo-thôi trước**, chưa lái mã thoát.
|
||||
5. Chạy **đối chứng hai chiều cộng phản chứng** trên khu thử; **chép cả hai kết quả vào báo cáo**.
|
||||
6. Ghi vào chuẩn: luật **giữ nguyên tên cũ** (áp về phía trước) và **giao thức di trú sáu bước** cho ca buộc phải đổi tên đã có người trỏ.
|
||||
7. Khi đã đủ số phiên sạch mà nhà bạn tự đặt, siết máy soi tên sang chế độ lái mã thoát.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
test -f <chuẩn-đặt-tên-của-bạn> && test -f <sổ-đổi-tên-của-bạn> && echo OK
|
||||
<lệnh máy soi tên của bạn>; echo exit=$? # exit=0, và output in kèm MẪU SỐ mỗi luật
|
||||
```
|
||||
Đối chứng hai chiều: gài một tên sai chuẩn thì máy **phải bắt**; gỡ ra thì **không hit** — chép cả hai kết quả vào báo cáo. Chưa có máy soi tên thì khai **KHÔNG ĐO ĐƯỢC** kèm vị từ thay thế: hai tệp đầu tiên tồn tại.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-2 — Lưới ghi đĩa và sổ mục lục vật chứng
|
||||
|
||||
- **Điều kiện vào:** GĐ-1 ở nấc *đã thi công*, hoặc GĐ-1 khai `không áp dụng` kèm lý do tương đương.
|
||||
- **Bước làm:**
|
||||
1. Liệt kê **từng cửa** trong phiên của bạn có sinh ra ý kiến phản biện; với mỗi cửa, chốt một đích ghi tệp nguyên văn trên đĩa.
|
||||
2. Chốt **khuôn tối thiểu** của tệp nguyên văn: 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 nguyên văn cấm nén.
|
||||
3. Kiểm tra đích ghi **nằm trong vùng có quét bí mật**, không rơi vào vùng miễn quét.
|
||||
4. Dựng **sổ mục lục hai tầng**: tầng gói-theo-loại và tầng mục-lục-sống. Đặt **trần dung lượng** ở tệp cấu hình chung, tài liệu chỉ trỏ tới khoá.
|
||||
5. Chỉ định **vai điểm danh vật chứng**, ghi rõ nó **cấm sửa** và **cấm phán nội dung**.
|
||||
6. Viết **máy điểm danh** với bốn vị từ: vắng · rỗng · cụt · nén quá tay. Thêm vị từ **bộ-tệp-nội-bộ-thư-mục** để máy soi được cả thư mục của chính lượt chạy hiện tại.
|
||||
7. Cắm **ba nhịp chạy**: đầu phiên · ngay sau mỗi lượt chạy đắt · cuối phiên.
|
||||
8. Chạy **điểm danh hai nguồn** lần đầu: quét đĩa trực tiếp, đối chiếu mục lục, và **ghi ra chênh lệch** thay vì làm tròn.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
test -f <đường-dẫn-sổ-mục-lục-của-bạn> && echo OK
|
||||
<lệnh máy điểm danh của bạn>; echo exit=$?
|
||||
wc -c <đường-dẫn-sổ-mục-lục-của-bạn> # phải nhỏ hơn trần bạn khai trong báo cáo
|
||||
```
|
||||
Đố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**; gỡ ra thì sạch.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-3 — Nghi thức hai đầu phiên và cổng chặn bằng mã lỗi
|
||||
|
||||
- **Điều kiện vào:** GĐ-1 ở nấc *đã thi công* hoặc khai `không áp dụng`. Khuyến nghị làm GĐ-2 trước, vì mục lục vật chứng là bằng chứng cho lượt kiểm nghi thức.
|
||||
- **Bước làm:**
|
||||
1. Ghi thành văn **bốn nhãn** cho mọi lệch nghi thức: quên · tự ý bỏ · suy giảm hợp lệ · bị chặn. Mỗi nhãn kèm vị từ kiểm được trên đĩa.
|
||||
2. Chỉ định **vai kiểm nghi thức** với ràng buộc **chỉ đối chiếu, không phán đặc tả**; đặc tả tự chỏi thì gắn cờ xung đột trả người điều phối.
|
||||
3. Dựng **vòng hỏi ngược**: bảng {bước thiếu hoặc lệch · đặc tả nói gì · bằng chứng trên đĩa · nhãn · câu hỏi đích danh}; luật đóng là **không dòng nào trống**.
|
||||
4. Viết **cổng chặn bằng mã lỗi** cho các cửa nghi thức, với thang mã thoát 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.
|
||||
5. Cắm **tiền kiểm chi phí bằng không** vào **đầu mọi cửa**, chỉ đọc, soi cửa đã đóng gần nhất; 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.
|
||||
6. Cho **vai kiểm chạy ở cả hai đầu phiên**, không chỉ một đầu.
|
||||
7. Ghi thành văn **luật tự trị ba bậc** khi chủ dự án vắng, và đặt nó ở chỗ người điều phối chắc chắn đọc mỗi lượt.
|
||||
8. Ghi thành văn **trần chi phí cho cửa hay dùng** — con số do chủ dự án nhà bạn đặt — kèm nghĩa vụ **khai khi vượt**. Không có dụng cụ đo thì khai **KHÔNG ĐO ĐƯỢC**, đừng in số bịa.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
<lệnh cổng nghi thức của bạn>; echo exit=$? # tại cửa gần nhất: exit=0
|
||||
```
|
||||
Đố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 — chép cả hai kết quả vào báo cáo. Liệt kê **từng cửa** có tiền kiểm, và khai rõ cửa nào không đo được vì không sinh tệp mốc.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-4 — Sổ yêu cầu chủ dự án và cơ chế chấm điểm (kéo sớm được)
|
||||
|
||||
- **Điều kiện vào:** GĐ-1 ở nấc *đã thi công* hoặc khai `không áp dụng`. Giai đoạn này **độc lập với GĐ-2, GĐ-3 và GĐ-5** — nhà nào thấy bệnh TC-01 đau hơn cả thì làm ngay sau GĐ-1.
|
||||
- **Bước làm:**
|
||||
1. Dựng **cuốn sổ ba khối** ở lane quản trị: việc-được-giao · sở-thích-thường-trực · lời-phàn-nàn. Cột lời nguyên văn có **trần ký tự cứng** do nhà bạn chọn.
|
||||
2. Ghi thành luật: **mã định danh vĩnh viễn, cấm tái dụng**; đóng mục thì lật trạng thái, **không xoá dòng**.
|
||||
3. Điền **hai mục mồi** vào khối sở thích thường trực: 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ê lằn ranh đỏ**; một mục cho phép **tự trị khi chủ dự án vắng**.
|
||||
4. Cắm **kỷ luật ghi NGAY** 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.
|
||||
5. Cắm **kỷ luật tra-sổ-trước-khi-hỏi** vào cùng chỗ, cộng tài liệu hướng dẫn nội bộ của đội.
|
||||
6. Viết **lượt dò không tốn phí** cho sổ: trả số đang treo và số bị nhắc từ lần thứ hai; **phân biệt được "chưa có dữ liệu" với "đã đo và bằng không"**; hỏng thì in dấu hỏi, và **không bao giờ chặn cửa nào**.
|
||||
7. Nối **dòng đèn nợ** vào **mọi** cửa dừng: thứ tự trường cố định · mọi trường luôn in · số **dán nguyên văn từ máy dò, cấm gõ tay**.
|
||||
8. Chỉ định **vai đọc sổ độc lập** với bốn thấu kính, và **thu hẹp vai cũ cùng lượt** nếu nhà bạn đã có vai chồng lấn — ghi rõ phần đã chuyển giao.
|
||||
9. Áp **luật chấm điểm ở món thứ tư** (đã ký ngày 04-08-2026): công thức, ba mốc niêm phong, bốn tầng. In khối chấm điểm ở **cả cửa mở phiên lẫn cửa đóng phiên**.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
<lệnh dò sổ của bạn>; echo exit=$? # exit=0, output có trường đếm "đang treo"
|
||||
grep -c '<mã-tiền-tố-mục-sở-thích-của-bạn>' <đường-dẫn-sổ-của-bạn> # phải >= 2 (hai mục mồi)
|
||||
```
|
||||
Khối chấm điểm của phiên gần nhất phải in **đủ ba mốc niêm phong**. Không đo được thì khai **KHÔNG ĐO ĐƯỢC** kèm vị từ thay thế: sổ tồn tại và có ít nhất một dòng.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-5 — Cửa gọi mô hình đắt tiền (phụ thuộc môi trường)
|
||||
|
||||
- **Điều kiện vào:** GĐ-1 và GĐ-2 ở nấc *đã thi công* hoặc đã khai `không áp dụng`, **VÀ** chủ dự án nhà bạn cấp hạn mức cho loại mô hình đắt. **Không có hạn mức thì khai `không áp dụng` — đó KHÔNG phải là tụt lại.**
|
||||
- **Bước làm:**
|
||||
1. Chốt luật nền: **mọi cửa gọi mô hình đắt đều do chủ dự án gõ**; đội không bao giờ tự nâng hạng, và **mọi chỗ gọi mang tham số mô hình tường minh**.
|
||||
2. Chốt luật truyền lời: 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 đánh dấu vùng nguyên văn.
|
||||
3. Dựng **cửa biên dịch ý định**: nhận lời thô cộng gói ngữ cảnh, trả **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**.
|
||||
4. Dựng **gói ngữ cảnh chuẩn hoá năm mảnh**, mảnh nào chưa có thì **khai "chưa có"**.
|
||||
5. Dựng **sổ ghi lượt chạy đắt** dạng khung nhìn: thời điểm · loại · đề bài · con trỏ · kết luận. **Ghi dòng 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.
|
||||
6. Đưa vai mới vào **danh sách vai hợp lệ** trước khi dùng — thiếu là hỏng câm.
|
||||
7. Đặt vật chứng của lượt đắt **chung gốc** với mọi lượt chạy khác; sổ riêng chỉ là khung nhìn.
|
||||
8. Chạy **một lượt thử do chủ dự án gõ**, rồi soi thư mục lượt đó có đủ bộ tệp chuẩn không.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
test -f <đường-dẫn-sổ-lượt-chạy-đắt-của-bạn> && echo OK
|
||||
grep -c '^|' <đường-dẫn-sổ-lượt-chạy-đắt-của-bạn> # sau lượt thử: >= 1
|
||||
```
|
||||
Chưa chạy được lượt nào vì hạn mức thì khai **KHÔNG ĐO ĐƯỢC** kèm vị từ thay thế: tệp cửa lệnh và sổ rỗng-có-đầu-bảng tồn tại.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng, **hoặc** `không áp dụng` kèm lý do.
|
||||
|
||||
---
|
||||
|
||||
## GĐ-6 — Niêm phong đồng bộ và bảng gốc
|
||||
|
||||
- **Điều kiện vào:** mọi giai đoạn nằm trong phạm vi `áp dụng` của bản đồ áp dụng nhà bạn đã ở nấc *đã thi công*.
|
||||
- **Bước làm:**
|
||||
1. Chạy **cổng đồng bộ bốn tầng** — ý tưởng → bản tổng → đặc tả từng giai đoạn → việc làm thật — và **dán kết quả ra**, mỗi tầng ghi rõ *khớp* hoặc *lệch đã khai*.
|
||||
2. Chạy **trace ngược**: cái nằm trên đĩa mà không truy được về đặc tả nào là **phạm vi tự phình** — liệt kê từng khoản.
|
||||
3. Mở rộng **cổng điểm danh** nếu nhà bạn có: số kỳ vọng **suy ra từ độ dài danh sách**, bài kiểm **ghim liệt kê từng tên**, và chạy **phép thử đột biến** (bỏ một tên thì nhiều hơn một bài kiểm phải đỏ).
|
||||
4. Áp **điều kiện vào danh sách**: vai chỉ được vào cổng khi **cùng một lượt commit** có đủ tệp vai, thư mục ký ức, chỗ gọi ở **cả hai cửa**, và các tập đăng ký đã cập nhật.
|
||||
5. Chạy lại **đối chứng đặt tên hai chiều cộng phản chứng**.
|
||||
6. Dựng **bảng gốc**: mỗi triệu chứng một dòng, mỗi ô có số **kèm lệnh tái lập**; chưa đo được thì ghi thẳng **KHÔNG ĐO ĐƯỢC**.
|
||||
7. Soạn **bản nháp dấu** cho khoản cần chủ dự án phê chuẩn: trạng thái *chờ ký*, **mã dấu để trống**.
|
||||
8. **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.
|
||||
9. Gửi **báo cáo cuối** cho hub theo khuôn ở món thứ ba. Nấc *đã được kiểm chứng* chỉ flip **sau khi hub soi chéo**.
|
||||
- **Kiểm xong chưa:**
|
||||
```bash
|
||||
<lệnh cổng điểm danh của bạn>; echo exit=$? # exit=0, danh sách thiếu rỗng
|
||||
```
|
||||
Báo cáo phải có bảng bốn tầng, mỗi tầng ghi *khớp* hoặc *lệch đã khai*; con số đủ-mặt của nhà bạn ghi rõ **kèm lệnh đếm** — con số của bạn, không phải con số của hub.
|
||||
- **Nấc:** đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng.
|
||||
|
||||
---
|
||||
|
||||
## Bảng theo dõi — KHUÔN KHỞI TẠO
|
||||
|
||||
> **Đây là khuôn khởi tạo, mọi ô đều là dấu gạch.** Bản SỐNG do hub giữ trong sổ liên lạc nội bộ của hub và được cập nhật từ báo cáo của bạn. Bảng trong tài liệu này **không được sửa sau khi phát** — sửa nó là phá đối chứng mã băm với bản bạn đã chép về.
|
||||
|
||||
| Kho | GĐ-0 | GĐ-1 | GĐ-2 | GĐ-3 | GĐ-4 | GĐ-5 | GĐ-6 | Nhịp theo dõi |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| bvaau | — | — | — | — | — | — | — | hub hỏi tiến độ mỗi phiên |
|
||||
| se | — | — | — | — | — | — | — | hub hỏi tiến độ mỗi phiên |
|
||||
| vipix | — | — | — | — | — | — | — | hub hỏi tiến độ mỗi phiên |
|
||||
| dyd | — | — | — | — | — | — | — | kéo về nếu muốn, hub không hỏi |
|
||||
| namgroup | — | — | — | — | — | — | — | kéo về nếu muốn, hub không hỏi |
|
||||
| ashico | — | — | — | — | — | — | — | kéo về nếu muốn, hub không hỏi |
|
||||
|
||||
Giá trị hợp lệ của mỗi ô: `—` chưa phát · `đã gửi` · `đã nhận` · `đã đồng ý` · `đã thi công` · `đã được kiểm chứng` · `không áp dụng`. **Cấm nhảy cóc.** Nấc *đã được kiểm chứng* chỉ đến từ lượt soi chéo của hub. Kho khai `không áp dụng` toàn bộ **vẫn đứng trong bảng** — đó là minh bạch, không phải ép.
|
||||
|
||||
---
|
||||
|
||||
## Ranh giới áp dụng
|
||||
|
||||
**Sàn chức năng (bắt buộc nếu adopt):** các đoạn in đậm ở món thứ hai, cộng sáu luật rút ra ngay dưới đây. Đó là *cái phải có*.
|
||||
|
||||
**Hình thức (tự do):** tên vai · cách chia tệp · số lượng vai · thứ tự đặt trong kho · ngôn ngữ nhãn — **mỗi nhà tự quyết**. **Đừng chép hình thức của hub**: bộ máy hub hình thành từ lịch sử riêng của hub, ánh xạ một-một sang nhà khác gần như chắc chắn sai chỗ nào đó, và chỗ sai ấy sẽ nằm im cho tới lúc gây hại.
|
||||
|
||||
**Sàn chất lượng chỉ được nâng, không được hạ:** nhà bạn đã có cơ chế mạnh hơn cho một giai đoạn nào đó thì **giữ cái của bạn** và ghi lý do vào báo cáo. Đó không phải chậm tiến, đó là đúng.
|
||||
|
||||
**Khi nào bỏ qua là hợp lệ:** nhà bạn không có loại lượt chạy đắt nào thì GĐ-5 và phần "mức nghiêm trọng theo chi phí chạy lại" của GĐ-2 là *không áp dụng*, không phải *chưa làm*. Nhưng **phải ghi lý do**, vì "không áp dụng" mà không kèm lý do thì không phân biệt được với "quên".
|
||||
|
||||
### Sáu luật rút ra — phần chuyển được nhiều nhất
|
||||
|
||||
1. **Lưới lùi.** Lượt kiểm chạy trong dòng chỉ bắt được cái sống lâu hơn nó. Lớp chết sớm phải bắt ở cửa sau, bằng bằng chứng bền.
|
||||
2. **Két riêng là một khung nhìn, không phải một đường dẫn thứ hai.** Bài học đã trả giá: một loạt bản ghi trở nên vô hình với máy chỉ vì được cất vào một chỗ riêng cho gọn, nằm ngoài phạm vi quét.
|
||||
3. **Mức nghiêm trọng của việc sót ghi tỉ lệ với chi phí chạy lại**, không tỉ lệ với kích thước tệp.
|
||||
4. **Hỏi lại phải trả phí viện dẫn.** Lặp lại mà không có thông tin mới là vi phạm; kèm thông tin mới là kỷ luật đúng.
|
||||
5. **Lời chủ dự án truyền nguyên văn, cấm đi qua bộ não trung gian.**
|
||||
6. **Tự ý khác quên — thuốc là cổng chặn, không phải lời nhắc.** Chuyển quy ước thành mã.
|
||||
|
||||
---
|
||||
|
||||
## Đường đọc bộ bốn món
|
||||
|
||||
| Món | Trả lời câu hỏi | Khi nào đọc |
|
||||
|---|---|---|
|
||||
| Thư chính (bản này) | Chữa bệnh gì, đi theo thứ tự nào, mỗi giai đoạn làm bước gì | đọc đầu tiên, đọc hết |
|
||||
| Phụ lục đặc tả và bẫy | Mỗi giai đoạn phải có cái gì mới gọi là có, hub đã ngã ở đâu | đọc phần ứng với giai đoạn bạn đang làm, **trước khi làm** |
|
||||
| Khuôn | Điền cái gì, báo cáo thế nào, tự soi bằng gì | mở khi bắt đầu GĐ-0, dùng lại ở mọi giai đoạn |
|
||||
| Luật chấm điểm | Công thức, niêm phong, bốn tầng — luật đã ký | đọc khi làm GĐ-4 |
|
||||
|
||||
**Việc đầu tiên khi nhận, làm trước cả đọc kỹ:** ghi cả bộ xuống đĩa kho bạn và ghi lại đường dẫn. Lý do nằm ở khoản đầu tiên của danh mục kiểm: không có vật chứng trên đĩa thì lượt kiểm chéo về sau **chỉ kiểm chứng được lời khai, không kiểm chứng được vật chứng**.
|
||||
|
||||
---
|
||||
|
||||
**Trạng thái nấc của bộ này:** khi phát, nấc bắt đầu ở *đã gửi*. Các nấc tiếp theo là *đã nhận*, *đã đồng ý*, *đã thi công*, *đã được kiểm chứng*. **Nấc *đã được kiểm chứng* chỉ hub cấp**, sau khi soi bằng chứng thật ở kho bạn; nhà nào tự khai nấc đó cho mình thì nấc đó không tính, và lượt kiểm chéo sẽ ghi nhận là khai vượt.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user