SYSTEMA CONSTRUCTUM

IV. One construct, one entry

Law 12: No duplicates, and names are compared blind (revised 2026-07-20).

Search the graph before creating. A second entry for an existing construct is struck on sight; a duplicate is the equivocation condition made by hand. **Names are compared normalized — blind to case, spacing, and punctu…

Search the graph before creating. A second entry for an existing construct is struck on sight; a duplicate is the equivocation condition made by hand. **Names are compared normalized — blind to case, spacing, and punctuation: `Macbook Air`, `macbook air`, and `macbook-air` are one name,** and the interface refuses the variant as it refuses the exact copy. *A second `contract` was REJECTED in one run; the 2026-07-18 `macbook-air` hyphen-variant established normalization; check `/api/graph` first.*

**Law 12-ii — The shape of names (ratified 2026-08-14).** **(12-ii-a)** A canonical name is made of **letters of any script, digits, hyphens, and apostrophes** — lowercase where the script has case; hyphens join words; spaces and underscores do not enter a new name. The interface refuses the shape as it refuses the duplicate. *(A name is a noun a corporatum wears, not a sentence and not a filename.)* **(12-ii-b)** The blind comparison folds case and diacritics to base letters (`café` ≡ `cafe` inside the gate; `café` remains `café` everywhere displayed), **keeps every Unicode letter and digit**, and discards the rest; a name whose normalization is empty is not a name and is refused — **no script normalizes to nothing** (Law 39's every-language promise, made mechanical). **(12-ii-c)** Standing names keep their shapes: an entry's contentHash committed its canonicalName to the chain at acceptance, so restyling is a succession-level act, never a cosmetic one, and the normalization already makes every old shape collide correctly with every new one. Standing underscore-names that duplicate a hyphen-twin were unconstitutional under Law 12 as it always read — they are ordinary contest targets, not subjects of this clause. *(Occasioned by the audit that found `café`→`caf` and every non-Latin label normalizing to the empty string; the keeper's ruling at drafting: "caf is unacceptable.")*

These are the human-readable bytes this deployment serves. Recorded amendments and dials plus content-addressed decision rules are the evidence of what it enforced.

The covered lawbook expression is licensed under Creative Commons Attribution-ShareAlike 4.0 International. Attribute it as “Systema Constructum lawbook — Jacob Baltz,” retain the license, and indicate changes. Copyright permission does not ratify the text or confer canonical authority.

← All laws