Five scenarios encoded U-item defaults with no owner and no review date, so they could shape the kernel indefinitely while looking handled. Each now carries provisional_owner and provisional_raised, and the runtime's ScenarioFile learned both fields (deny_unknown_fields meant adding them to YAML alone would have failed every scenario -- the parser had to agree). make coverage reports every provisional item with its owner and age in days, warns on any with no owner, and warns past 30 days. It WARNS rather than breaking the build, on purpose: the ruling is ground-game's to make and the kernel cannot make it for them. What the loop can enforce is that evidence files list them, which is now stated in GroundRules. rule-coverage --self-test gained an assertion that every provisional item has both fields, so the next one added without them fails a command rather than passing quietly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
266 lines
14 KiB
Markdown
266 lines
14 KiB
Markdown
# GROUND Rules — simulation specification
|
||
|
||
Status: **v0.1 draft**, derived 2026-07-31 from the authoritative sister
|
||
repo `ground-game`, edition dataset **GROUND-DARVO-CORE-0.1**
|
||
(`editions/ground-darvo-r0/`: Rules_Text, Actions, DARVO, Relations,
|
||
Problems, Solutions, Scenarios, Modes, Tokens, Player_Mats, Glossary).
|
||
This is a derivation, not a design: where the dataset is silent, the gap
|
||
is listed in §Underdetermined with a PROVISIONAL simulation default and
|
||
must be flagged back to ground-game, never silently canonized.
|
||
|
||
Every rule is numbered and individually testable; scenario files cover
|
||
rules via their `covers:` list (M-D1-COV). Names in `CAPS` are dataset
|
||
terms.
|
||
|
||
---
|
||
|
||
## 1. Objects and state (GR-O)
|
||
|
||
- **GR-O01** A game has 2–6 players, exactly 5 rounds, one Scenario card,
|
||
and one Mode card.
|
||
- **GR-O02** Per-player state: Stress (integer 0–5), Freedom token
|
||
(READY/SPENT), DARVO marker (OFF/DENY/ATTACK/REVERSE), Focus/Blame token
|
||
(with owner and location), 2 relation slots, a hand of Solution cards,
|
||
a set of 5 Action cards, claimed Problems, and 0+ Protection tokens.
|
||
- **GR-O03** Table state: Surface Problem (face up), hidden Problems (face
|
||
down), Denied tokens on Problems, Solution deck and discard, Lead marker
|
||
(one player), Round marker (1–5), relation tiles (Bond/Rivalry side)
|
||
between player pairs.
|
||
- **GR-O04** A Problem has: required Solution suit (Clarify, Repair,
|
||
Boundary, or Change), point value, visibility (face up / face down),
|
||
Denied flag, and claimed-by (a player or nobody).
|
||
- **GR-O05** A relation between two players is exactly one of Bond or
|
||
Rivalry; at most one relation may exist between the same two players.
|
||
|
||
## 2. Setup (GR-S)
|
||
|
||
- **GR-S01** Setup uses the chosen Scenario's Surface Problem face up and
|
||
its hidden Problems face down, filtered by player count: priorities 1–2
|
||
for 2 players, 1–3 for 3–4 players, 1–4 for 5–6 players.
|
||
- **GR-S02** Each player starts with: Stress 2, Freedom READY, DARVO
|
||
marker OFF, Focus/Blame token (Focus side, unplaced), two free relation
|
||
slots, and two dealt Solution cards.
|
||
- **GR-S03** The Lead marker starts with a (seeded-)random player; the
|
||
Round marker starts at 1.
|
||
- **GR-S04** The Solution deck is the 24 core Solution cards (6 per suit)
|
||
minus those dealt, shuffled deterministically from the game seed.
|
||
|
||
## 3. Round structure (GR-R)
|
||
|
||
- **GR-R01** Each round has four steps in order: Select, Reveal, Resolve,
|
||
End.
|
||
- **GR-R02 (Select)** Every player simultaneously chooses exactly one of
|
||
their five Actions face down, with target designation where the Action
|
||
requires one. Choices are hidden from other players until Reveal
|
||
(commit/reveal).
|
||
- **GR-R03 (Select, stress gate)** A player at Stress 4 or 5 may select
|
||
only ATTACK or GROUND, unless they spend their READY Freedom token
|
||
during Select (before Reveal), which permits any one Action and turns
|
||
the token to SPENT.
|
||
- **GR-R04 (Reveal)** All selected Actions are revealed simultaneously.
|
||
- **GR-R05 (Reveal, GROUND mode)** A player who revealed GROUND chooses
|
||
its mode (GR / OU / ND) and its target *after* seeing all revealed
|
||
Actions, before resolution begins.
|
||
- **GR-R06 (Resolve)** Resolution proceeds in fixed step order:
|
||
1 GROUND, 2 Support, 3 active DARVO stages, 4 Investigate, 5 Attack,
|
||
6 Solve.
|
||
- **GR-R07 (Resolve, ties)** Within the same step, resolve starting with
|
||
the Lead player, continuing clockwise.
|
||
- **GR-R08 (End)** At End: clamp all Stress to 0–5; any player at Stress 5
|
||
whose DARVO marker is OFF sets it to DENY (their sequence begins next
|
||
round); rotate Lead clockwise; advance the Round marker.
|
||
- **GR-R09** After Round 5's End step, the game ends and scoring applies
|
||
(GR-E).
|
||
|
||
## 4. Stress and Freedom (GR-F)
|
||
|
||
- **GR-F01** Stress is always an integer clamped to 0–5.
|
||
- **GR-F02** At Stress 0–3 all five Actions are selectable.
|
||
- **GR-F03** A Freedom token is READY or SPENT; spending is only possible
|
||
when READY, and only during Select (GR-R03).
|
||
- **GR-F04** GROUND—GR readies its player's Freedom token. Support
|
||
received through an existing Bond readies the target's Freedom token.
|
||
|
||
## 5. Actions (GR-A)
|
||
|
||
- **GR-A01 (INVESTIGATE)** Reveal one chosen hidden, non-Denied Problem,
|
||
then draw one Solution. If no hidden non-Denied Problems remain, draw
|
||
one Solution only.
|
||
- **GR-A02 (SOLVE)** Targeting one face-up, non-Denied Problem: when Solve
|
||
resolves, discard one Solution matching the Problem's required suit and
|
||
claim the Problem. If the Problem was already claimed by an earlier
|
||
resolver this round (Lead order), the Solution is not discarded and
|
||
nothing happens.
|
||
- **GR-A03 (SUPPORT, no relation)** Target gets −1 Stress; a Bond may then
|
||
form per GR-L02.
|
||
- **GR-A04 (SUPPORT, existing Bond)** Target gets −2 Stress, target's
|
||
Freedom becomes READY, and if the target is in an active DARVO sequence
|
||
its current stage is cancelled and the whole sequence ends (marker to
|
||
OFF).
|
||
- **GR-A05 (SUPPORT, existing Rivalry)** Target gets −1 Stress; the target
|
||
chooses: flip the relation to Bond, or break it.
|
||
- **GR-A06 (ATTACK, no relation)** Target gets +1 Stress; a Rivalry forms
|
||
automatically if both players have a free slot (GR-L03).
|
||
- **GR-A07 (ATTACK, existing Bond)** Target gets +2 Stress and the Bond
|
||
flips to Rivalry.
|
||
- **GR-A08 (ATTACK, existing Rivalry)** Target gets +2 Stress and the
|
||
relation breaks (both link tokens return).
|
||
- **GR-A09 (ATTACK, cancellation)** Protection or GROUND—OU may cancel an
|
||
Attack. A cancelled Attack changes neither Stress nor relations.
|
||
- **GR-A10 (GROUND—GR, Ground & Restate)** Self: −2 Stress and Freedom
|
||
becomes READY. If the player is in an active DARVO sequence, the current
|
||
stage still resolves this round, then the remaining sequence ends.
|
||
- **GR-A11 (GROUND—OU, Observe & Uphold)** Choose one: restore one Denied
|
||
Problem (face up, remove Denied token); cancel one Attack targeting the
|
||
player this round; or protect one face-up Problem from Deny this round.
|
||
- **GR-A12 (GROUND—ND, Name & Decide)** Choose one: remove one Blame token
|
||
from the player; break one relation involving the player; or reject one
|
||
Reverse targeting the player this round.
|
||
- **GR-A13** SUPPORT and ATTACK target one *other* player; INVESTIGATE
|
||
targets a hidden Problem; SOLVE targets a face-up non-Denied Problem.
|
||
|
||
## 6. Relations (GR-L)
|
||
|
||
- **GR-L01** Each player has exactly 2 relation slots; each relation
|
||
consumes one slot from each endpoint. If either endpoint lacks a free
|
||
slot, the immediate Support/Attack effect still applies but no relation
|
||
forms.
|
||
- **GR-L02 (Bond formation)** A no-relation Support creates a Bond only if
|
||
both players have a free slot **and the target accepts**.
|
||
- **GR-L03 (Rivalry formation)** A no-relation Attack creates a Rivalry
|
||
automatically (no consent) if both players have a free slot.
|
||
- **GR-L04 (Flip/break)** Bond→Rivalry on Attack-through-Bond (GR-A07);
|
||
Rivalry→Bond or break by target's choice on Support-through-Rivalry
|
||
(GR-A05); break on Attack-through-Rivalry (GR-A08); GROUND—ND may break
|
||
any relation involving its player (GR-A12).
|
||
- **GR-L05** A Bond formed this round by a Support does not itself cancel
|
||
DARVO; only Support through a Bond that existed before this round's
|
||
Support step regulates DARVO (GR-A04).
|
||
|
||
## 7. DARVO sequence (GR-D)
|
||
|
||
- **GR-D01 (Trigger)** At End, a player at Stress 5 with marker OFF sets
|
||
the marker to DENY; their DENY stage resolves in the next round's DARVO
|
||
step (GR-R08).
|
||
- **GR-D02 (Binding)** Once triggered, the sequence advances one stage per
|
||
consecutive round — DENY, then ATTACK, then REVERSE — regardless of the
|
||
player's later Stress, unless ended early (GR-D06/GR-A04/GR-A10).
|
||
- **GR-D03 (DENY)** Mandatory effect in the DARVO step: choose one
|
||
face-up, unsolved Problem not protected by GROUND—OU this round; turn it
|
||
face down and place a Denied token. A Denied Problem cannot be solved or
|
||
revealed by ordinary Investigate; only GROUND—OU restores it.
|
||
- **GR-D04 (ATTACK stage)** Mandatory effect: make one extra Attack
|
||
against any other player, resolved with the normal relation rules
|
||
(GR-A06..A09), in addition to the player's chosen Action. Then place the
|
||
player's Focus token beside the target — even if the extra Attack was
|
||
cancelled. The Focus target is remembered as the REVERSE target.
|
||
- **GR-D05 (REVERSE)** Mandatory effect targeting the Focus holder: unless
|
||
rejected by that player's GROUND—ND this round, flip Focus to Blame in
|
||
front of them, give them +1 Stress, and gain one Protection token. Then
|
||
(rejected or not — see §Underdetermined U5) the sequence owner reduces
|
||
own Stress by 2 and the sequence ends (marker OFF).
|
||
- **GR-D06 (Early end)** The sequence ends immediately when: an existing
|
||
Bond's Support cancels the current stage (GR-A04), or GROUND—GR ends it
|
||
after the current stage resolves (GR-A10). If it ends before REVERSE,
|
||
the placed Focus token is removed.
|
||
- **GR-D07** A player whose marker is not OFF cannot trigger a new
|
||
sequence (GR-R08); after the sequence ends, the marker is OFF and
|
||
re-triggering is possible at a later End.
|
||
|
||
## 8. Problems and solving (GR-P)
|
||
|
||
- **GR-P01** Only face-up, non-Denied Problems can be targeted by SOLVE or
|
||
claimed.
|
||
- **GR-P02** Hidden (face-down, non-Denied) Problems can only be revealed
|
||
by INVESTIGATE (GR-A01); Denied Problems only by GROUND—OU (GR-A11).
|
||
- **GR-P03** A claimed Problem belongs to its claimant and counts its
|
||
printed value for scoring; a Problem can be claimed at most once.
|
||
- **GR-P04** Competing SOLVEs on the same Problem in the same round
|
||
resolve in Lead order (GR-R07); losers keep their Solution (GR-A02).
|
||
|
||
## 9. Protection, Focus and Blame (GR-T)
|
||
|
||
- **GR-T01** A Protection token cancels the next Attack against its
|
||
holder (including a DARVO extra Attack), then returns to the supply.
|
||
- **GR-T02** A Blame token in front of a player is worth −1 to that
|
||
player's personal score and stays until removed by GROUND—ND.
|
||
- **GR-T03** Each player has exactly one Focus/Blame token; it is either
|
||
unplaced (Focus, with owner), placed Focus-side (during own DARVO), or
|
||
flipped to Blame in front of the REVERSE target.
|
||
|
||
## 10. Game end and scoring (GR-E)
|
||
|
||
- **GR-E01** After Round 5, sum the printed values of all claimed
|
||
Problems; the Scenario's threshold (by player count: 2p → 5, 3–4p → 7,
|
||
5–6p → 9 in dataset 0.1) decides group success where the Mode uses it.
|
||
- **GR-E02 (SHARED GROUND, co-op)** One shared score; group succeeds iff
|
||
total ≥ threshold. Mastery rating = successes minus 1 per Blame token in
|
||
play and 1 per Denied Problem.
|
||
- **GR-E03 (COMMON PROBLEM, PERSONAL EDGE, semi-co-op)** Group must meet
|
||
the threshold; if it does, each player scores claimed value −1 per Blame
|
||
they hold; highest wins. Tiebreak: lower Stress, then more Bonds, then
|
||
shared victory.
|
||
- **GR-E04 (BONDED COALITIONS)** Group must meet the threshold; each
|
||
connected Bond network is a coalition (unbonded players are solo);
|
||
coalition score = sum of members' personal scores; highest coalition
|
||
wins. Rivalries do not connect. Tiebreak: lower combined Stress, then
|
||
fewer Blame tokens, then shared victory.
|
||
|
||
---
|
||
|
||
## Underdetermined in dataset 0.1 — PROVISIONAL defaults (flag to ground-game)
|
||
|
||
**Owner: ground-game. Raised: 2026-07-31.** Every U-item carries an owner
|
||
and a raise date so its age is visible; `make coverage` reports both and
|
||
warns past 30 days. CI **warns rather than breaks** — the ruling belongs
|
||
to ground-game and the kernel cannot make it for them — but every evidence
|
||
file that depends on one must list it (CB-WP-0003 T08).
|
||
|
||
A ruling flips the *scenario*, not the kernel: the default is encoded in a
|
||
scenario tagged `provisional: true`, so a correction is a data change.
|
||
|
||
Formalization exposed points the dataset does not decide. Simulation uses
|
||
the stated default; each is tagged in scenarios that depend on it and must
|
||
be confirmed or corrected by ground-game.
|
||
|
||
- **U1 Bond acceptance timing (GR-L02):** when does the target "accept"?
|
||
Default: a decision point during the Support resolution, target decides
|
||
with full knowledge of revealed Actions.
|
||
- **U2 Stress clamping during resolution (GR-F01):** dataset caps Stress
|
||
at End; mats physically cap at 0–5. Default: clamp on every
|
||
application (no intermediate values above 5/below 0). Note this
|
||
interacts with DARVO triggering (a mid-round spike to 5 that is reduced
|
||
again before End does not trigger).
|
||
- **U3 DENY with no legal target (GR-D03):** if no face-up unsolved
|
||
unprotected Problem exists, default: the stage resolves as a no-op and
|
||
the sequence still advances.
|
||
- **U4 Solution deck exhaustion (GR-A01):** default: reshuffle the discard
|
||
into a new deck deterministically; if both are empty, the draw is
|
||
skipped.
|
||
- **U5 Rejected REVERSE — self-effects (GR-D05):** the Actions sheet says
|
||
GROUND—ND "rejects one Reverse"; the DARVO sheet orders the −2
|
||
self-Stress after the flip/+1/Protection block. Default: rejection
|
||
cancels the effects on the target (no Blame, no +1) **and** the
|
||
Protection gain, but the sequence owner still takes −2 Stress and the
|
||
sequence still ends; the Focus token returns unflipped.
|
||
- **U6 Simultaneous Bond-Support and stage cancellation (GR-A04, GR-R06):**
|
||
Support (step 2) resolves before DARVO stages (step 3), so a Bond
|
||
Support in the same round cancels that round's stage before it fires.
|
||
Stated as the intended reading; confirm.
|
||
- **U7 Focus target elimination:** dataset has no player elimination, so
|
||
no rule needed; confirm none exists.
|
||
- **U8 Multiple Attack cancellation sources (GR-A09):** if both Protection
|
||
and GROUND—OU could cancel the same Attack, default: GROUND—OU (chosen
|
||
at step 1) applies first; Protection is consumed only if it actually
|
||
cancels.
|
||
- **U9 Two players at Stress 5 at the same End (GR-R08):** both trigger;
|
||
their stages resolve in Lead order in later rounds. No interaction rule
|
||
needed; confirm.
|
||
- **U10 Hand limits:** none stated. Default: no hand limit.
|
||
|
||
## Scenario coverage obligation
|
||
|
||
Every GR-rule above must be covered by ≥1 scenario under
|
||
`scenarios/ground/` (M-D1-COV); every U-item's default must be covered by
|
||
a scenario tagged `provisional: true` so a ground-game correction flips
|
||
the scenario, not the kernel.
|