- GR-R09: after Round 5's End the game ends and scoring runs instead of the round advancing. - GR-E01: claimed Problems sum their printed values against the player-count threshold (2p 5, 3-4p 7, 5-6p 9 in dataset 0.1). - GR-E02 SHARED GROUND: shared score, Mastery reduced per Blame token and per Denied Problem. - GR-E03 COMMON PROBLEM: personal score is claimed value less Blame, tiebroken by lower Stress then more Bonds. - GR-E04 BONDED COALITIONS: connected components over Bonds only, so Rivalries do not connect and an unbonded player is a coalition of one; tiebroken by lower combined Stress then fewer Blame. Ties yield every tied candidate rather than an arbitrary pick, which is what "shared victory" in GR-E03/E04 asks for. AM-1 rule coverage is now 58/58 (100%), 21 scenarios, 17 tests. Caveat recorded rather than papered over: GR-E02's "successes" is not defined in dataset 0.1. It is implemented as the count of claimed Problems and both scoring scenarios are marked provisional, so a ground-game ruling flips a scenario rather than the kernel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
scenario: ground/gr-e04-coalitions
|
|
description: >
|
|
BONDED COALITIONS scoring (GR-E04): Bond networks score together,
|
|
Rivalries do not connect, and an unbonded player is a coalition of
|
|
one. Personal scores subtract Blame (GR-E03, GR-T02).
|
|
covers: [GR-E03, GR-E04, GR-O03]
|
|
provisional: true
|
|
seed: 42
|
|
setup:
|
|
players: 3
|
|
preset: standard-3p
|
|
patch:
|
|
"lead": 0
|
|
"round": 5
|
|
"mode": BondedCoalitions
|
|
# Values 1+2+3 = 6 claimed; 3p threshold is 7, so no group success.
|
|
"problems.1.claimed_by": 0
|
|
"problems.2.claimed_by": 1
|
|
"problems.3.claimed_by": 2
|
|
"relations.0-1": Bond
|
|
"relations.1-2": Rivalry
|
|
"players.0.blame_from": [2]
|
|
commands:
|
|
- actor: P1
|
|
cmd: select_action
|
|
args: { action: SUPPORT, target: P2 }
|
|
- actor: P2
|
|
cmd: select_action
|
|
args: { action: SUPPORT, target: P1 }
|
|
- actor: P3
|
|
cmd: select_action
|
|
args: { action: INVESTIGATE, problem: 2 }
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
expect:
|
|
events:
|
|
- kind: GameEnded
|
|
state:
|
|
"outcome.total": 6
|
|
"outcome.group_success": false
|
|
# P1 claimed value 1 less one Blame; P2 value 2; P3 value 3.
|
|
"outcome.personal.0": 0
|
|
"outcome.personal.1": 2
|
|
"outcome.personal.2": 3
|
|
# GR-E04: P1+P2 are Bonded; the Rivalry leaves P3 solo.
|
|
"outcome.coalitions.0.members": [0, 1]
|
|
"outcome.coalitions.0.score": 2
|
|
"outcome.coalitions.1.members": [2]
|
|
"outcome.coalitions.1.score": 3
|
|
rejects: []
|