042-Register becomes a default profile under open-ended text contracts

Type: ../types/adr.md · Status: accepted

Status: accepted Date: 2026-07-09 Extends: ADR-017, ADR-019, ADR-038, ADR-041

Partially superseded by ADR 069: adopted profiles and their promotion catalogue are replaced by one-time-copy collection prototypes; the register retirement and local text-contract authority stand.

Definition placement superseded by ADR 071: the collection definition now owns the surviving text-contract vocabulary.

Context

Commonplace grounded its writing conventions in a closed taxonomy: three registers (theoretical, descriptive, prescriptive), claimed exhaustive because every consumer question reduces to "why," "what," or "how." But ADR-017 → ADR-019 → ADR-038 → ADR-041 already moved authority elsewhere: COLLECTION.md is the register convention boundary (017), the collection rather than the register is the anchor for link vocabulary (019), and both the type contract (038) and the collection contract (041) are semantically enforced. Nothing mechanical reads the three-way taxonomy any more; only prose does. A claim that no longer gates any mechanism but still blocks new contracts is pure liability.

The trigger was concrete. Casework on stance-neutral evidence maps needed a dialectical/evidential text contract — topical titles, mandatory attribution of every proposition, "faithfully represents the contestation" as the quality bar. Under the closed taxonomy this had to be argued into one of the three registers or it falsified the exhaustiveness claim. The sibling epistack-casebooks repo instantiated the contract directly as kb/lhc/notes/COLLECTION.md and exercised it — five casebook notes over eight captured sources for the LHC/black-hole-fears case. The contract held: its distinguishing bar (stance-neutral attributed mapping, not truth or belief; topical not claim titles; maintenance is "still an accurate map of the debate," not "do I still believe this") survived all five notes without collapsing into an existing register. It did not fold into descriptive-plus-a-clause — descriptive's quality bar is fidelity to a known referent; the dialectical bar is non-adjudicated mapping between competing parties, a different epistemic stance. That result is the adoption evidence this ADR acts on.

Decision

The binding requirement is restated as the primitive: every writable collection's COLLECTION.md declares a text contract — orientation, quality goal, title and description conventions, any attribution/evidentiality requirements, maintenance semantics, and outbound link grammar. This is what ADR-017 already required; what changes is that the contract, not the register, is the named primitive, and theoretical/descriptive/prescriptive become named profiles — proven bundles of text-contract features a collection may adopt wholesale, extend, or replace, drawn from an open, guarded library rather than a closed partition every artifact must fit.

How a contract decomposes across surfaces. A text contract is not one document — its clauses land on different system surfaces by their quantifier, what set of artifacts a clause binds:

  • binds everything in the subtree, whatever its shape → the collection's COLLECTION.md;
  • binds every artifact of a shape, wherever it lives → a global type spec;
  • binds a shape that only exists under this contract → a collection-local type spec (locality expresses the coupling);
  • binds only artifacts that opt in → a trait.

Enforcement is orthogonal to placement and chosen per clause, not per surface: since ADR-038/041 both contract surfaces are enforceable at every tier — unenforced prose, reviewed prose (a conformance pair, sharpened by an authored ## Review section the freshness hash sees), or code (a type schema) — and a clause typically migrates up that ladder as it proves out, cheapest first. The dialectical profile is the worked example: its "every proposition attributed" clause binds the whole casebook subtree, so it is a COLLECTION.md clause; if ever mechanized, the mechanism would be a field on a collection-local claim type schema — obligation and mechanism, same clause at different tiers, no surface conflict. (The clause's transferable substrate — placement by quantifier, the directory-vs-frontmatter asymmetry — is promoted separately in directory placement is total, frontmatter classification is partial; the mapping above is its Commonplace-specific instantiation.)

This ADR adopts four locked decisions:

  1. Retire "register." Rename to text contract (the requirement — what a COLLECTION.md states) and profile (the library entry — a named, proven bundle). The concepts doing real analytical work — the theoretical profile's formulation constraint, the dialectical profile's mandatory evidentiality — carry over unchanged; only the taxonomy label retires.
  2. The profile library lives in kb/reference/, as a catalogue document parallel to link-vocabulary.md, governed the same way: ADR-019's worked-case-first promotion. The catalogue tracks which profiles are decided and shipped, which collections use each, and which ADR promoted it. It stays separate from the text-contract definition note, which states the theory (what a text contract is, why the set is open but guarded) — mixing an invariant claim with system state that goes stale on its own schedule is the category mistake this ADR is fixing.
  3. The foundation note is revised in place, not superseded. Its title's claim — a knowledge base holds theories, descriptions, and prescriptions with asymmetric linking — never asserted exhaustiveness and stays. Only the "the three registers are exhaustive because..." paragraph and the "correspond to classical sub-disciplines" section are rewritten to the weaker, honest claim: why/what/how are strong recurring attractors, evidenced by convergent traditions and by this KB's own bottom-up discovery, not a provable partition. The formulation-constraint and maintenance-asymmetry sections are unaffected — those two properties made the distinction real and stay features of specific profiles, not of a taxonomy.
  4. Narrative/log does not become a named profile in this round. It stays an acknowledged-but-unnamed convention (kb/log.md, workshop state, backlog logs). It recurs and is real, but nobody has written out its actual contract (quality goal, title convention, attribution, maintenance semantics, link grammar) the way the dialectical contract was written and exercised, and the known instances of it may not even be the same profile. Naming it now would repeat the premature-taxonomy mistake this ADR exists to fix; revisit only if someone deliberately specifies and exercises a narrative contract later.

Consequences

Easier:

  • The exhaustiveness claim no longer blocks new contracts. A fourth profile — dialectical/evidential — is addable without theory surgery or falsifying a foundation note; kb/lhc/notes/COLLECTION.md in the sibling epistack-casebooks repo is retroactively the first proof of the open-ended shape.
  • Terminological honesty: "register" stops borrowing linguistic-register prestige for a closed set that linguistics (Halliday; Biber & Conrad) doesn't actually support.
  • Enforcement is already symmetric (ADR-038/041), so a new profile costs one COLLECTION.md and is born reviewable — no enforcement debt accrues as the library grows, unlike before ADR-041 when only the type surface was enforced and clauses migrated there to get checked.
  • The cheap routing shortcut survives: AGENTS.md's "theoretical / descriptive / prescriptive" table keeps working verbatim: profiles keep their names, only the closed-set claim is dropped.

Harder / accepted costs:

  • The rename spans several surfaces (definition note and its backlinks, AGENTS.md vocabulary and routing table, each COLLECTION.md header, the foundation note), so a missed surface leaves a stale term in a binding position.
  • Profile-library growth is guarded, not free: a new profile still needs to survive contact with a real collection (as the dialectical profile did in epistack-casebooks) before promotion to the shared kb/reference/ catalogue — proliferation risk is mitigated, not eliminated, and the guard is a step no closed taxonomy needed.
  • The narrative/log convention stays a known, deliberately unnamed gap (Decision 4) rather than a closed one.

Not changing:

  • The decomposition of a text contract across system surfaces — COLLECTION.md for subtree-wide clauses, global type specs for shape-wide clauses, collection-local type specs for shape-that-only-exists-here clauses, traits for opt-in clauses (recorded above) — is unaffected in substance by this ADR. The transferable substrate behind it was promoted independently of the register/profile rename, in directory placement is total, frontmatter classification is partial.
  • ADR-017's boundary (COLLECTION.md owns collection conventions) and ADR-019's per-destination link-vocabulary architecture stand unchanged; this ADR only renames and opens the taxonomy those two ADRs already anchor to the collection rather than the register.

Relevant Notes: