clay-borg/workplans/CB-WP-0050-every-configuration-faceted-by-aspect.md
tegwick 3f2ba2ec5d
Some checks failed
ci / check (push) Failing after 4s
CB-WP-0050: every configuration, faceted by aspect — and F31
module-panel sweeps points in aspect space the way scenario-panel sweeps
boards: one module at a time with every other aspect held, then the
profiles where an interaction is the hypothesis.

F31: attack_relief.self_soothe_ge4 HAS NEVER FIRED. Zero ATTACKs in
every cell, every seat band, both bots. The module acts only on an
uncancelled ATTACK by a seat at Stress >= 4, and greedy ranks Ground 100
at the gate 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. `unplayed`, not `inert`: the kernel implements it
correctly and nothing has ever given it an opportunity.

This reaches backwards: CB-EV-0030's H1 verdict rests on its
flat-pressure half alone, because H1's other half never had an
opportunity in those games either.

Also: problem_stress.scoped is the only module with a measured effect
(3p 85->60 greedy, 86->63 module-aware, peak Stress 2->4);
flat_any_open drives group success to 0 at every band, reproducing the
H1 rejection from the module side; and scoped_plus_attack_soothe is
EXACTLY scoped alone -- necessarily, given F31 -- so the catalog's first
intentional multi-aspect combination cannot currently be evaluated as a
combination.

THE PANEL'S OWN DEFECT, first run: it printed 85/86 for a module that
never fired -- real-looking numbers inviting "measured, no effect" when
no seat ever created the precondition. Its docstring already said it
would not do that; the claim was written before the behaviour was.
First fix marked whole rows unmeasured, which threw away h1's real
flat-pressure result; the shipped fix names the specific module and
keeps the row's numbers, which are real for the modules that did fire.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 01:45:53 +02:00

3.9 KiB
Raw Blame History

id kind title status
CB-WP-0050 product Every configuration, faceted by aspect done

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

id: CB-WP-0050-T01
status: done
priority: high

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.

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.
  • F31 has no falsifier running. A seat that attacks at the gate would settle whether attack_relief.self_soothe_ge4 is real or merely unreachable; until one exists, no claim about that module is supported in either direction.
  • 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.