CB-WP-0040: name the stratum before naming the defect
Some checks failed
ci / check (push) Failing after 3s

The maintainer could not tell whether "error", "failure", "finding" or
"correction" referred to the game's design, our formalisation of it, the
code, the measuring apparatus, or the sentences we wrote. Three review
rounds produced twenty-odd defect statements spanning five systems, all
called errors. The confusion was ours.

specs/Taxonomy.md, grounded in named canon rather than invented here: six
strata from Sargent's problem entity / conceptual model / computerized
model, extended where a simulation-V&V frame stops — we also own an
instrument and an account. The two relations are what was missing:
GAME<->MODEL is validation, MODEL<->ENGINE is verification, and nearly
every argument about "our bug or their gap" was that distinction going
unnamed.

Fault/error/failure from Avizienis et al., applied within a stratum, plus
the rule that explains the review history: a failure in one stratum is a
fault in the next. And it finally defines the family ADR-0018 could only
point at — a wrong-subject error is an ACCOUNT failure with no INSTRUMENT
fault, which is why tests never catch them.

MDA supplies the game-facing layers and one hard limit: our panels measure
dynamics, our trial logs sample aesthetics, and a win rate does not answer
"is it fun".

specs/Positioning.md names the field fairly — Ludii is the closest
relative and the right benchmark — and the four differentiators, each
already built rather than aspired to. Clay-borg is a design-evidence
instrument; anyone can produce the number. Three tracks named and none
started: a second game, game theory as the lens on dynamics, and
assimilated knowledge about why games work.

Track A is the falsifier for the whole positioning: every abstraction here
has exactly one instance, which by our own rule may mean invented rather
than observed.

Chaos window 3 closes at 12 declarations with one override that changed
nothing. Its verdict is due and is deliberately not written here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-08 11:41:16 +02:00
parent c4a8a227c0
commit 713a9df7fd
5 changed files with 502 additions and 1 deletions

View file

@ -0,0 +1,123 @@
---
id: CB-WP-0040
kind: meta
title: "What a statement is about"
status: done
---
# Purpose
```
structural tier M (fixes the vocabulary the loop uses to describe its
own defects, and states where the repo is going)
chaos d8 = 5 → no override
declared tier M
```
**Declaration 12 of chaos window 3 — the window's last.** Its verdict is
due, and this pass does not write it.
## The report
> *"It is hard for me to follow what you mean by error, failure, finding
> and correction because i often cant tell if we are talking about the game
> mechanics, the simulator, the telemetry, intended results,
> visualization, etc."*
**The maintainer is right and the confusion is ours.** Three review rounds
produced twenty-odd defect statements spanning five different systems, all
called "errors".
## Task: the taxonomy, grounded in canon
```task
id: CB-WP-0040-T01
status: done
priority: high
```
**Controls:**
- **grounded, not invented** — named sources, because a private vocabulary
is a second thing to learn;
- **worked examples from this repo**, or the taxonomy was invented rather
than observed (GameDesign §2);
- **a falsifier**: what would show the strata are cut wrong.
**Done 2026-08-08.** [`specs/Taxonomy.md`](../specs/Taxonomy.md).
**Six strata** — GAME, MODEL, ENGINE, INSTRUMENT, ACCOUNT, PRESENTATION —
from **Sargent**'s problem entity / conceptual model / computerized model,
extended where a simulation-V&V frame stops (we also own an *instrument*
and an *account*).
**The two relations are the part that was missing.** GAME↔MODEL is
**validation**; MODEL↔ENGINE is **verification**. Nearly every argument we
have had about "is this our bug or their gap" was that distinction going
unnamed.
**Fault / error / failure** from **Avizienis et al.**, applied within a
stratum, plus the rule that explains the whole review history: **a failure
in one stratum is a fault in the next.**
**And it finally defines the family ADR-0018 could only point at:** a
wrong-subject error is *an ACCOUNT failure with no INSTRUMENT fault*. The
measurement is right about its own subject; the sentence is about a
different one. **That is why tests never catch these** and why the fix is
never "add a test to the engine".
**MDA** supplies the game-facing layers and one hard limit: **our panels
measure dynamics, our trial logs sample aesthetics, and neither substitutes
for the other.** A win rate does not answer "is it fun".
## Task: positioning, and the tracks
```task
id: CB-WP-0040-T02
status: done
priority: high
```
**Controls:**
- **name the competition and be fair to it** — a differentiator that
requires misdescribing Ludii is not one;
- **every claimed differentiator is visible in the repo already**, not
aspired to;
- **a falsifier for the whole document.**
**Done 2026-08-08.** [`specs/Positioning.md`](../specs/Positioning.md).
**Ludii is the closest relative and the right benchmark** — ludemes, a
game in a QR code, far broader than us. If our answer to *"why not Ludii"*
is "ours is in Rust", there is no answer.
**The four differentiators, each already built:** the measurement is under
suspicion by construction; authority is federated, so the owner rules and
we report; what is *not* mechanism is modelled too; and a hypothesis is a
package with declared criteria rather than a patch.
> **Clay-borg is a design-evidence instrument.** Its product is an
> auditable answer to *what does this rule do at the table, and how much
> should you trust that*. Anyone can produce the number.
**Three tracks named, none started** — a second game; game theory as the
lens on dynamics; assimilated knowledge about why games work.
**Track A is the falsifier for the entire positioning.** If a second game
cannot be defined without reshaping the kernel, then "GROUND is an
example" was never true and the differentiators belong to one bespoke tool
rather than to a framework. **Every abstraction in this repo currently has
exactly one instance**, which by our own rule means it may have been
invented rather than observed.
## Deliberately not done
- **No game-theory implementation.** Track B is specified as a shape and
nothing more, because a solution concept quoted without its assumptions
is the wrong-subject error in mathematical dress — and this repo has just
spent three review rounds on that family.
- **No second game started.** It is the largest track and wants its own
declaration.
- **The register rows are not re-stratified.** `Taxonomy.md` §3 says a row
should name its stratum; the existing rows do not yet, and rewriting
twenty-five of them in the pass that invented the rule would put the rule
beyond challenge before anyone had used it.