--- id: CB-WP-0050 kind: product title: "Every configuration, faceted by aspect" status: done state_hub_workstream_id: "7d92daec-eb6a-4647-a1dc-5d374fdc9f0d" --- # Purpose ``` structural tier S (a new panel; no rule, no state, no artifact contract moved) declared tier S ``` CB-RES-0010 §5.4: *"hold all aspects fixed, vary one."* The selector (CB-WP-0048) made configurations selectable and the policies (CB-WP-0049) made them judgeable. This measures them. ## Task: sweep the points, and say what could not be measured ```task id: CB-WP-0050-T01 status: done priority: high state_hub_task_id: "c7ec2919-7a1e-4f49-b989-67bfb7d25d98" ``` **Controls:** - **one module at a time first**, every other aspect held at its default, so a row measures a module rather than a bundle; - **profiles after**, where an interaction is the hypothesis — and a single-module profile is skipped, because it is the row above; - **nothing is omitted**: a module with no kernel path prints as such; - **a module that never acted is reported UNMEASURED**, by name. **Done 2026-08-08.** `make panels` gained `module-panel`. ## What it found **1. `attack_relief.self_soothe_ge4` has never fired. Not once.** Zero ATTACKs in every cell, at every seat band, under both bots. The module acts only on an uncancelled ATTACK by a seat at Stress ≥ 4, and `GreedyPolicy` ranks `Ground` at 100 when the gate bites against `Attack`'s 10 — so at exactly the position where self-soothe would pay, GROUND wins. `ModuleAwarePolicy` adds 55 and **that is still not enough**. Filed as **F31, `unplayed`**. This also reaches backwards: **CB-EV-0030's H1 verdict rests on its flat-pressure half alone**, since H1's other half never had an opportunity in any of those games either. **2. `problem_stress.scoped` is the only module with a measured effect.** 3p group success 85 → 60 (greedy) and 86 → 63 (module-aware); peak Stress 2 → 4. `problem_stress.flat_any_open` drives group success to **0** at every seat band, which is the H1 rejection reproduced from the module side rather than the package side. **3. `scoped_plus_attack_soothe` is exactly `problem_stress.scoped`.** Identical in every cell — necessarily, given (1). The first intentional multi-aspect combination in the catalog **cannot currently be evaluated as a combination**, and the panel says so on its own row rather than letting the equality read as "no interaction". ## The defect the panel had, on its first run It printed `85 / 86` for `attack_relief.self_soothe_ge4` — real-looking numbers that invite the reading *"measured, no effect"*, when the truth is that no seat ever created the precondition. **Its own docstring said it would not do this**, which is the same shape as CB-WP-0046's wrong reason for an open item: the claim was written before the behaviour was. Two iterations to get the reporting honest: - first, whole rows marked `never fired — unmeasured` — which **threw away a real result**, because `h1`'s flat-pressure half fires in every game and drives group success to 0; - then, the **specific module** named, with the row's numbers kept: `0 0 4 0 0 ← attack_relief.self_soothe_ge4 never fired: UNMEASURED`. The numbers in such a row are real for the modules that did fire. Saying which one did not is what stops the row being read as a verdict on all of them. ## Task: F31's falsifier ```task id: CB-WP-0050-T02 status: done priority: high ``` `GateAttackPolicy` ranks ATTACK above GROUND at the stress gate and delegates everything else. **A probe, not a better bot** — its win rate is not a recommendation, and the panel's banner says so, because a column that looks like a policy comparison will be read as one. **Controls:** - **it actually attacks, and at the gate** — asserted on real games, not on the ranking: a rank of 110 proves an intention where the panel needs an occurrence; - **blind** (ADR-0023); - **the probe's row decides "never fired"**, not the others — a module is unreachable only if the seat built to reach it could not reach it either. **Done 2026-08-08.** F31 answered, in two parts. **(a) The module is unreachable in the printed game.** Selected *alone* it still never fires: peak Stress never exceeds 2, so the gate never bites and no ATTACK is ever gated. **A module can be unreachable because of an aspect it does not name** — `attack_relief` needs a `problem_stress` module before it can act at all, and nothing in its own declaration says so. **(b) Once reachable it is real.** Holding the probe fixed and varying only the module: group wins +9 / +9 / +7 at 3/4/6p, and DARVO arming down by a quarter to a half. Stated as the conditional it is: *given seats that attack at the gate*. The probe wins 12/100 where greedy wins 60/100 under the same module, so this is not advice to attack and not evidence against F17. **And it changes what we told ground-game about H1.** CB-EV-0030 rejected H1 with policies that never attacked, so H1-B was inert for every game behind that verdict. The rejection stands on flat pressure alone — wins are 0 either way — but *"H1-B does nothing"* was never established and is now known to be false. ## Not done here - **The panel measures SHARED GROUND only.** Mode × module is a three-dimensional sweep and nothing yet says the modules behave the same under the competitive modes — where, per CB-EV-0033, *who wins* moves even when group success does not. - ~~**ground-game has not been told about F31.**~~ Reported 2026-08-09 as GROUND-RPT-0007, as a correction to GROUND-RPT-0004. - **The scope term is inert at round-one positions** (CB-WP-0049 T04), so `problem_stress.scoped`'s measured effect is driven by later rounds. The panel does not report per-round effect, and that is where the module actually lives.