Skip to content

Approval · research july 2026 · published 2026-08-03 · v1 · 4 min read

The ratchet

A list of known breaches that may only shrink turns a backlog into a floor

How a codebase enforces a standard it does not yet meet, without lying about its state and without cleaning up inside someone else's unfinished work. The canonical treatment of the shrink-only exception list.

In brief
The problem

verified

Every claim this passage rests on has been checked against its sources.

  • "The website foundation configuration records its known type-floor breaches as a list of one file and four specific font sizes below the minimum, with a reason recorded on the entry, and states in that field that the list may only shrink."

    verified. The configuration read directly on 2026-08-03; the closing sentence of the reason field carries the shrink-only wording verbatim.

Open the complete evidence in the structured publication.

A standard a codebase does not yet meet has two usual fates. Enforce it and the build goes red on work nobody has time to finish, so the check is switched off within the week; write it down as an aspiration and it never binds anything.
The mechanism

verified

Every claim this passage rests on has been checked against its sources.

  • "The validator enforcing the type floor treats the exception list as a ratchet, passing the enumerated sizes and failing the build on any font size below the floor that is not listed."

    verified. The validator source read directly on 2026-08-03, including its own comment naming the arrangement and the code path that consults the allowed set before failing.

Open the complete evidence in the structured publication.

The exception is enumerated rather than general, so the check stays green on the exact breaches somebody has already looked at and red on every new one, which makes the standard binding from today without requiring the past to be paid off first.
The move

position

This is the publication's stated position, not an empirical claim. It rests on the argument rather than graded evidence.

Open the complete evidence in the structured publication.

List the known breaches with a reason attached to each, refuse blanket patterns outright, and write into the list itself that it may only ever get shorter.

Every standard worth having arrives after the work it governs. Somebody decides that type below a certain size is unreadable, or that credentials never enter a source repository, and by then a hundred files already disagree. The two ordinary responses are both losses. Turn the check on and the build goes red on other people’s half-finished work, which means the check is disabled by Thursday and the standard is dead with its reputation attached. Write the standard down as an aspiration instead and it binds nothing, which is the same death with better manners.

There is a third arrangement, and it is one sentence long. List the known breaches, give each one a reason, and rule that the list may only ever get shorter.

Our own type floor works this way. The site’s foundation configuration carries an exceptions entry naming one file and four specific font sizes that fall below the minimum, and the entry’s reason field is not a shrug. It records that these are pre-existing breaches from earlier illustration work, listed so the floor is enforced from here rather than cleaned up inside a design somebody else still has in flight, and it closes with the sentence that does the real work. This list may only shrink. The validator says the same thing in its own comment, treating the enumerated set as a ratchet, passing exactly those sizes and failing the build on any new one.

The mechanism is that the exception is enumerated rather than general, so the check stays green on the precise breaches a person has already examined and red on every new one, which makes the standard binding from today forward without requiring the past to be paid off first.

Written that way, an exception stops being a hole and becomes an inventory. Each entry names a file, a value, and a reason a reviewer can act on, which means the debt is visible, countable, and attached to somebody’s reasoning rather than to a general permission. And the list has a direction. Adding to it is a change a reviewer sees and has to defend; removing from it is free. Nothing about that arrangement is clever. It simply arranges the friction so the easy path points at the standard.

Which is why the failure mode is the blanket. Our boundary rule engine handles this at the other end of the workspace, where a project may exempt certain paths from a content rule, and it rejects the wildcard patterns by name. An exception has to carry a rule, a repository, real paths, and a reason of more than a few characters, or it is refused. The comment above that code says why in a sentence we have not improved on. A blanket exception is not an exception, it is switching the rule off. The distinction is not pedantry, because the two look identical in a configuration file and only one of them can be audited.

