Developer preview. Not production-ready, not audited, not for sensitive code. Read the limits

Record
RULES-ENFORCED
Status
in force
Built
a standing rule
Decided
2026-10-10 by the user

Rules are mechanically enforced whenever possible

A rule that only lives in a document is forgotten the first time someone is in a hurry. So every rule, decision and principle names the mechanism that enforces it, and a rule without one is treated as a gap to close.

The user’s rule of 2026-10-10 (“rules are mechanically enforced whenever possible”), which generalizes UR-18 from issue classes to every rule:

  • Every rule, decision and principle (the UR-* rules, the D-* decisions, the universal principles) maps to its enforcing mechanism: a guard, a check, a hook, a schema, a type or a kernel boundary.
  • A rule with no mechanism is a gap to close, unless it is recorded as truly unmechanizable, with the review that covers it instead.
  • A writer adding a rule adds its guard in the same change.

How it is enforced: the decision records themselves are checked (tests/prevention/decisions-format.test.ts), and many rules have their own guards, but the map from each rule to its enforcer is not yet part of the records: no field names a rule’s enforcer, and nothing refuses a rule that has none. That is the missing mechanism.

Search the documentation

Type to search the curated record.

↑↓ move Enter open Esc close