The boundaries
Scrum rations human time; Shape Up rations risk. Specline rations judgment. Three rules govern writing a spec, and one governs keeping the record — everything else is implementation. (A named decider budget, a coupling ceiling, and staleness timers exist too, but they govern unattended and parallel builds — an experimental, opt-in part of the canon; see below.)
Writing rules
One sitting judgment-only
A spec must be small enough that the PO can read and judge the contract in a single review sitting. Human attention is the appetite unit — appetite governs the spec's reviewability, not the build's size. A large atomic build with a tight spec is eligible. If you can't review it in one pass, split it or decompose it (parent-map); slugs are cheap.
Falsifiable or draft specline · advisory
Every acceptance check must be settleable the same way twice; "Improve the dashboard" names nothing anyone can settle. An item only a person can settle is marked under a ### human sub-heading. Specline surfaces an unfalsifiable or absent acceptance as advisory — it's the decider's call, not a block.
Intent over description advisory · spec-critic
Documentation records what code cannot say: goals, non-goals, rejected options, evidence, rules, boundaries. Once code exists it is the source of truth for mechanics, and prescribed mechanics then compete with it and go stale — the same reason the decider's go belongs to git, not a field: don't model what another source of truth owns. This is a tradeoff, not a law, and it isn't measured. A pre-build spec with no code yet may legitimately carry worked mechanics. So Specline flags it as advice; the decider decides.
The record rule
Never delete a decision specline · integrity
An approved slug is permanent and archive is immutable: when something ships, a knowledge doc lands and the spec is archived; when it is killed, it is archived with a one-line tombstone. Nothing is bare-deleted. This is the one rule the integrity checks exist to protect, and the reason every approved slug resolves forever.
Two enforcers, one rule set. Specline is deterministic — it checks structure (Falsifiable or draft, the record rule). Meaning — one-sitting sizing, mechanics-creep — is judgment, and lives at the two human gates (approve, accept). Specline adds assurance, not validity.
Experimental — unattended & parallel builds
Experimental — in force only when specline.yml setsunattended: true. Off by default; nothing here is checked or listed until you turn it on.
The Coupling Ceiling specline · warn
A spec plus everything its relations force an agent to load must fit under the repo's pinned ceiling with room left to think — measured once, at shaping time, as a structural property, not a runtime budget. With million-token windows the binding constraint isn't fitting but signal quality: irrelevant forced loads degrade a frontier model's output. Read a breach as "too entangled" — slice it or decouple it.
Staleness specline · advisory
building and blocked each carry a stale_after date — the point past which an untouched build is presumed abandoned, not the point it is discarded. Going stale flags the spec: Specline warns so a human notices an abandoned build — it never blocks. Exit is an explicit reshape (a fresh approving merge) or kill.
The Decider Budget specline · advisory
A named decider may have at most 3 specs in building and 6 in active states (building | blocked) at once, per-repo override allowed. Agent capacity is not the constraint; the decider's queue is. WIP limits on humans, not on machines — Specline warns over the ceiling, never blocks.