← back to Debate Ring Viewer

demo-flow.json

34 lines

{
  "appName": "Debate Ring",
  "steps": [
    { "action": "wait", "duration": 1500,
      "narration": "Welcome to the Debate Ring — every Claude-Codex eight-way debate, rendered as a live boxing match.",
      "avatarSay": "Hey, I'm Steve. This is the Debate Ring." },
    { "action": "wait", "duration": 2200,
      "narration": "Eight large language models — Claude, Codex, DeepSeek, GPT-OSS, Kimi, Mistral, Phi-4, and Qwen — each get a corner of the ring.",
      "avatarSay": "Eight LLMs, four corners each side. Their actual debate text becomes their punches." },
    { "action": "click", "selector": "#runs li:nth-child(4)",
      "avatarSay": "Picking a run from the rail — 49 runs from /claude-codex are loaded automatically." },
    { "action": "wait", "duration": 1200,
      "narration": "Pick a debate run from the rail. The viewer loads its rounds, fighters, and the final-report transcript." },
    { "action": "click", "selector": "#play",
      "narration": "Press Fight to start round one. The bell rings, and each model takes turns throwing punches as their words appear in speech bubbles.",
      "avatarSay": "Bell ring is synthesized via Web Audio. No asset deps." },
    { "action": "wait", "duration": 6000,
      "narration": "Each sentence the model wrote becomes a jab, cross, hook, or uppercut. When a punch lands, the screen shakes and a POW impact bursts on the receiving fighter.",
      "avatarSay": "Punch type is randomized per sentence — keeps the choreography unpredictable." },
    { "action": "wait", "duration": 6000,
      "narration": "Models that returned an empty response — usually because they hit a quota or rate-limit — get knocked out for that round and stay down with a silent bubble.",
      "avatarSay": "Empty .txt = KO. Usually means quota-blocked, like Kimi at 1 byte." },
    { "action": "wait", "duration": 6000,
      "narration": "The brand color of each model becomes the color of their gloves, shorts, and mouthguard, so even at a glance you can tell who is landing the hits.",
      "avatarSay": "Backend is Express on :9730, frontend is one HTML+SVG file. Under 11KB of CSS." },
    { "action": "click", "selector": "#play",
      "narration": "Pause anytime, scrub through rounds with Prev and Next, or speed the fight up to two and a half times.",
      "avatarSay": "Speed slider goes from 0.4x to 2.5x. Sound toggle for office viewing." },
    { "action": "wait", "duration": 1500,
      "narration": "That is the Debate Ring — your eight-LLM code-review debates, fought in front of a crowd. Available right now at localhost port nine seven three zero.",
      "avatarSay": "Weekly highlight reel runs Sundays 8pm via launchd. Recap incoming." }
  ]
}