---
name: unit-mismatch-keep-both-numbers
description: Hai số lệch thì hỏi "đếm CÁI GÌ" trước khi hỏi "ai sai" — tuyên một bên thắng là xoá mất chính thông tin đắt nhất
metadata:
  type: feedback
---

Gặp hai (hay ba) con số lệch nhau cho "cùng một đại lượng": **giữ cả hai, gắn đơn vị cho từng số**, rồi đọc **hiệu số** như một phát hiện. Cấm phán "bên nào đúng" trước khi biết mỗi bên đếm cái gì.

**Why:** @S180, N2 xử vụ số-lệch bằng cách tuyên một bên thắng, trong khi đo lại cho thấy đó là **lệch ĐƠN VỊ chứ không phải lỗi**:
- `runs/`: `ls -d */` = **88 thư mục** · `ls */run.md` = **85** ⇒ hiệu số 3 chính là **3 thư mục lượt chạy không có tệp mô tả** (`S117-pe-approve-minmax-range`, `S117-pe-luyke-finalize`, `S144-bootstrap`) — đúng bệnh TC-04 đang chảy máu, và nó **biến mất** ngay khi chọn một con số.
- `auto-memory/`: **61 tệp** = **60 memory + 1 `MEMORY.md` index**. Không bên nào sai.

Cùng lớp với ca `harvest-curator` F-05 cùng phiên: baseline "24 hit/11 file" không khai đơn vị — `grep -rc` đếm **DÒNG** (22), `grep -ro | wc -l` đếm **LẦN** (24). Bài học chống bẫy này đã được viết ra từ S168 nhưng nằm trong tệp **chính vai đó chưa harvest**, nên vai giẫm lại đúng bẫy 6 phiên sau.

Biến thể tinh vi hơn: "đã harvest chưa" đo bằng `grep -c "S168" MEMORY.md` = 2 ⇒ trông như đã harvest; thật ra 2 hit đó là **mention nằm trong entry S179**, không phải **entry S168**. Đơn vị ở đây là *mention ⟂ entry*.

**How to apply:** (1) Mọi con số bàn giao **phải kèm đơn vị và lệnh sinh ra nó**. (2) Khi review thấy ai đó "chốt" một trong hai số, đòi họ nêu hai thước trước. (3) Đọc hiệu số như dữ liệu, không như nhiễu. Liên quan: [[stale-anchor-born-dead]] · [[measure-with-the-detectors-own-regex]]
