SpecSheriff
rule · _guidelines/spec/6.3 · s-ybq7wbhkrh5pjqs

A name is quoted where the reader must reach it, a predicate where the rule must keep binding

Checkedconfirmed by its owner

Where a rule binds a named thing, the name is quoted where the reader must reach the definition that owns it, and the predicate is stated where the rule must keep binding if that name changes: not “deleted_users is never searched”, which binds nothing once the table is renamed, but “a table holding the users who deleted their accounts — today deleted_users — is never searched”.

Why

A sentence written against a name goes inert rather than failing when the name moves: nothing breaks, no test moves, and a requirement quietly becomes a statement about nothing. A sentence written against the predicate keeps binding whatever the thing is called, and is useless exactly where the reader needs to find the definition.

A name is quoted where the reader must reach it, a predicate where the rule must keep binding

The decisions taken on it

2026-10-27 · textual
Problem

Its examples were drawn from one project a reader of the method does not know.

Ruling

The owner: the examples name what any system has — a user, an operator, a data record, a request — and nothing of one implementation; the worked example's subject stays in the example.