Rulebearing Playground Coverage Schemas GitHub

ADR-0029: Ratchets are enforced by cruise and reported in summary.ratchets[]

Context

rules.ratchets is configuration: a name, a from and to pair, and a budget file { "ceiling": n }. count applies one ratchet by hand. The design says a hand-written ratchet script "becomes one line of config", which only holds if the gate that runs every rule also runs every ratchet. A ratchet is not a dependency rule, and dependency-cruiser's summary.violations[].type has no value for it, so a breach cannot be written as a violation without breaking the cruise-result schema. ADR-0004 lists the summary additions exhaustively (inspected, vacuousRules[]), so a new one needs a decision.

Decision

Consequences

Alternatives considered