The quality checklist

Every game on the shelf has to pass 29 checks. The checks run in a real browser on three screens: a phone held upright, a phone held sideways, and a desktop. They use real touches, key presses, mouse clicks and a gamepad. Each game gets fixed until it passes. Then a second, independent AI that never saw the work plays the game and has to sign off.

14games on the shelf
11passed every check
29checks per game
3screens: portrait, landscape, desktop

Scoreboard

GameBootStartDesktopPhonePolishToolsEvidenceChecksStatus
Grave Lantern✓✓✗✓✓✓✓14/28 → 27/29Queued
Bone Tide✓✓✓✓✓✓✓15/28 → 29/29Passed
Bridgewright✓✓✓✓✓✓✓7/29 → 28/29Passed
Gloamkeep✓✓✓✓✓✓✓7/29 → 28/29Passed
Archer Keep✓✓✓✓✓✓✓13/28 → 28/29Passed
Fishy✓✓✓✓✓✓✓11/28 → 28/29Passed
PULSE✓✓✓✓✓✓✓7/29 → 28/29Passed
Orbital Decay✓✓✓✓✓✓✓7/29 → 28/29Passed
Tank Duel✓✓✓✓✓✓✓7/29 → 24/25Passed
Phone Blackjack✓✓✓✓✓✓✓6/29 → 25/25Passed
Zombie Breach✓✓✓✓✓✓✓6/29 → 29/29Passed
Slice Party✓✓✓✓✓✓·27/29—
Rocket Run✓✓✓✓✓✓✓26/28Passed
Bubble Bay✓✓✓✓✓✓·27/29—

What each check means

Boot

boot.load
Loads and is ready on all three screens
boot.errors
Zero page and console errors
boot.requests
No broken files, nothing fetched from the internet
boot.fill
Fills the screen, page never scrolls
boot.visible
Something is actually drawn
hook.contract
Exposes its state so it can be tested

Start

start.touch
A tap starts it on a phone
start.key
Enter or Space starts it
start.click
A click starts it
start.pad
Gamepad A or Start starts it

Desktop

keys.core
The core moves work on the keyboard
mouse.core
Mouse actions work (when the game uses the mouse)
pad.core
The core moves work on a gamepad
pause.key
Esc pauses and resumes
pause.pad
Gamepad Start pauses and resumes

Phone

touch.core
The core moves work by touch, portrait and landscape
touch.noscroll
Playing never scrolls or zooms the page
touch.targets
Every button is at least 44 px
touch.rotate
Rotating the phone mid-game keeps it playable
pause.touch
An on-screen pause button
pause.hidden
Pauses itself when you leave the tab

Polish

audio.unlock
Has sound, unlocked by your first tap (iOS rule)
perf.fps
Runs at 30+ fps (50+ is the goal)
site.back
A way back to the arcade
site.meta
Phone-ready page setup (safe areas, title)

Tools

tech.libs
Current engine and library versions, no CDN

Evidence

manifest
Honest description and controls
tests.acceptance
Its own acceptance tests pass
playtest
An independent playtester signed off