constitution
eleven laws judge a codebase, and each one turns a kind of structural drift into something a gate can refuse. a violation lands in one of three classes — a fault fails the run, debt is reported and tolerated, and a blindspot marks a region the scanner could not parse. honesty, not silence.
word
a declared name is one vocabulary atom; an unregistered compound is debt.
single-word pressure pushes down into the language namespace, and up into a living vocabulary that gives each atom meaning.
debtpath
directory nesting past four levels below the owning module root is a fault.
the block signal at the file-tree scale. a path is a name; keep it a short one.
faultfile
a file running past three hundred lines is a fault.
the fix is a move, not a squeeze — fmt owns line layout. a long file is more than one seat wearing one name.
faultfanout
a directory holding more than ten children is a fault.
a wide directory is a chapter refusing to split. the count sees only the scan set, so the width it reports only ever understates.
faultblock
scope nesting past four is a fault.
deeper nesting is a unit carrying more than one idea. extract until the shape is flat.
faultmarkup
element nesting past eight in one element tree is a fault; markup is its own axis, neither scope nor literal.
deep markup is an atomic component refusing to exist: extract and name the wrapper instead of indenting further.
faultcomment
comments are denied by default; each one is a fault.
a comment is an explanation that failed to become structure — and no gate makes the next session reread it. denial moves the pressure into a better name, a test, a vocabulary entry, or a doc. the escape hatch is declared, not implied: a boundary entry in negentropy.toml can allow comments where an external quirk truly demands them — priced and visible.
faultgrant
granted syntax outside its declared territory is a fault; test and style are the granted classes.
a grant confines a syntax class to its declared territory — tests in test paths, styles in the styled package. no grant declared means the class roams free.
faultdispatch
a repeated equality subject across adjacent branches is a table refusing to exist.
a decision is a thing; give it one node. guard chains over different subjects stay untouched.
debtreceiver
a fourth free function in one file on one receiver names an object that does not exist yet.
build the object once and let methods read what they share. methods are exempt — they have declared their subject.
debtparam
a function holding more than four parameters, receiver included, is a struct refusing a name.
name the bundle and pass it whole.
debtstable is a promise: patch releases keep the checker's contract intact, and changing the contract costs a minor release or higher — the version policy makes every rule change pay its price in the open.