Some checks failed
ci / check (push) Failing after 4s
--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>
69 lines
3.5 KiB
Markdown
69 lines
3.5 KiB
Markdown
# Ornament register — what we claim does not matter
|
|
|
|
The declarations required by [`Ornamentation.md`](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.
|
|
|
|
<!-- ornament-register:begin -->
|
|
|
|
| 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 |
|
|
|
|
<!-- ornament-register:end -->
|
|
|
|
- **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.
|