clay-borg/specs/OrnamentRegister.md
tegwick bd9e168af5
Some checks failed
ci / check (push) Failing after 4s
CB-WP-0036 done: the pace flag and the first ornament declarations
--pace speed|interactive, defaulting to Speed. Nothing reads it yet, and
that is the point: it is the seam clay-animate attaches to, and a seam is
cheap now where a retrofit would not be. A misspelt pace is refused rather
than defaulting, because quietly falling back to Speed would look exactly
like the renderer being broken.

I3 is asserted rather than intended: the same scripted game at both paces
must produce a byte-identical serialised recording and the same end state
hash. Mutation-proven — leak the pace into the seed and it fails with "the
recording differs by pace, so a renderer has become mechanism".

specs/OrnamentRegister.md carries four declarations. This reverses the
reasoning written in T03 earlier, which said the first declarations would
come from F18's unvendored files: instances already existed. Hand order is
what prompted the category, and "who deals" was the maintainer's own
example. O3 is the interesting one — seat ORDER is mechanism because
GR-R08 rotates Lead, while where a seat is drawn is not.

I5 is executable: check_ornament_falsifier fails any row still declared
that names no falsifier, mutation-proven red on O1. Presence, never
adequacy, and the finding text says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 22:15:38 +02:00

3.5 KiB

Ornament register — what we claim does not matter

The declarations required by Ornamentation.md §2.1.

Every row is a claim that something does not affect the game. This project's finding register is largely a list of times that claim was wrong, so each declaration carries a falsifier: the rule or observation that would make it mechanism. A declaration that cannot be wrong is not a claim (§2.1, invariant I5).

grounded is how the claim is supported — rule (the edition says so), measured (we checked), or provisional (nobody has ruled, and we chose). provisional is a legitimate state and must be said out loud; quietly canonising a provisional default is a mistake this project has already made once.

id ornaments grounded state raised
O1 hand order provisional declared 2026-08-07
O2 who shuffles and deals provisional declared 2026-08-07
O3 where a seat is drawn rule declared 2026-08-07
O4 card typography and illustration provisional declared 2026-08-07
  • O1 — hand order. The contents of a hand are mechanism; the order the cards sit in is not. No numbered rule in GroundRules.md refers to a card's position within a hand, and PlayerView.hand is a Vec whose order comes from dealing, not from a rule. Falsifier: any rule that refers to a card's position in hand — "play your leftmost", "reveal the top of your hand" — or any engine behaviour that varies with it. Invariant I1 is the standing check: sorting must not move state_hash, because a hash that moved would break every trial note's binding (ADR-0019 D3) and every replay. This is the one that prompted the category, from the request to drag cards between hand slots.

  • O2 — who shuffles and deals. The deck's permutation is mechanism and comes from the seed; the ceremony around it is not. Nothing in the rules names a dealer, and the hands are identical whoever performs it. Falsifier: a rule that gives the dealer a decision, an advantage, or an order of dealing that changes who receives which card. Note the deal is not ornamental — only the ceremony around it is.

  • O3 — where a seat is drawn. Seat order is mechanism: GR-R08 rotates Lead, so who follows whom binds. Where a seat appears on the drawn ellipse does not, provided the drawn order preserves the rotation order. Falsifier: any rule referring to physical position — "the player across from you", "your left-hand neighbour" as distinct from the next in rotation. This is rule-grounded rather than provisional because GR-R08 states the ordering that binds.

  • O4 — card typography and illustration. How a card looks does not change what it does. But it is not ours to invent: ADR-0015's discipline holds, and Player_Mats and Glossary — which carry exactly this — are still unvendored (F18). Falsifier: a card whose meaning is carried by its layout or art rather than its text, which is a real possibility in a game about perception and is the reason this is provisional rather than rule. Nothing may be declared about these files until they are read.

What is deliberately absent

No row for animation, timing or movement. Those are ornamentation, and they belong to clay-animate (§3). A declaration here is a claim about the game; how a renderer performs it is that renderer's business.