The pattern has a name outside software, and the people who named it were solving a harder version of the same problem. Article 4.3 of the Paris Agreement, adopted in 2015, requires that each country’s successive climate commitment represent a progression beyond its current one, which is precisely a list that may only shrink, negotiated among parties with every incentive to loosen it later. Practitioners call it the ratchet mechanism. Its designers understood that the binding force of a commitment made by people who will not be in the room in twenty years comes from the shape of the instrument, not the sincerity of the signatories, and that a floor which can be lowered was never a floor.

That is the part worth carrying into a codebase meant to outlast the people writing it now. A backlog is a statement about intentions, and intentions leave when their owners do. A ratchet is a statement about what the build will accept tomorrow, made in a file the build actually reads, and it keeps its promise long after everyone who made it has moved on to something else.

Evidence and lineage

Research trail

Follow the sources, inspect how the claims are graded, or propose a correction at the exact record it concerns.

Sources 5
  1. MNSTRY (website repository) (2026). The foundation configuration, type-floor exceptions

    The primary artifact. One file, four listed font sizes below the minimum, and a reason field that records why the breaches are recorded rather than fixed and closes with the sentence making the list a ratchet.

    Comment on this source
  2. MNSTRY (website repository) (2026). The foundation validators, the type-role floor check

    The enforcing half. Its own comment names the arrangement a ratchet and states the invariant, that the known set can only shrink and anything new fails the build.

    Comment on this source
  3. MNSTRY Atelier (2026). Boundary content rules, exception validation

    The failure mode handled at the other end of the workspace. Blanket patterns are rejected by name, and an exception requires a rule, a repository, real paths, and a reason above a minimum length.

    Comment on this source
  4. United Nations Framework Convention on Climate Change (2015). The Paris Agreement, Article 4.3

    The external anchor and the source of the name. A commitment instrument whose successive contributions may only progress, designed to bind parties whose signatories will not be in the room later.

    Comment on this source
  5. MNSTRY (this corpus) (2026). 'Cathedral of the mind' (the parent essay)

    The frame. A structure meant to outlast its builders needs governance that survives its founders, and a ratchet is one mechanical form that governance takes in a file the build reads.

    Comment on this source
Claims and confidence 5
  1. verified

    The website foundation configuration records its known type-floor breaches as a list of one file and four specific font sizes below the minimum, with a reason recorded on the entry, and states in that field that the list may only shrink.

    The configuration read directly on 2026-08-03; the closing sentence of the reason field carries the shrink-only wording verbatim.

    Respond to this claim
  2. verified

    The validator enforcing the type floor treats the exception list as a ratchet, passing the enumerated sizes and failing the build on any font size below the floor that is not listed.

    The validator source read directly on 2026-08-03, including its own comment naming the arrangement and the code path that consults the allowed set before failing.

    Respond to this claim
  3. verified

    The recorded exceptions are attributed in the configuration to earlier illustration work already in flight rather than to a decision to lower the standard.

    The reason field states the attribution and the motive, that the floor is enforced from here rather than cleaned up inside an unfinished design.

    Respond to this claim
  4. verified

    The Atelier boundary rule engine rejects blanket exception patterns by name and requires a rule, a repository, real paths, and a reason above a minimum length before an exception is accepted, on the stated ground that a blanket exception is not an exception but a way of switching the rule off.

    The content-rules source read directly on 2026-08-03; the blanket pattern set and the minimum reason length are constants, and the reasoning is the file's own comment.

    Respond to this claim
  5. verified

    Article 4.3 of the Paris Agreement, adopted in 2015, requires each party's successive nationally determined contribution to represent a progression beyond its then current one, the provision practitioners call the ratchet mechanism.

    The agreement text and the standard commentary on it. The progression language is verbatim; the ratchet name is practitioner usage rather than treaty vocabulary.

    Respond to this claim

Read next

Or survey the topics.

Concepts in this piece 1

Add to the work

Contribute to The ratchet

Write the useful part. Identity, provenance, and review history are attached when you submit. The published source stays unchanged.

Target The ratchet

Contribution intent
Use an agent instead

The interface is ready. Public authenticated intake remains off until the hosted migration and feature flag are deployed together.