ground-game/history/260807-attack-darvo-stress-design.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

166 lines
9.7 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.

# ATTACK / DARVO relevance — design challenge and H1
**Date:** 2026-08-07 (measurement 2026-08-08)
**Status:** H1 **measured** — reject as baseline; direction kept for H2
**Triggers:** [GROUND-RPT-0003](../reports/260807-clay-borg-attack-and-modes.md); inbox triage
**Variant:** [`editions/experiments/h1-problem-stress/`](../editions/experiments/h1-problem-stress/)
**Measurement:** [GROUND-RPT-0004](../reports/260808-clay-borg-h1-measured.md)
**Catalog:** [`editions/CATALOG.md`](../editions/CATALOG.md)
**Workplan:** [GROUND-WP-0006](../workplans/GROUND-WP-0006-h1-problem-stress-experiment.md)
---
## 0. The measured gap
clay-borg (RPT-0003): under competent play, **ATTACK never improves** outcomes in any mode, and in 500 competent games **DARVO armed zero times**. Modes themselves differentiate correctly; the driver bug that forced SHARED GROUND is fixed on their side.
So the namesake loop is reachable only by playing badly. That may be intentional (cautionary structure) or a missing Problem → Stress coupling. This note challenges design options **before** promoting any change into baseline `ground-darvo-r0`.
---
## 1. Stress ledger today (baseline r0)
| Source | Whos stress changes? | Notes |
|--------|----------------------|--------|
| **ACT_ATTACK** | **Target** +1 or +2 | **Attacker: no relief.** Cancelled → no change |
| **SUPPORT** | **Target** 1 or 2 | Bond Support also readies Freedom, cancels DARVO |
| **GROUND—GR** | **Self** 2 | Readies Freedom; DARVO current stage still fires |
| **DARVO REVERSE** | **Self** 2; **Focus target** +1 | Blame on target; Protection for self |
| **Unsolved Problems** | **Nobody** | `unresolved_effect` is empty in `Problems.csv` |
| **Status / rank** | **Nobody** | No hierarchy stress |
| Start | All at **2** | |
At Stress 45 the rules force the *vocabulary* of ATTACK or GROUND (unless Freedom is spent), but ordinary ATTACK is not a stress valve—only GROUND—GR and receiving Support (and later REVERSE) are.
**Implication:** Stress is almost a **closed social subsystem**. If nobody attacks, stress drifts mid/down; DARVO never arms. clay-borgs zero-DARVO result is the ledger working as printed, not a simulator bug.
INTENT principle (“DARVO must sometimes work **locally** — short-term advantage, delayed relational cost”) is therefore under-served: the only local advantage is REVERSEs package, gated on already being at Stress 5 for three rounds of sequence.
---
## 2. Design directions (challenged)
### 2.1 Stress from stuck problems + outward projection
**Strong:** Restores Problem → Individual link in the four-layer model. Makes GROUND regulation under load; Support anti-cascade; DARVO “I cant hold this.”
**Challenge:**
- Today **ATTACK and Blame do not reduce the projectors stress**. Without a rules change, “forced projection” is flavor on a move that still does not help the projector.
- Passive problem ticks can flatten into always-DARVO or kill group thresholds (already ~7583% of available points).
- Personal / Bond-attached problems are powerful and already listed as **extensions** (`EXT_PERSONAL`) — keep out of first core experiment.
- Even with self-soothe, **E04** still punishes Bond-breaking; mode-aware evaluation is required.
### 2.2 Hierarchy / competitive status stress
**Strong:** Injects stress without anyone choosing ATTACK; natural in semi-coop.
**Challenge:** Leader stress amplifies Matthew effects; “leading” mid-game is noisy; co-op must not invent early winners; stacking with problem pressure overproduces Stress 5 at 2p.
**Parked** behind H1 (last-place-only semi-coop is the minimal follow-up if H1 under-delivers).
### 2.3 Competence score
**Strong as extension** (follow-through, self-regard). **Wrong tool** for RPT-0003: does not create ATTACK incentive unless it secretly becomes another stress track. **Out of H1.**
---
## 3. Playtest hypothesis H1
> If unsolved shared Problems raise Stress, and high-Stress ATTACK returns a small self-relief, then competent play will sometimes arm DARVO and sometimes select ATTACK, without making always-ATTACK optimal.
### 3.1 Two rule deltas only (relative to `ground-darvo-r0`)
| ID | Rule | Detail |
|----|------|--------|
| **H1-A** | Problem pressure | At **Round End**, after Stress clamp step preparation: if **any** Problem still in play is **unclaimed** (face-up, hidden, or Denied), **each player +1 Stress**, then clamp 05, then DARVO arm check as today. |
| **H1-B** | High-stress ATTACK self-soothe | When an **ACT_ATTACK** resolves and is **not cancelled**, if the **attackers Stress was ≥ 4 before this Attacks effects**, the attacker takes **1 Stress** (then clamp). Target / relation effects unchanged. DARVO-stage extra Attack uses the same Attack resolution (so it can self-soothe too if Stress ≥ 4). |
Unchanged on purpose: thresholds, deal, SOLVE legality, Support, GROUND modes, DARVO stage table, relation slots, starting Stress 2.
### 3.2 Success criteria (compare to RPT-0003 harness)
Under a competent multi-policy panel, same seat counts as RPT-0003 where practical:
1. **DARVO arm rate** non-trivial (target band to refine after first N; not 0/500).
2. **ATTACK selection** rises for some subpopulation (e.g. Stress ≥ 4) and **raising ATTACK rank** improves at least one objective in some mode/seat cell — not “always attack wins.”
3. **Group threshold success** does not collapse to “only perfect peaceful play.”
4. Bond Support and GROUND remain better than DARVO **when regulation holds** — DARVO stays the failure mode, not the dominant strategy.
### 3.3 Explicit non-goals for H1
- No personal / bond-group problem cards.
- No competence track.
- No leader/last-place status stress (Idea 2).
- No silent edit of baseline `point_value` / `required_solution` inside r0.
- No promotion of H1 into `ground-darvo-r0` until measured utility is accepted.
---
## 4. Rules variation versioning (how we compare experiments)
See full contract: [`editions/CATALOG.md`](../editions/CATALOG.md).
**Summary:**
| Mechanism | Role |
|-----------|------|
| **`editions/catalog.yaml` + `CATALOG.md`** | Authoritative **index of selectable packages** (baseline + experiments). Lives on `main`. clay-borg and humans read this to know what can be pinned. |
| **Directory path** | Selectable unit, e.g. `editions/ground-darvo-r0/`, `editions/experiments/h1-problem-stress/`. Matches clay-borgs vendor-by-path practice (ADR-0011). |
| **`variant_id` + `base`** | Stable ids (`ground-darvo-r0`, `h1-problem-stress`); experiments declare inheritance and file-level deltas. |
| **Git** | Commits/tags pin content digests; optional feature branches for WIP **before** an experiment directory lands on `main`. Branches are **not** the primary selection API (sibling checkout + multi-ref is hostile to clay-borg CI). |
| **Utility fields** | Catalog rows carry `status`, `utility_estimate`, `decision` (keep / reject / merge-to-baseline / supersede). Updated when measurement lands — not when the idea is written. |
Baseline contract (GROUND-WP-0002 T01) still holds: changing frozen columns inside `ground-darvo-r0` requires a **new revision directory** (`-r1`), not an experiment. Experiments may **copy** and alter rules text/actions; only a later **promote** step rewrites baseline.
---
## 5. clay-borg selection contract
A package is **selectable for simulation** when it appears in `editions/catalog.yaml` with `selectable: true` and a `path`.
Minimum fields clay-borg should read (or we message explicitly):
```yaml
variant_id: h1-problem-stress
path: editions/experiments/h1-problem-stress
base: ground-darvo-r0
status: experimental
rules_engine_notes: rules_delta.yaml # structured deltas if CSV alone is not executable
```
Engine note: today clay-borg **hardcodes** much of the rules kernel and **vendors** selected CSVs. H1-A/B are **rules-kernel changes**, not Problem table changes. Selecting H1 means:
1. Vendor or overlay the experiments changed CSVs for text/provenance, **and**
2. Implement `rules_delta.yaml` in the kernel (or a feature flag keyed by `variant_id`).
Until (2) exists, H1 is **specified here** and playable at a human table from the experiment package; bulk ATTACK-value re-runs wait on clay-borg.
---
## 6. Exploration order (after H1)
| Step | If… | Then… |
|------|-----|--------|
| H1 measured | criteria met | promote candidates into r1 design / keep as optional mode card |
| H1 measured | DARVO still ~0 | add Idea 2 last-place stress (semi only) as **H2** experiment |
| H1 measured | always-ATTACK optimal | reject H1-B or gate self-soothe tighter |
| Later | core loop works | competence / personal problems as extensions |
---
## 7. Decision log
| Date | Decision |
|------|----------|
| 2026-08-07 | Do not invent “DARVO-only-from-bad-play is intended” without measurement of H1-class pressure. |
| 2026-08-07 | First experiment is **H1** (problem pressure + high-stress ATTACK 1). |
| 2026-08-07 | Versioning = **catalog + directories on main**; git tags pin; branches optional for WIP. |
| 2026-08-08 | H1 measured (CB-EV-0030/0031 → RPT-0004). **Reject as baseline.** Direction (Problem→Stress) confirmed useful; flat +1/end is a solve-rate tax. H2 must change pressure *shape*, not only re-stack. Baseline finding: non-attacking policies never raise Stress above 2. |
| 2026-08-08 | **H2 packaged:** scoped stress (personal / bond / global). See [260808-h2-scoped-problem-stress.md](260808-h2-scoped-problem-stress.md). Bond network shares ticks → joint SOLVE incentive. |
## 8. Measurement summary (2026-08-08)
See RPT-0004 for full tables. One-line:
> H1 reaches the seat that will not regulate; under greedy regulation the table stops winning; H1-B is dead code for competent play.