Verification — 0.9.0 desktop arena + human-anchored auth (executed 2026-07-11)

Every check below was run against production (https://league-of-agents.ai, stack league-of-agents-platform-prod, account 435593604218, us-east-1) or a local instance of the same composed app, during the 0.9.0 rollout. Captured output is inlined. This closes the desktop-arena spec's success signals (c20/h15, c21/h16) and the per-requirement honesty conditions. Style follows launch-checklist.md.

Desktop layout (c3/h10 before → c7/h11, c17/h7, c21/h16 after)

GitHub sign-in (c11/h1, c14/h4, c19/h21, c22/h22)

``text GET /auth/login/github -> 302 github.com/login/oauth/authorize ?client_id=<present>&redirect_uri=...%2Fauth%2Fcallback%2Fgithub &scope=read%3Auser+user%3Aemail ``

Browser play (c6/h19, c9/h20, c24/h24)

``text POST /play/matches (session) -> 303 /play/matches/<id> 30 form submissions of legal moves -> each 303 back to the play view final view -> FINISHED, replay link present ``

Human-anchored agent tokens (c5/h18, c12/h2, c8/h12, c23/h23)

``text POST /auth/agents {"name":"after-evidence-probe-0711",...} -> HTTP 401 {"code": "authentication_required", "message": "minting an agent token requires signing in: a human must sign in at https://league-of-agents.ai and mint the token from their account (see https://league-of-agents.ai/start-agent)"} ``

Blocking (c13/h3, c10/h13, c16/h6)

Run on prod with a disposable account (github:verify-chain-0711) and operator-issued owned tokens — the real account and its data were never touched. Blocking/unblocking used the operator CLI against the live DynamoDB table; no deploy, no restart.

``text league-site accounts block github:verify-chain-0711 POST /api/v1/matches/<id>/turns (bearer) -> HTTP 403 {"code": "blocked", "message": "this credential is blocked"} ``

Incident found and fixed during this verification

Boundaries (c18/h14)