ground-game/reports/260809-clay-borg-attack-relief-correction.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

4.3 KiB
Raw Blame History

id type title domain repo status owner topic_slug created extends
GROUND-RPT-0007 report clay-borg: correction — H1-B was never measured, and it does something consumer ground-game informational bernd whynot 2026-08-09 GROUND-WP-0006

Correction to GROUND-RPT-0004 (H1 measured)

Upstream: clay-borg specs/FindingRegister.md F31, games/ground/examples/module-panel.rs.

This is a correction we owe you, not a new result we chose to send.


1. What we got wrong

We reported H1 as measured and rejected. Half of it was never measured.

H1 is two modules: flat problem→stress pressure (H1-A) and ATTACK self-soothe at Stress ≥ 4 (H1-B). Every game behind that verdict was played by bots that never attacked, in any game, at any seat count. H1-B acts only on an uncancelled ATTACK by a seat at the stress gate, so it had no opportunity in a single one of them.

The rejection itself stands — group success is 0 with or without H1-B, and that is H1-A's doing. But "H1-B does nothing" was never established, and is now known to be false.

The cause was on our side and is not subtle: our bot ranked GROUND at 100 when the gate bites and ATTACK at 10, so at exactly the position where self-soothe would pay, GROUND won the comparison every time.


2. H1-B is unreachable in the printed game

We built a probe that attacks at the gate. Selected on its own, attack_relief.self_soothe_ge4 still never fires.

Peak Stress in the baseline never exceeds its starting 2. The gate is at 4. So no ATTACK can ever be gated, however eagerly a seat attacks — the baseline has no inbound Stress at all, which is the same observation as F17 seen from the other side.

A module can be unreachable because of an aspect it does not name. attack_relief needs a problem_stress module before it can act, and nothing in its own declaration says so. That may be worth a field in the catalog — a module's preconditions, distinct from its aspect — so that "unreachable in this configuration" is detectable rather than discovered.


3. Once reachable, it does something

Same probe throughout, varying only the module:

seats problem_stress.scoped + attack_relief.self_soothe_ge4 group wins DARVO arms
3p 12 21 +9 299 → 221
4p 19 28 +9 294 → 213
6p 50 57 +7 334 → 164

Under flat pressure the effect shows in DARVO alone: h1 arms 200 against problem_stress.flat_any_open's 300 / 400 / 600, with group wins 0 in both.

Read this as the conditional it is. Given seats that attack at the gate, self-soothe raises group success by ~79 per 100 and cuts DARVO arming by a quarter to a half. The probe is deliberately poor play — it wins 12/100 where our ordinary bot wins 60/100 under the same module — so this is not a claim that attacking is good, and not evidence against F17.

Sensitivity: vary only the ATTACK rank. At 10 and at +55 the module never fires; at 110 it fires in every game. Nothing about the module changed — only whether any seat gave it a turn.


4. What we are not saying

  • Not that H1 should be reconsidered. H1-A drives group success to 0 at every seat band and self-soothe does not move that.
  • Not that ATTACK is good play.
  • Not that these numbers describe a table. Every one is bots, and the seats that produce them play badly on purpose.

Ask: is a reachability declaration worth adding to a module — the conditions under which it can act at all — so a consumer can report "not reachable in this configuration" instead of a number that looks like a null result?


5. Two earlier items still open on your side

Neither is new; both were in GROUND-RPT-0006 and are unanswered.

(a) The competitive modes are weakly tested. No bot of ours models a rival playing their objective. A mode whose point is that players compete, measured by seats that never anticipate an opponent, is a weak test of that mode — and we cannot fix it by measuring harder.

(b) problem_stress.scoped cannot reach a decision in round one. Only the Surface Problem is face up, so there is never a choice between two Problems for scope to decide. Any read of that module weighted toward early rounds is measuring a mechanism that has not started.