CB-WP-0048 T01: record the pass in the workplan
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e75f3afe4d
commit
036658ac76
1 changed files with 24 additions and 1 deletions
|
|
@ -63,7 +63,7 @@ shape again and should be closed on its own terms.
|
|||
|
||||
```task
|
||||
id: CB-WP-0048-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "4b8bfc25-0e4d-4fdc-9dad-5cdb66798207"
|
||||
```
|
||||
|
|
@ -71,6 +71,29 @@ state_hub_task_id: "4b8bfc25-0e4d-4fdc-9dad-5cdb66798207"
|
|||
Per ADR-0022 D1. Identity as data, behaviour exhaustive, `resolve()`
|
||||
between them.
|
||||
|
||||
**Done 2026-08-08.** `catalog.rs` reads schema 2 (aspects, modules,
|
||||
profiles) and **refuses a schema it does not understand by name** — a
|
||||
reader that silently accepted schema 1 would answer questions about
|
||||
aspects over a file that has none. `config.rs` holds `Configuration`
|
||||
(identity), `Rules` (behaviour) and `resolve()`.
|
||||
|
||||
Nothing about the aspect list, the defaults, or which modules are
|
||||
proposed is written in our source; all of it is read. The tests locate
|
||||
the proposed module **by searching the catalog for `status: proposed`**,
|
||||
so if ground-game implements it upstream the test looks elsewhere rather
|
||||
than going stale.
|
||||
|
||||
| mutation | what went red |
|
||||
|---|---|
|
||||
| the two errors become one sentence | *"a module the catalog HAS was reported as unknown"* |
|
||||
| one-per-aspect check removed | *"two modules on one aspect must be refused"* |
|
||||
| identity refuses what it cannot run | *"selecting a catalog module must NAME a configuration"* |
|
||||
| legacy lookup stops reading the catalog | *"h2 and profile h2 are not the same point in aspect space"* |
|
||||
|
||||
`scoped_plus_attack_soothe` now resolves — `problem_stress.scoped` ×
|
||||
`attack_relief.self_soothe_ge4`, the combination the three-armed enum
|
||||
could not express.
|
||||
|
||||
**Controls:**
|
||||
- **a proposed module is refused BY NAME**, distinguishably from a typo —
|
||||
the two-error requirement is the reason this shape was chosen, so it is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue