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.

debt

path

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.

fault

file

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.

fault

fanout

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.

fault

block

scope nesting past four is a fault.

deeper nesting is a unit carrying more than one idea. extract until the shape is flat.

fault

markup

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.

fault

comment

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.

fault

grant

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.

fault

dispatch

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.

debt

receiver

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.

debt

param

a function holding more than four parameters, receiver included, is a struct refusing a name.

name the bundle and pass it whole.

debt

stable 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.