Skip to content

review-rigor: universals are verified by enumeration, not by sample #273

Description

@htangidnerd

Gap

core/review-rigor enumerates the set of claims before verifying them (R2b) and walks every producing path of a closed taxonomy. It does not state the general rule those two are instances of: a statement whose truth ranges over a set — a mode predicate ("while X, nothing Y"), a class-wide hardening ("all untrusted inputs are bounded"), a quantified acceptance line ("each operation is mirrored 1:1") — is verified only by enumerating its domain and resolving every member. Checking the members the diff touched is sampled verification, and the counterexample lives in the untouched member by construction.

Incident

A human reviewer found three blockers on a branch that four consecutive self-review rounds had passed clean. All three were the same miss:

  1. An "upstream down → publish nothing" mode was consulted by the periodic ticker and the connect hook, but by none of the operator-driven emitters that also publish.
  2. A request-body size cap landed while the frames on the same socket stayed unbounded.
  3. An acceptance line promising a UI control for every control operation was cleared by seeing that a UI existed, when one listed operation had none.

Each is a universal verified at the touched members only. The reviewer had the diff and the author's brief; the brief named the touched members, so following it reproduced the author's blind spot.

Proposal

Add one rule to core/review-rigor, placed before the R-checks and resolving through them (R2b for prose, R3 / intent fidelity for commitments, R7 / Security for hardening) with the same closed enum — no new check id, so nothing embeds a new count. Name the three recurring shapes and their detection cues (predicate name greps to fewer sites than the operations it governs; a new limit with no sibling-surface sweep; a quantifier in an acceptance line cleared in one sentence), and point R2b, R3, R7 and the intent-fidelity paragraph at it.


🤖 Generated with Claude Code

📚 Learned by detritus — absorb https://github.com/idnerdidx/bulk/pull/1728

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions