ground-game/history/260808-modular-variants.md
codex b5730f280b fix(workplans): adopt ADR-007 derived identifiers
Records absent from central carried random pre-ADR-007 identifiers minted by
the retired local hub, which C-06 refused as stale references. Deriving from
the canonical record id takes no identity from anything.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 19:30:13 +02:00

43 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Composable rules modules by aspect (catalog schema 2)
**Date:** 2026-08-08
**Status:** adopted as catalog contract
**Catalog:** [`editions/CATALOG.md`](../editions/CATALOG.md), [`editions/catalog.yaml`](../editions/catalog.yaml)
**Aspect map:** [`editions/ASPECTS.md`](../editions/ASPECTS.md)
**Simulator research:** clay-borg `research/CB-RES-0010-game-aspects-and-design-space.md`
---
## Decision
Rules variations are **independent modules on named aspects** (design
dimensions), not only monolithic experiments. Each module can be measured
**alone** or in a **profile** (explicit combination).
| Aspect | Examples |
|--------|----------|
| `problem_stress` | none / flat_any_open / scoped |
| `attack_relief` | none / self_soothe_ge4 |
| `end_condition` | fixed_rounds_5 / hybrid_clear_collapse (proposed) |
| `problem_deal` | fixed_setup / pressure_deck (proposed) |
Full aspect inventory (including fixed-in-r0 dimensions): **ASPECTS.md**.
H1 becomes profile `h1` = flat + attack soothe.
H2 becomes profile `h2` = scoped only.
New work prefers new modules + profiles over `experiments/mega-bundle`.
**Terminology:** *aspect* replaces earlier *axis* in human docs; YAML field
is `aspect:`.
## Why
Maintainer: end-of-game, setup, dealing, stress-boosters should be
tryable alone and in combination. Monolithic H1/H2 hid that H1 mixed two
aspects and that end/deal work should not force a rewrite of stress routing.
## clay-borg
Resolve `profile` or `modules[]` → apply deltas in catalog **aspect**
order; record full module list in game state / replays. Evolve selection
UI and panels around **aspects × modules × profiles** (CB-RES-0010).