LOCKED
--
01
THE BLUR
240fps flash, freeze to reveal
LOCKED
02
THE SWARM
5000 buttons, one truth
LOCKED
03
THE WHISPER
Ultrasonic, see the sound
LOCKED
04
THE LIE
Display lies, ledger tells truth
LOCKED
05
THE HANDSHAKE
50ms human and agent sync
LOCKEDHow WebMCP makes this possible
Each lock registers one
document.modelContext.registerTool() tool. The agent
discovers it via getTools() or
toolchange event, calls it with structured args, and
the page mutates shared DOM state. Human and agent see the same
vault. Neither can cheat: tools validate inputs and locks judge
deterministically.
freeze_frame({ timestamp: 300 }) -> Revealed digit 7
filter_by_vibe({ description: "most trustworthy" }) -> 12
candidates
sonify_to_spectrogram() -> image with code 42
audit_truth() -> Real: $999 vs Display: $10
align_quantum_lock({}) -> 12ms window, success
Test in ChatGPT app browser or Chrome Canary with
#enable-webmcp. Without WebMCP, use debug buttons.