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>
This commit is contained in:
parent
b39bc14861
commit
bff64053ca
29 changed files with 1997 additions and 22 deletions
|
|
@ -1,17 +1,19 @@
|
|||
# GROUND edition catalog — schema 2: composable modules
|
||||
# Docs: CATALOG.md
|
||||
# clay-borg: select baseline + 0..N modules (≤1 per axis), or a named profile.
|
||||
# clay-borg: select baseline + 0..N modules (≤1 per aspect), or a named profile.
|
||||
|
||||
schema_version: 2
|
||||
# terminology: aspect (human) = former axis; modules remain module_id
|
||||
updated: "2026-08-08"
|
||||
default_baseline: ground-darvo-r0
|
||||
default_profile: baseline
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Axes — orthogonal dimensions. At most one non-default module per axis.
|
||||
# Aspects — orthogonal design dimensions (formerly "axes"). At most one non-default module per aspect.
|
||||
# ---------------------------------------------------------------------------
|
||||
axes:
|
||||
aspects:
|
||||
- id: problem_stress
|
||||
# legacy key: axis (same meaning)
|
||||
title: Problem → Stress routing
|
||||
default_module: problem_stress.none
|
||||
summary: >
|
||||
|
|
@ -35,7 +37,7 @@ axes:
|
|||
summary: >
|
||||
Fixed setup deal only vs mid-game influx (pressure deck, etc.).
|
||||
|
||||
# Future axes (not yet registered): setup_difficulty, sequence_pacing,
|
||||
# Future aspects (not yet registered): setup_difficulty, sequence_pacing,
|
||||
# ground_as_sequence, status_stress, competence_track.
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
@ -50,7 +52,7 @@ baselines:
|
|||
title: "GROUND DARVO Edition — core r0"
|
||||
summary: >
|
||||
Print/playtest content. Modes, deal 6/9/12, thresholds 5/7/9.
|
||||
Default modules on all axes = r0 printed behaviour.
|
||||
Default modules on all aspects = r0 printed behaviour.
|
||||
utility_estimate: >
|
||||
Ship-default content. Stress has no problem pressure until a
|
||||
problem_stress module is selected.
|
||||
|
|
@ -62,7 +64,7 @@ baselines:
|
|||
modules:
|
||||
# --- problem_stress ---
|
||||
- module_id: problem_stress.none
|
||||
axis: problem_stress
|
||||
aspect: problem_stress
|
||||
path: editions/modules/problem_stress/none
|
||||
is_default: true
|
||||
selectable: true
|
||||
|
|
@ -72,7 +74,7 @@ modules:
|
|||
decision: none
|
||||
|
||||
- module_id: problem_stress.flat_any_open
|
||||
axis: problem_stress
|
||||
aspect: problem_stress
|
||||
path: editions/modules/problem_stress/flat_any_open
|
||||
is_default: false
|
||||
selectable: true
|
||||
|
|
@ -88,7 +90,7 @@ modules:
|
|||
clay_borg_notes: Former H1-A; implement without H1-B unless attack_relief also selected.
|
||||
|
||||
- module_id: problem_stress.scoped
|
||||
axis: problem_stress
|
||||
aspect: problem_stress
|
||||
path: editions/modules/problem_stress/scoped
|
||||
is_default: false
|
||||
selectable: true
|
||||
|
|
@ -109,7 +111,7 @@ modules:
|
|||
|
||||
# --- attack_relief ---
|
||||
- module_id: attack_relief.none
|
||||
axis: attack_relief
|
||||
aspect: attack_relief
|
||||
path: editions/modules/attack_relief/none
|
||||
is_default: true
|
||||
selectable: true
|
||||
|
|
@ -119,7 +121,7 @@ modules:
|
|||
decision: none
|
||||
|
||||
- module_id: attack_relief.self_soothe_ge4
|
||||
axis: attack_relief
|
||||
aspect: attack_relief
|
||||
path: editions/modules/attack_relief/self_soothe_ge4
|
||||
is_default: false
|
||||
selectable: true
|
||||
|
|
@ -136,7 +138,7 @@ modules:
|
|||
|
||||
# --- end_condition ---
|
||||
- module_id: end_condition.fixed_rounds_5
|
||||
axis: end_condition
|
||||
aspect: end_condition
|
||||
path: editions/modules/end_condition/fixed_rounds_5
|
||||
is_default: true
|
||||
selectable: true
|
||||
|
|
@ -146,7 +148,7 @@ modules:
|
|||
decision: none
|
||||
|
||||
- module_id: end_condition.hybrid_clear_collapse
|
||||
axis: end_condition
|
||||
aspect: end_condition
|
||||
path: editions/modules/end_condition/hybrid_clear_collapse
|
||||
is_default: false
|
||||
selectable: true
|
||||
|
|
@ -161,7 +163,7 @@ modules:
|
|||
|
||||
# --- problem_deal ---
|
||||
- module_id: problem_deal.fixed_setup
|
||||
axis: problem_deal
|
||||
aspect: problem_deal
|
||||
path: editions/modules/problem_deal/fixed_setup
|
||||
is_default: true
|
||||
selectable: true
|
||||
|
|
@ -171,7 +173,7 @@ modules:
|
|||
decision: none
|
||||
|
||||
- module_id: problem_deal.pressure_deck
|
||||
axis: problem_deal
|
||||
aspect: problem_deal
|
||||
path: editions/modules/problem_deal/pressure_deck
|
||||
is_default: false
|
||||
selectable: true
|
||||
|
|
@ -194,7 +196,7 @@ profiles:
|
|||
- profile_id: baseline
|
||||
title: Pure r0
|
||||
modules: []
|
||||
summary: All axis defaults — printed ground-darvo-r0 behaviour.
|
||||
summary: All aspect defaults — printed ground-darvo-r0 behaviour.
|
||||
|
||||
- profile_id: h1
|
||||
title: Legacy H1 (flat problem stress + attack soothe)
|
||||
|
|
@ -218,7 +220,7 @@ profiles:
|
|||
modules:
|
||||
- problem_stress.scoped
|
||||
- attack_relief.self_soothe_ge4
|
||||
summary: First intentional multi-axis combo after modular catalog.
|
||||
summary: First intentional multi-aspect combo after modular catalog.
|
||||
status: unmeasured
|
||||
|
||||
- profile_id: scoped_plus_hybrid_end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue