Release gate: full Amulet-retrieval playthrough at a real terminal (needs a human) #8
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this is
TODO.mdFuture Step 1 is the repo's own release criterion:> Tag a release once a full game (Amulet retrieval and score entry) completes
> without defects.
This is the last gate before a release tag, and it cannot be automated by an
agent. The playtest-hardening step (2026-07-23) already took the automatable
part as far as it goes and said so explicitly:
> The interactive "play several games at a real tcell terminal" portion needs
> a human at an 80x24 terminal and is left to the maintainer.
The automated suite reaches depth 8 with save/restore and mashes 200 turns of
movement across four seeds without a panic — but it can never validate what
the game actually looks and feels like, and by design it pins HP/food/exp
(
fortify()) so it never experiences real death, real hunger, or the real wincondition. Nothing in CI has ever retrieved the Amulet.
Definition of done
A human plays at a real 80x24 tcell terminal and confirms:
land on the score screen with the entry recorded in
~/.rogue.scores.and the score is recorded.
S, quit, relaunch with thesave file, confirm state is intact and the save file is deleted on restore.
misplaced cursor, correct
--More--handling.ROGUEOPTShandling (name=,terse,jump,fruit=) behaves.defect is reproducible headlessly.
Why it's assigned to you
It needs a person at a terminal — I can't do it, and I'd rather say so than
quietly mark the release gate green off the back of headless tests that
deliberately avoid the win and death paths.
If you'd prefer, I can narrow the scope first (for example: build the binary,
confirm
-sand-drender correctly, and hand you a short scriptedchecklist to work through) so your time at the keyboard is minimal. Say the
word and I'll prep that.
Blocks
Tagging any release beyond
v0.0.1.I was wrong that this needs you for most of what it lists, and I am taking it off your plate until it genuinely does.
I filed this asserting the interactive portion "cannot be automated by an agent". I inherited that claim from the 2026-07-23 playtest-hardening note and did not test it. Testing it takes about a minute:
tmuxis on this host,tmux new-session -d -x 80 -y 24is a real 80x24 PTY,send-keysfeeds it keystrokes andcapture-pane -preturns the exact rendered cell grid. A probe using a raw cursor-position escape came back at the expected row and column. So the death path, save/restore across a real process boundary, screen integrity,--More--handling andROGUEOPTSare all mechanically checkable here, and so is Amulet retrieval.That work is now #42 , itself blocked on #19 for a
make buildtarget.What I am not claiming is automated: whether the game feels right, and whether an honest unassisted game — not a wizard-mode descent — completes. Those stay here. Unassigning you meanwhile; I will reassign this with a short concrete checklist once 42 has taken the mechanical cases and I can tell you exactly what is left, which should be a few minutes at a keyboard rather than a full playthrough.