Some checks failed
ci / check (push) Failing after 4s
H2 is ground-game's answer to our H1 reading — that a flat +1 to every seat is a solve-rate tax scaling with the number of Problems. Unclaimed Problems now tick only the seats in scope: global (all), personal (the owner), bond (the owner's Bond network over Bond edges only, degree 0 falling back to personal), assigned by hidden priority so 2p never has the bond card in play. T01: the package is vendored with digests, and H2's Problems.csv is r0's with one column added and NOTHING else changed — checked, not assumed, because the delta claims deal_and_thresholds unchanged and a silent difference would make every H2-vs-baseline comparison a comparison of two boards as well as two rule sets. Scopes are read from the column, not derived from the priority in Rust: F25 exists because we hardcoded numbers the edition already carried. T02: owner and scope are new ProblemState fields, both Option and both skipped when None, so a baseline state serialises without them and every recorded scenario's hash is untouched — asserted on the JSON, not assumed. with_variant() replaces the bare field write, because state.variant = v would leave owners unassigned: a silently wrong game rather than a failing one. T03: every named defect is mutation-proven — traversing Rivalry edges, applying stacking once, a degree-0 owner ticking everyone, personal hitting everyone. The degree-0 mutation MISSED first: the fallback lives inside bond_network and the mutation broke the None-owner arm instead, a different branch. It stayed green until aimed at the path the test exercises. A mutation that misses is not evidence the test works. T04: ownership is not a permission. Filtering SOLVE to the owner turns it red, which is the regression this task exists for — the engine had no owner concept before T02 added one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
# Experiment H2 — scoped problem stress (personal / bond / global)
|
||
|
||
| | |
|
||
|---|---|
|
||
| **variant_id** | `h2-scoped-problem-stress` |
|
||
| **base** | `ground-darvo-r0` (not stacked on H1) |
|
||
| **status** | experimental |
|
||
| **catalog** | [`../../catalog.yaml`](../../catalog.yaml) |
|
||
| **design note** | [`../../../history/260808-h2-scoped-problem-stress.md`](../../../history/260808-h2-scoped-problem-stress.md) |
|
||
| **workplan** | [`../../../workplans/GROUND-WP-0007-h2-scoped-problem-stress.md`](../../../workplans/GROUND-WP-0007-h2-scoped-problem-stress.md) |
|
||
| **control** | `h1-problem-stress` (reject-as-baseline) |
|
||
|
||
## Hypothesis
|
||
|
||
If unclaimed Problems apply End stress only to their **stress_scope**, with mostly personal, one bond at 3p+, and rare global (Surface), then some seats can climb toward DARVO **without** taxing the whole table into zero group wins — and **bond-scoped** cards give the Bond network a shared reason to SOLVE.
|
||
|
||
## Scopes
|
||
|
||
| stress_scope | End +1 Stress while unclaimed goes to… |
|
||
|--------------|----------------------------------------|
|
||
| **global** | every seat |
|
||
| **personal** | assigned **owner** only |
|
||
| **bond** | owner + every seat in the owner’s **Bond network** (Bond edges only). No Bonds → behaves as personal |
|
||
|
||
**SOLVE:** any seat with matching suit may claim any Problem (owner need not solve). Clearing a bond card is a network public good — that is intentional.
|
||
|
||
## Assignment in this package
|
||
|
||
By `hidden_priority` in `Problems.csv`:
|
||
|
||
| priority | scope | in play at |
|
||
|---------:|-------|------------|
|
||
| 0 Surface | global | all seats |
|
||
| 1 | personal | 2p+ |
|
||
| 2 | personal | 2p+ |
|
||
| 3 | **bond** | 3p+ only |
|
||
| 4 | personal | 5p+ only |
|
||
|
||
Owners: non-global in-play Problems, ascending priority, round-robin clockwise from **Lead**.
|
||
|
||
## Bond incentive (design intent)
|
||
|
||
Bond is still the regulation tool (−2 Stress, cancel DARVO). Bond-scope pressure **spreads** cost across the network so partners are incentivised to clear *that* card together rather than leave one seat to melt alone. Measure whether networks SOLVE bond cards faster or avoid Bonding.
|
||
|
||
## Not in H2
|
||
|
||
- H1 flat global +1 for “any open problem”
|
||
- H1-B ATTACK self-soothe
|
||
- Owner-only SOLVE, shadow goals, competence track
|
||
|
||
## Simulation
|
||
|
||
Select `variant_id: h2-scoped-problem-stress`. Implement `rules_delta.yaml` (H2-SCOPE, H2-OWN, H2-A, H2-SOLVE). Compare to `ground-darvo-r0` and optionally `h1-problem-stress`.
|