# Independent Checker · 独立检查器 > Use to build the one load-bearing wall: a checker that is independent of the generator. The generator > never grades its own exam. Prefer executable checks with ground truth over a second opinion from a > same-lineage model — correlated failures and reward-hacking are immune to "get another model to look." ## 1. What It Guards | Field | Fill | |---|---| | Spec it checks (link) | | | Generator it is independent of | | | Independence source | different model / non-LLM oracle / executable test | | Runs where | pre-commit / CI / pre-deploy | ## 2. Assertion Checklist Each assertion maps to one spec acceptance row and returns pass / fail. No manual "eyeball" rows. | # | Checks (spec ref) | Command / oracle | Blocks merge? | |---|---|---|---| | C1 | | | yes / no | | C2 | | | yes / no | | C3 | | | yes / no | ## 3. How to Run ``` # one command anyone (or CI) can run; exits non-zero on failure ``` - Exit code contract: `0` = all pass, non-zero = at least one assertion failed. - Deterministic? (same input → same verdict): - Independence check: would this catch an error the generator introduced? ## 4. Failure Feedback Loop Every escape becomes a new assertion, so the same mistake is not made twice. | Escape (defect that got through) | New assertion added | Added to regression suite? | |---|---|---| | | | yes / no | ## 5. Blind Spots - Correlated-failure risk (checker shares lineage with generator): - What this checker cannot see (route to human): - Next assertion to add: --- Status: **Ship** (checker is independent, executable, blocks on fail) · **Hold** (still a same-model second opinion) · **Stop** (checker is green but an escape reached production — add the assertion first).