Selector: exact Gum result#
Goal: Gum v0.17.0 selects the second item, emits exactly Beta, and exits 0.
The admitted Windows binary SHA-256 is recorded in the
corpus manifest
. Runtime execution is offline.
Setup and pass#
$env:GOBIN = Join-Path (Get-Location) '.tools\external'
go install github.com/charmbracelet/gum@v0.17.0
go run ./cmd/playtestr test examples/recipes/selector.json
Review selector.json
: it waits for the
header, moves once, accepts, checks exit 0, then compares the exact reviewed
snapshot. The snapshot is evidence of the emitted selection, not merely the
presence of the candidate text in the menu.
Intentional failure and recovery#
go run ./cmd/playtestr test examples/recipes/selector-wrong.json
go run ./cmd/playtestr test examples/recipes/selector.json
The first command must exit 1 with snapshot_mismatch and a Beta -> Alpha
diff. That failing runner report is a correctly detected campaign control, not a
passing Playtestr run. The unchanged original spec and baseline then recover.
Cleanup: Gum writes no recipe state. Remove only ignored reports/evidence created for the attempt after reviewing them.