2.5 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| doctrine-line-undercounts | Câu doctrine tự khai trong mã ("Exit 0 always") KHÔNG phải phép đếm phạm vi — phải liệt từng máy + soi từng đường thoát, và ranh giới thật thường đã có sẵn trong comment |
|
Khi được giao đo "phạm vi thật của doctrine X", đừng đếm bằng câu doctrine. Liệt từng máy rồi soi từng đường thoát của nó, và tách bạch 3 loại: exit≠0 khi phát hiện lỗi ⟂ exit≠0 khi thiếu hạ tầng ⟂ exit-0-luôn.
Why: S180 lane C. Đề bài (kế thừa N1 + lead) khẳng định "SE chỉ có 2 máy fail-loud", dựa trên câu governance-detectors.ps1:1962 "Exit 0 always (never fails build)". Đo lại 17 máy cắm vào cửa lệnh thì ra 5 máy trả exit≠0 khi phát hiện lỗi (session-counter-tick · h24-signal-write · memory-archive-gate:325 · session-scaffold · stamp_verify.py:51), và hmw.js có 4 chỗ throw chứ không phải 1. Con số 2 làm bài toán trông như "du nhập cơ chế lạ"; con số 5 làm nó thành "mở rộng ranh có sẵn" — đổi hẳn tập phương án trình cho owner.
How to apply: ba bước, theo thứ tự.
- Đếm mẫu số trước (
grep -ohE "scripts/[^ ]+\.(ps1|py)" .claude/commands/*.md | sort | uniq -c), kèm control-dương để chứng thước có bắt. - Soi từng đường thoát; phân biệt exit≠0-vì-thiếu-config với exit≠0-vì-tìm-thấy-lỗi — trộn hai loại này là nguồn sai số chính.
- 🔴 Tìm ranh giới trong comment trước khi tự vẽ ranh. Ca S180:
memory-archive-gate.ps1:323-325đã viết sẵn "Exit non-zero only on A7 integrity failure... Over-cap is a FLAG (not an error) - the gate reports, a human curates" — tức một máy, hai chế độ, ranh đã vẽ. Ranh đó khớp 5/5 máy fail-loud: sắp-GHI hoặc vị-từ-nhị-phân ⇒ chặn; phán-xét ⇒ cờ. Đề xuất dựa trên ranh có sẵn rẻ hơn và khó bị bác hơn nhiều so với ranh tự nghĩ.
Kèm: chạy máy để lấy số sống làm đánh đổi định lượng (governance-detectors.ps1 → TOTAL FLAGS: 49 + INFORM-ONLY: 21, vẫn exit 0) — "lật sang chế độ chặn hôm nay = 49 cờ chặn tức thì" là con số quyết định, không phải lý luận.
Liên quan: refuse-coordinator-suggested-verdict