// SPDX-License-Identifier: CC-BY-SA-4.0
// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= Canonical Names — Anti-Normalisation Register
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
:toc: macro
:icons: font

Names in this estate are deliberately non-standard. Language models and
metadata bots tend to *normalise* them — silently rewriting a coined name to
the statistically commoner expansion its letters happen to suggest. That is a
defect, not a correction.

The rule is the estate rule: **flag, don't fix.** If a name on this page looks
"wrong" to you, it is not wrong — it is *ours*. Do not expand, rename,
translate, or "correct" it to another form. If you believe a genuine error
exists, raise it with the owner; never silently rewrite it. This is the same
anti-normalisation principle the `MUST.contractile` files apply to licences,
applied here to names.

toc::[]

== Directive for agents (paste this block into system / custom instructions)

Put this in the *system* or *custom-instruction* slot of any assistant — not a
chat message, which decays out of context and lets the prior reassert itself.

----
CANONICAL NAMES — DO NOT NORMALISE.
These names are FIXED. Do not expand, rename, or "correct" them to any other
form, even when their letters suggest a more common expansion. Use ONLY the
canonical form. Treat any expansion as a fact to verify against this list, not
one to generate. If unsure, ask — never guess an expansion.

- "A2ML" = "Attested Markup Language".  NOT "AI to Machine Language" / "AI-to-Machine Language".
- "BoJ"  = "Bundle of Joy".             NOT "Bureau of Justice", NOT "Bank of Japan".
- "The Joinery" = cleave (surface) / groove (protocol) / spline (data-form).
  NOT "weft", NOT "the groove stack", NOT consumer names as layer names.

DEPRECATED NAMES — DO NOT REINTRODUCE (estate mandate 2026-06-30):
- "descriptiles" is the machine-readable metadata family (dir
  `.machine_readable/descriptiles/`). The old name "6a2" is DEPRECATED — never
  write "6a2", migrate it to "descriptiles" on sight.
- "contractiles" is the normative verb family (Must/Trust/Adjust/Dust/Bust/Intend).
- "bot_directives" replaces the old "agent_instructions".
----

== Register

[cols="1,2,2,3",options="header"]
|===
| Name | Canonical expansion | Reject these (wrong) | What it is

| **A2ML**
| Attested Markup Language
| "AI to Machine Language", "AI-to-Machine Language", "A2 Markup Language"
| The estate's attested markup language. The letters *read* as "A-to-M-L",
  which is exactly why models mis-expand it — override that reflex; the
  expansion is *Attested Markup Language*.

| **BoJ**
| Bundle of Joy
| "Bureau of Justice", "Bank of Japan", "Board of Justice"
| Named for the design goal made concrete: a coherent, joyful whole, not a
  mismatch of broken parts adding to the pain of the agentic experience. It is
  not an institution.

| **PLASMA**
| Palimpsest licence / exactness tooling (only)
| "the claim-grounder", "the DYADT engine", "agent-claim verifier"
| PLASMA (`palimpsest-plasma`) is licence & exactness tooling *only* — the
  authority for licence identity, invariants, and equivalence. It is NOT an
  agent-claim verifier. Post-action verification of an agent's asserted
  outcomes is *DYADT* (see below), which subsumes the former "claim-grounder"
  concept and drops the PLASMA name. See
  `did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc`.

| **DYADT**
| Did-You-Actually-Do-That
| "PLASMA", "the grounder"
| Post-action agent-claim verification (Tier 4 of the accountability pipeline):
  takes an agent's asserted outcomes and mechanically confirms/refutes each
  against primary evidence. Home: `did-you-actually-do-that/`.

| **The Joinery**
| The three-layer connective system: cleave / groove / spline
| "weft", "the groove stack", "groove-* sprawl names for layers",
  "consumer names as layer names"
| Exactly three layers. *cleave* is the surface — the tunable integration
  surface, a deliberate contranym: cleave *apart* = clean zero-residue
  teardown; cleave *together* = deep bond. *groove* is the protocol — runtime
  capability discovery + type-safe composition; how deep a connection seats
  in the groove is how integrated/trusted/gated it is. *spline* is the
  data-form — the serialise/parallelise wire layer that seats into the
  groove. Canonical rule: consumers (`gossamer`, `burble`, `panll`, `vext`,
  …) are NOT layers and must never be used as layer names — if you see one
  used that way, flag it; do not silently rewrite either name. The former
  layer name `weft` is deprecated (see *Deprecated names* below). Authority:
  groove ADR 0009 (`docs/decisions/0009-the-joinery-naming-canon.adoc` in
  `hyperpolymath/groove`).

|===

== Deprecated names — do not reintroduce (MANDATE, 2026-06-30)

Distinct from the mis-expansion register above: these are estate names that
have been *renamed*. The old form is **deprecated** and must not be
reintroduced anywhere (paths, prose, tooling, config). This is the owner's
mandate of 2026-06-30 — the opportunistic upgrade + refinement layered on top
of the larger reconciliation of the machine-readable substrate. It applies
estate-wide, `standards` included.

[cols="1,1,3",options="header"]
|===
| Deprecated (do not use) | Canonical (use this) | Notes

| **`6a2`**
| **`descriptiles`**
| The descriptive machine-readable metadata family: `STATE`, `META`,
  `ECOSYSTEM`, `AGENTIC`, `NEUROSYM`, `PLAYBOOK`, plus `CLADE` and
  `anchors/ANCHOR`. Canonical directory `.machine_readable/descriptiles/`.
  `rsr-template-repo` leads (rename merged); `standards` still carries `6a2`
  in ~81 files and is being migrated. The `.machine_readable/6a2/` path is a
  404 on repos that have migrated — repoint links to `descriptiles/`.

| **`agent_instructions`**
| **`bot_directives`**
| The per-bot directive set (`coverage`, `debt`, `methodology`).

| _(pair)_
| **`contractiles`**
| The normative verb family (Must/Trust/Adjust/Dust/Bust/Intend). Not a rename
  — named here as the established companion of `descriptiles`, so the
  `descriptiles`/`contractiles` pair is stated together as canonical.

| **`weft`**
| **`spline`**
| The data-form / wire layer of the *joinery* system: `cleave` (the surface),
  `groove` (the protocol), `spline` (the data-form that seats into a groove).
  Renamed from `weft` (textile) to fit the carpentry metaphor. Consumers
  (`gossamer`, `burble`, …) sit outside the system and keep their own names.
  See groove ADR 0009 and the **The Joinery** row in the *Register* above.
  Do not revert `spline`→`weft`.
|===

== Adding a name

Add a row to the *Register* whenever a name is mis-expanded more than once.
Populate the *Reject* column with the *exact* wrong forms you have actually
seen — that specific in-context list is what lets a model suppress the
mis-expansion. Add a row to *Deprecated names* whenever a name is renamed and
the old form must not return. Keep the directive block above in sync so it
stays copy-pasteable.

This file (`standards/CANONICAL-NAMES.adoc`) is the canonical source. Any copy
elsewhere (e.g. `dev-notes/glossary/CANONICAL-NAMES.adoc`) mirrors it; if they
disagree, this one wins.
