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>
52 lines
1.3 KiB
YAML
52 lines
1.3 KiB
YAML
scenario: ground/gr-e02-shared-ground
|
||
description: >
|
||
SHARED GROUND scoring after Round 5 (GR-R09, GR-E01, GR-E02): one
|
||
shared total against the player-count threshold, with a Mastery
|
||
rating reduced by each Blame token and each Denied Problem.
|
||
covers: [GR-R09, GR-E01, GR-E02, GR-P03]
|
||
provisional: true
|
||
provisional_owner: ground-game
|
||
provisional_raised: 2026-07-31
|
||
seed: 42
|
||
setup:
|
||
players: 3
|
||
preset: standard-3p
|
||
patch:
|
||
"lead": 0
|
||
"round": 5
|
||
"mode": SharedGround
|
||
# 3p threshold is 7; claimed values 1+3 fall short.
|
||
"problems.1.claimed_by": 0
|
||
"problems.3.claimed_by": 1
|
||
"problems.2.denied": true
|
||
"players.2.blame_from": [0]
|
||
commands:
|
||
- actor: P1
|
||
cmd: select_action
|
||
args: { action: INVESTIGATE, problem: 2 }
|
||
- actor: P2
|
||
cmd: select_action
|
||
args: { action: INVESTIGATE, problem: 2 }
|
||
- 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": 4
|
||
"outcome.threshold": 7
|
||
"outcome.group_success": false
|
||
# 2 claimed Problems, −1 Blame, −1 Denied.
|
||
"outcome.mastery": 0
|
||
"outcome.winners": []
|
||
# GR-R09: the game ended rather than advancing to Round 6.
|
||
"round": 5
|
||
"step": End
|
||
rejects: []
|