Some checks failed
ci / check (push) Failing after 4s
Two reports, one cause: the script's fetch had no .catch. When the server had exited the promise rejected, the chain never ran, and not even the status line moved — so a dead server and a click that did nothing were indistinguishable. play again read as a dead button, and the linger timeout was invisible. Now a rejection says the session is gone and seals the page, and a 5-second heartbeat against a new /alive notices it without needing a click, which is what the timeout case requires. The beat carries the token, and does not extend the linger: that deadline is absolute. The harness had the same hole. jsrun's fetch stub had no .catch, so the branch that notices a dead server would have been unreachable in every test — the very defect the stub's own comment records from CB-WP-0024. Teaching it __failing, .catch and a recorded setInterval was the fix; writing the script defensively would have repeated the trap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
149 lines
2.3 KiB
YAML
149 lines
2.3 KiB
YAML
scenario: ground/cb-play-session
|
|
description: recorded by cb-play (CB-WP-0008 T02)
|
|
covers: []
|
|
provisional: false
|
|
provisional_owner: ''
|
|
provisional_raised: ''
|
|
ruled: ''
|
|
ruled_by: ''
|
|
ruled_note: ''
|
|
encodes_u_item: ''
|
|
seed: 1
|
|
setup:
|
|
players: 3
|
|
preset: standard-3p
|
|
patch: {}
|
|
commands:
|
|
- actor: P1
|
|
cmd: select_action
|
|
args:
|
|
action: INVESTIGATE
|
|
problem: 2
|
|
- actor: P2
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 1
|
|
- actor: P3
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 1
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
args: {}
|
|
- actor: P1
|
|
cmd: select_action
|
|
args:
|
|
action: INVESTIGATE
|
|
problem: 3
|
|
- actor: P2
|
|
cmd: select_action
|
|
args:
|
|
action: INVESTIGATE
|
|
problem: 3
|
|
- actor: P3
|
|
cmd: select_action
|
|
args:
|
|
action: INVESTIGATE
|
|
problem: 3
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
args: {}
|
|
- actor: P1
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 2
|
|
- actor: P2
|
|
cmd: select_action
|
|
args:
|
|
action: INVESTIGATE
|
|
problem: 4
|
|
- actor: P3
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 2
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
args: {}
|
|
- actor: P1
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 3
|
|
- actor: P2
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 3
|
|
- actor: P3
|
|
cmd: select_action
|
|
args:
|
|
action: SOLVE
|
|
problem: 4
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
args: {}
|
|
- 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: SUPPORT
|
|
target: P1
|
|
- actor: SYSTEM
|
|
cmd: reveal
|
|
args: {}
|
|
- actor: P1
|
|
cmd: respond_to_support
|
|
args:
|
|
response: accept_bond
|
|
- actor: P2
|
|
cmd: respond_to_support
|
|
args:
|
|
response: accept_bond
|
|
- actor: SYSTEM
|
|
cmd: resolve
|
|
args: {}
|
|
- actor: SYSTEM
|
|
cmd: end_round
|
|
args: {}
|
|
expect:
|
|
events: []
|
|
state: {}
|
|
rejects: []
|
|
state_hash: 15e28280a256249f4ebddbeb638053d0683d996b7ff1193128a7d788f32f63ec
|