clay-borg/decisions
tegwick bff64053ca ADR-0022 + CB-WP-0048 T00: the selector decision, and the mirror held
The maintainer's observation decided the design: aspects partition the
GAME, strata partition our apparatus, and they are orthogonal. A module
is one coordinate change in aspect space with an obligation in every
stratum. So aspect identity must NOT be Rust types -- an aspect
ground-game adds would make clay-borg fail to parse a configuration
rather than fail to run it, welding the two coordinate systems at the
one place they must stay independent.

Chosen: identity as data (Configuration round-trips anything the catalog
names), behaviour exhaustive (Rules, no catch-all), resolve() between.
Decisive argument: the catalog ALREADY ships modules with a rules_delta
and status: proposed, so a per-aspect enum would report them as "unknown
module" -- indistinguishable from a typo, a false statement about the
edition, and this project's signature failure shape. Two facts need two
errors. Federating design authority is permanent, so the representation
must outlive the implementation.

Legacy ids alias forever through the catalog's own legacy_experiment_id,
on the standard-Np precedent: 26 recordings name them and the expansion
is exact, so there is nothing to deprecate.

T00 done: the schema-2 mirror had arrived with no digests (19 files) and
edition-check was red. Digests are now generated by WALKING editions/,
not typed -- two reviews already found hand-written lists that made
their own controls vacuous, and a mirror that grows a directory is what
breaks a maintained list. PROVENANCE-catalog.md was a file inside the
mirrored tree that upstream does not have; folded into our own
PROVENANCE.md, since provenance about the mirror does not belong inside
the thing it describes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 22:07:57 +02:00
..
ADR-0002-game-kernel.md T04: adversarial review round + survey corrections + ADR-0002 (reimplement, assimilate patterns) 2026-07-31 01:25:02 +02:00
ADR-0003-cost-accounting.md T02: ADR-0003 — transcript as instrument, commit intervals as attribution 2026-07-31 08:44:27 +02:00
ADR-0004-am4-ratification.md CB-WP-0019 T01/T02: AM-4b asks what a contributor acquires 2026-08-03 19:04:54 +02:00
ADR-0005-assertion-coverage-and-replay.md ADR-0005 + CB-WP-0005: count assertions, not names 2026-07-31 14:25:26 +02:00
ADR-0006-adaptive-control-gates.md ADR-0006 + CB-WP-0009: control gates are experiments 2026-08-01 15:34:27 +02:00
ADR-0007-render-html-not-a-port.md CB-WP-0012-T03: ADR-0007 — render to HTML, and do not declare the port yet 2026-08-02 04:13:35 +02:00
ADR-0008-instrument-corrections.md CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target 2026-08-02 07:30:14 +02:00
ADR-0009-embed-the-js-engine.md CB-WP-0014-T01/T02: execute the JavaScript — and find AM-4b blind 2026-08-02 07:56:02 +02:00
ADR-0010-what-the-script-may-do.md CB-WP-0017: legible interaction, and the chaos window's verdict 2026-08-02 22:42:45 +02:00
ADR-0011-vendor-the-edition.md CB-WP-0021 T01/T02/T05: the engine plays its own data — AM-7 blocks 2026-08-04 00:47:56 +02:00
ADR-0012-the-design-instrument.md CB-WP-0022 T03: ADR-0012 -- the register already existed, and the rule was 2026-08-05 15:05:51 +02:00
ADR-0013-could-we-have-won.md CB-WP-0025 T03: ADR-0013 -- one world after the game, and difficulty that 2026-08-05 18:47:07 +02:00
ADR-0014-the-commentary-track.md CB-WP-0027 T01-T04: the commentary track 2026-08-06 10:37:46 +02:00
ADR-0015-the-cards-own-words.md CB-WP-0028 T01/T02: the cards say what they do 2026-08-06 17:22:04 +02:00
ADR-0016-the-tokens-on-the-table.md CB-WP-0029 T01-T03: components you can count, and a supply that does not bind 2026-08-07 09:54:20 +02:00
ADR-0017-chaos-window-2-verdict.md ADR-0017: window 2's verdict — the mechanism worked, my account of it did 2026-08-07 10:55:54 +02:00
ADR-0018-a-number-that-does-not-move.md CB-WP-0030: a control for the wrong-subject family 2026-08-07 11:35:41 +02:00
ADR-0019-a-game-is-the-unit.md CB-WP-0033: a game is the unit 2026-08-07 17:41:11 +02:00
ADR-0020-we-do-not-build-the-port.md CB-WP-0041 done: ADR-0020 refuses the port, and T02 is why 2026-08-08 15:35:03 +02:00
ADR-0021-the-chaos-roll-is-retired.md ADR-0021: the chaos roll is retired, and the condition that retired it was wrong 2026-08-08 15:51:52 +02:00
ADR-0022-a-configuration-is-a-point-in-aspect-space.md ADR-0022 + CB-WP-0048 T00: the selector decision, and the mirror held 2026-08-08 22:07:57 +02:00