CB-WP-0038: variant selection, H1 implemented, and H1 measured
Some checks failed
ci / check (push) Failing after 3s
Some checks failed
ci / check (push) Failing after 3s
ground-game packages hypotheses as selectable rules variants — a catalog, a rules_delta.yaml, and prose — and their note is explicit that CSV text alone is not executable here. So the kernel gains a Variant in game state: in the state, therefore in the hash, therefore in the recording, because a scenario replayed under a different variant would diverge silently. Baseline is bit-for-bit what it was, asserted across seat counts and seeds. A variant system that perturbs the baseline invalidates every measurement this repo has. H1-A and H1-B implemented from rules_delta.yaml and mutation-proven on their own defects: "unclaimed" misread as face-up-and-unsolved, and the attacker's Stress read after the attack's effects. Their `unchanged:` list is asserted rather than trusted — that list is their claim about their own experiment. Measured, and three of their four criteria fail. DARVO arm rate is still 0 under greedy; ATTACK selection does not rise and falls for the rank-75 policy; group success collapses from 165/190/200 to 0 at 3/4/6 seats. The mechanism is not the assumed one: greedy answers the pressure by regulating, Stress plateaus at 3, so it never reaches the gate at 4 or the arm at 5 — H1-A acts as a solve-rate tax and H1-B is unreachable under competent play. A harness defect was caught before the claim: sweep discarded refused games silently and never reported its count, so "nobody won" and "nothing played" printed identically. Reporting H1 as unwinnable on that basis would have been the ADR-0018 family aimed at another repo's design. All 200 games ran in every cell; the zeros are real. Chaos d8 = 8 — the window's first override, redrew L against a structural L, so it changed nothing. Window 3 recorded in ChaosRollHistory. NOT REVIEWED: tier L owes a separate-agent adversarial review, and no H1 result may reach ground-game until it has run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
627992bc85
commit
a928b5925c
15 changed files with 928 additions and 28 deletions
6
editions/experiments/h1-problem-stress/Actions.csv
Normal file
6
editions/experiments/h1-problem-stress/Actions.csv
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
action_id,title,symbol_id,resolution_order,target,tagline,rules_text,stress_restriction,designer_note
|
||||
ACT_INVESTIGATE,INVESTIGATE,SYM_INVESTIGATE,4,One hidden Problem,Reveal what is hidden.,"Choose one hidden, non-Denied Problem and reveal it. Then draw one Solution. If no hidden Problems remain, draw one Solution only.","At Stress 4 or 5, this action requires spending a ready Freedom token.",Place the face-down action card beside the chosen hidden Problem.
|
||||
ACT_SOLVE,SOLVE,SYM_SOLVE,6,"One face-up, non-Denied Problem",Match a solution to the real problem.,"Play and discard one Solution with the matching symbol. Claim the Problem if it is still available when Solve resolves. If another player has already claimed it, keep your Solution.","At Stress 4 or 5, this action requires spending a ready Freedom token.","Resolve competing claims in Lead order, then clockwise."
|
||||
ACT_SUPPORT,SUPPORT,SYM_SUPPORT,2,One other player,Increase another player's room to choose.,"No relation: −1 Stress; you may form a Bond if both players have a free relation slot and the target accepts. Existing Bond: −2 Stress, ready their Freedom, and cancel their current DARVO stage and end that sequence. Existing Rivalry: −1 Stress; the target chooses to flip the relation to Bond or break it.","At Stress 4 or 5, this action requires spending a ready Freedom token.",A Bond formed by this same Support does not cancel DARVO; the Bond must already exist.
|
||||
ACT_ATTACK,ATTACK,SYM_ATTACK,5,One other player,Push pressure into another player.,"Protection or GROUND—OU may cancel this Attack. No relation: +1 Stress; form a Rivalry if both players have a free relation slot. Existing Bond: +2 Stress and flip it to Rivalry. Existing Rivalry: +2 Stress and break the relation. A cancelled Attack changes neither Stress nor relation. H1: if this Attack is not cancelled and the attacker's Stress was 4 or 5 before the Attack's effects, the attacker then takes −1 Stress (clamp 0–5).","Always legal. At Stress 4 or 5, Attack is one of the two actions available without spending Freedom.",Rivalry formation is not consensual. H1 self-soothe is experiment-only (variant h1-problem-stress).
|
||||
ACT_GROUND,GROUND,SYM_GROUND,1,"Self, a Problem, a relation, or an incoming effect",Regulate. Restore the frame. Decide.,"After all actions are revealed, choose one mode: GR—Ground & Restate: −2 Stress, ready Freedom; if you are in DARVO, its current stage still resolves, then the remaining sequence ends. OU—Observe & Uphold: restore one Denied Problem, cancel one Attack targeting you this round, or protect one face-up Problem from Deny this round. ND—Name & Decide: remove one Blame from yourself, break one relation involving you, or reject one Reverse targeting you this round.","Always legal. At Stress 4 or 5, GROUND is one of the two actions available without spending Freedom.",Keep the revealed GROUND card in front of the player until the end of the round as a reminder of the chosen mode.
|
||||
|
22
editions/experiments/h1-problem-stress/Rules_Text.csv
Normal file
22
editions/experiments/h1-problem-stress/Rules_Text.csv
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
order,section,heading,body
|
||||
1,Object,What players are trying to do,"Uncover hidden Problems and solve them with matching Solutions before the end of Round 5. Support, Attack, Bonds, Rivalries, Stress, DARVO, and GROUND determine how much freedom each player retains while doing so. The game is for 2–6 players in every Mode, including SHARED GROUND."
|
||||
2,Setup,Choose the game,"Choose one Scenario card and one Mode card. Always use the Scenario's Surface Problem. Then add hidden Problems by player count: priorities 1–2 for 2 players, 1–3 for 3–4 players, and 1–4 for 5–6 players. Surface is never optional and is never counted as one of those hidden priorities."
|
||||
3,Setup,Problems in play and available value,"Problems in play = Surface + the selected hidden priorities. With the core problem values (2+2+2+3+3), available points are 6 at 2 players, 9 at 3–4 players, and 12 at 5–6 players. Every published setup must keep the Scenario threshold at or below that available total so the group can win in principle."
|
||||
4,Setup,Prepare each player,"Each player takes one mat, the five Action cards with their player symbol, one Stress marker at 2, one ready Freedom token, one DARVO marker at OFF, one Focus/Blame token, and two relation-link tokens. Deal two Solution cards to each player."
|
||||
5,Setup,Prepare the table,Place the Surface Problem face up and the selected hidden Problems face down. Put the remaining Solution deck within reach. Give the Lead marker to a random player and place the Round marker on 1.
|
||||
6,Round,1. Select,"Every player chooses one Action face down and places it beside its target where needed. At Stress 4 or 5, a player must choose ATTACK or GROUND unless they spend a ready Freedom token before reveal."
|
||||
7,Round,2. Reveal,Reveal all selected Actions simultaneously. Players using GROUND choose their mode after seeing the revealed Actions.
|
||||
8,Round,3. Resolve,"Resolve in this order: GROUND, Support, active DARVO stages, Investigate, Attack, Solve. Within the same step, start with the Lead player and continue clockwise."
|
||||
9,Round,4. End,"H1 problem pressure: if any Problem still in play is unclaimed (face-up, hidden, or Denied), each player gains +1 Stress. Then cap Stress at 0–5. Any player at Stress 5 who is not already in DARVO places their marker on DENY for the next round. Rotate Lead clockwise and advance the Round marker."
|
||||
10,Stress,Stress and Freedom,"Stress 0–3 allows any Action. At Stress 4–5, only ATTACK or GROUND is freely available. Spending a ready Freedom token allows any one Action; turn it to SPENT. GROUND—GR and Support through an existing Bond can ready it. H1: an uncancelled Attack by a player whose Stress was 4 or 5 before that Attack's effects also reduces the attacker's Stress by 1 (after target effects; then clamp)."
|
||||
11,DARVO,A binding sequence,"Once triggered, DARVO continues from DENY to ATTACK to REVERSE over consecutive rounds even if Stress later falls. Existing Bond Support cancels the current stage and ends the sequence. GROUND—GR lets the current stage resolve, then ends the remaining sequence."
|
||||
12,DARVO,DENY,Turn one visible unsolved Problem face down and mark it Denied. It cannot be solved or revealed by ordinary Investigate. GROUND—OU can restore it.
|
||||
13,DARVO,ATTACK,Make one extra Attack against another player and place your Focus token beside that target. This extra Attack is in addition to your chosen Action.
|
||||
14,DARVO,REVERSE,"Target the player holding your Focus. Unless rejected by GROUND—ND, flip Focus to Blame in front of them, give them +1 Stress, and gain Protection. Reduce your own Stress by 2 and end the sequence."
|
||||
15,Relations,Creating and limiting relations,"Every player has two relation slots. A relation uses one link token from each player. If either player has no free slot, the immediate Support or Attack still works but no new relation is formed. Only one relation may exist between the same two players."
|
||||
16,Relations,Bond,A no-relation Support may create a Bond if both players have a free slot and the target accepts. Support through an existing Bond is strong enough to regulate DARVO. Attack through a Bond causes +2 Stress and flips it to Rivalry.
|
||||
17,Relations,Rivalry,A no-relation Attack creates Rivalry automatically when both slots are available. Attack through Rivalry causes +2 Stress and breaks it. Support through Rivalry causes −1 Stress; the target chooses to flip it to Bond or break it.
|
||||
18,Problems,Hidden and Denied Problems,"Only face-up, non-Denied Problems can be solved. Investigate reveals one hidden Problem and draws one Solution. Deny can turn a previously revealed Problem face down again."
|
||||
19,Problems,Solving,"Play SOLVE beside a face-up Problem and discard one matching Solution when Solve resolves. Claim that Problem and count its printed value. If another player claims it first in Lead order, keep your Solution."
|
||||
20,End,End of game,"After Round 5, total solved Problem values and apply the selected Mode card. The Scenario's Standard thresholds are 5 for 2 players, 7 for 3–4 players, and 9 for 5–6 players — always at or below available points for that seat band (6 / 9 / 12)."
|
||||
21,Safety,Learning frame,"DARVO is a response pattern, not proof of an underlying accusation and not a diagnosis. GROUND does not require reconciliation. Breaking a relation, bringing in process, or preserving personal freedom can be a successful result."
|
||||
|
44
editions/experiments/h1-problem-stress/VARIANT.md
Normal file
44
editions/experiments/h1-problem-stress/VARIANT.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# Experiment H1 — problem pressure + high-stress ATTACK self-soothe
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **variant_id** | `h1-problem-stress` |
|
||||
| **base** | `ground-darvo-r0` |
|
||||
| **status** | experimental (not baseline) |
|
||||
| **catalog** | [`../../catalog.yaml`](../../catalog.yaml) |
|
||||
| **design note** | [`../../../history/260807-attack-darvo-stress-design.md`](../../../history/260807-attack-darvo-stress-design.md) |
|
||||
| **workplan** | [`../../../workplans/GROUND-WP-0006-h1-problem-stress-experiment.md`](../../../workplans/GROUND-WP-0006-h1-problem-stress-experiment.md) |
|
||||
|
||||
## Hypothesis
|
||||
|
||||
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.
|
||||
|
||||
## Deltas (only)
|
||||
|
||||
### H1-A — Problem pressure
|
||||
|
||||
At **Round End**, before the Stress clamp that arms DARVO:
|
||||
|
||||
- If **any** Problem still in play is **unclaimed** (face-up unsolved, hidden, or Denied), **each player +1 Stress**.
|
||||
- Then clamp 0–5, arm DARVO at 5 as in baseline, rotate Lead, advance Round.
|
||||
|
||||
### H1-B — High-stress ATTACK self-soothe
|
||||
|
||||
When an Attack resolves and is **not cancelled**, if the attacker’s Stress was **≥ 4 before that Attack’s effects**, the attacker takes **−1 Stress** (then clamp). Target and relation effects unchanged.
|
||||
|
||||
## Table play
|
||||
|
||||
Use baseline components for everything except:
|
||||
|
||||
1. Read End step and Stress/Attack wording from this package’s `Rules_Text.csv` / `Actions.csv` (or this file).
|
||||
2. Do not mix with baseline r0 wording mid-game.
|
||||
|
||||
## Simulation (clay-borg)
|
||||
|
||||
1. Select `variant_id: h1-problem-stress` via catalog.
|
||||
2. Inherit base edition data for Problems/Solutions/Modes/Tokens.
|
||||
3. Implement `rules_delta.yaml` in the kernel (H1-A, H1-B). CSV text is provenance for the table, not a substitute for kernel changes.
|
||||
|
||||
## Decision criteria
|
||||
|
||||
See design note §3.2. Catalog `utility_estimate` / `decision` update only after measurement — not when packaging.
|
||||
40
editions/experiments/h1-problem-stress/metadata.json
Normal file
40
editions/experiments/h1-problem-stress/metadata.json
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"dataset_id": "GROUND-DARVO-EXP-H1-0.1",
|
||||
"variant_id": "h1-problem-stress",
|
||||
"base_variant_id": "ground-darvo-r0",
|
||||
"base_path": "editions/ground-darvo-r0",
|
||||
"game_title": "GROUND",
|
||||
"subtitle": "A Game of Bonds and Rivalry",
|
||||
"edition": "DARVO Edition — experiment H1",
|
||||
"version": "0.1-h1",
|
||||
"status": "Experimental rules variant (not baseline)",
|
||||
"player_count": "2–6",
|
||||
"duration": "5–15 minutes",
|
||||
"rounds": 5,
|
||||
"relationship_slots_per_player": 2,
|
||||
"description": "Experiment H1 on top of ground-darvo-r0: unsolved Problems raise everyone's Stress at Round End; high-Stress ATTACK self-soothes by 1. Hypothesis and success criteria: history/260807-attack-darvo-stress-design.md",
|
||||
"inherits_unchanged_from_base": [
|
||||
"Problems.csv",
|
||||
"Solutions.csv",
|
||||
"Modes.csv",
|
||||
"Scenarios.csv",
|
||||
"Tokens.csv",
|
||||
"DARVO.csv",
|
||||
"Relations.csv",
|
||||
"Player_Mats.csv",
|
||||
"Glossary.csv",
|
||||
"Extensions.csv",
|
||||
"BOM.csv",
|
||||
"Print_Manifest.csv",
|
||||
"Symbols.csv",
|
||||
"Back_Designs.csv",
|
||||
"Design_Tokens.csv"
|
||||
],
|
||||
"changed_files": [
|
||||
"Actions.csv",
|
||||
"Rules_Text.csv",
|
||||
"metadata.json",
|
||||
"rules_delta.yaml",
|
||||
"VARIANT.md"
|
||||
]
|
||||
}
|
||||
50
editions/experiments/h1-problem-stress/rules_delta.yaml
Normal file
50
editions/experiments/h1-problem-stress/rules_delta.yaml
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Machine-oriented rules deltas for clay-borg / simulators.
|
||||
# Human prose: VARIANT.md and history/260807-attack-darvo-stress-design.md
|
||||
# Apply on top of base variant ground-darvo-r0 kernel behaviour.
|
||||
|
||||
variant_id: h1-problem-stress
|
||||
base: ground-darvo-r0
|
||||
schema_version: 1
|
||||
|
||||
deltas:
|
||||
- id: H1-A
|
||||
name: problem_pressure_end_of_round
|
||||
phase: round_end
|
||||
# Order relative to baseline End step:
|
||||
# 1) apply this +1 if any unclaimed Problem remains
|
||||
# 2) clamp Stress 0–5
|
||||
# 3) arm DARVO (Stress 5 and not already in sequence) as today
|
||||
# 4) rotate Lead; advance Round
|
||||
when:
|
||||
any_problem_unclaimed: true
|
||||
# unclaimed = not claimed by any seat this game
|
||||
# includes face-up unsolved, still-hidden, and Denied
|
||||
effect:
|
||||
each_player_stress_delta: +1
|
||||
notes: >
|
||||
Soft shared pressure. Does not scale by number of open Problems
|
||||
(deliberately). Denied and hidden unclaimed Problems count.
|
||||
|
||||
- id: H1-B
|
||||
name: high_stress_attack_self_soothe
|
||||
phase: resolve_attack
|
||||
# Applies to ACT_ATTACK and to DARVO-stage extra Attack if they share
|
||||
# the same Attack resolution path.
|
||||
when:
|
||||
attack_not_cancelled: true
|
||||
attacker_stress_before_attack_effects_gte: 4
|
||||
effect:
|
||||
attacker_stress_delta: -1
|
||||
order: after_target_and_relation_effects
|
||||
notes: >
|
||||
Does not change target Stress, Rivalry/Bond rules, or Protection/OU
|
||||
cancel. Clamp after delta.
|
||||
|
||||
unchanged:
|
||||
- deal_and_thresholds
|
||||
- solve_legality
|
||||
- support
|
||||
- ground_modes
|
||||
- darvo_stage_table
|
||||
- start_stress: 2
|
||||
- relation_slots: 2
|
||||
Loading…
Add table
Add a link
Reference in a new issue