clay-borg/scenarios/ground/gr-p05-solve-legality.yaml

49 lines
1.5 KiB
YAML
Raw Normal View History

scenario: ground/gr-p05-solve-legality
description: >
GR-P05, ruled by ground-game 2026-08-03: SOLVE is legal only where it
can do something. P1 holds no Clarify and is refused Problem 1; P2
holds one, is admitted, and claims it.
The prior-round-claim half of GR-P05 is asserted in
`bot::tests::validate_enforces_all_four_solve_conditions` rather than
here, because reaching a second round costs a dozen commands to test
one rejection.
The rule is asserted here rather than only in `legal_commands`, because
a rule enforced by the offer alone constrains only clients that ask what
is legal — a scenario file would walk straight past it. That is what the
AM-1 coverage gate surfaced when GR-P05 was added with no scenario.
covers: [GR-P05, GR-A02, GR-P03]
provisional: false
seed: 42
setup:
players: 3
preset: standard-3p
patch:
"lead": 1
"players.0.hand": [{ suit: Change }]
"players.1.hand": [{ suit: Clarify }]
commands:
# 0 — P1 holds no Clarify: refused.
- actor: P1
cmd: select_action
args: { action: SOLVE, problem: 1 }
# 1 — P2 holds one: admitted.
- actor: P2
cmd: select_action
args: { action: SOLVE, problem: 1 }
- actor: P1
cmd: select_action
args: { action: INVESTIGATE, problem: 2 }
- actor: P3
cmd: select_action
args: { action: INVESTIGATE, problem: 3 }
- actor: SYSTEM
cmd: reveal
- actor: SYSTEM
cmd: resolve
expect:
rejects: [0]
state:
"problems.1.claimed_by": 1