{
  "environment": {"surface":"web", "browser":"T3 preview Chromium", "viewport":"1280x800 CSS pixels, 2x device pixels", "theme":"light"},
  "steps": [
    "Seed a synthetic project and start the Codex GPT-6-Astra turn with the prompt in seed.mjs.",
    "Open the startup pairing link, then navigate to /<environmentId>/<encodedThreadId>.",
    "While sleep 150 is active, open the composer model picker, click button[aria-label=Claude], then the option containing Claude Haiku 5.5.",
    "Close the picker with Escape. Type Reply with just: hi into [contenteditable=true]. Press Control+Enter.",
    "Observe Context handoff pending, 6 Astra to Haiku 5.5, 1 queued.",
    "Close the thread details panel to keep the machine label out of captures. Start recording.",
    "Wait for Codex ok, the queued handoff and Claude hi. Observe Running · sleep 900; echo bg-done.",
    "Open the composer picker, click button[aria-label='Replay (dev)'], select Showcase, close with Escape. Send no message.",
    "Run configure.mjs with this checkout and thread id; it calls the real t3_thread_configure MCP tool with devReplay/showcase.",
    "Observe the running row disappear on base and remain on head. Inspect saved selection and provider-session bindings read-only.",
    "Stop recording. Blur the composer and capture stable screenshots after matching screenshots 500ms apart.",
    "On head, let the original sleep 900 finish naturally, then run configure.mjs with the same arguments again."
  ]
}
