{
  "schema_version": 1,
  "title": "RealtimeCUA model leaderboard",
  "imported_on": "2026-10-29",
  "source_url": "https://realtime-cua-model-replays.bubbly-tuna-8304.chatgpt.site/",
  "source_commit": "13f1b74ab68d80f926f24580aea1cf12e8274fe5",
  "source_html_sha256": "b96b4823cd7bb62c3557ed735622fe1acbec98bac1e96f0530b552053507deb0",
  "cohort": "matched-17-gpt2829-haiku2844",
  "model_count": 2,
  "task_count": 17,
  "video_count": 34,
  "metric": "Unweighted mean of the 17 published task scores, each in [0,1]; displayed on a 0–100 scale. One valid run per model and task. Not a success-rate estimate.",
  "protocol_notes": [
    "Source reports the same task versions, windows, scenarios and action budgets for both models. Model routing, API protocols and default reasoning settings differ.",
    "1x elapsed-time screenshot replays; prior observation held between actual model inputs. No inferred frames, continuous recording or audio.",
    "47 invalid adapter-v1 attempts with zero GUI actions were excluded by the source.",
    "Story task raw semantic-null values remain in result JSON. Published strict-conjunction failure scores of zero are preserved because frozen mechanical requirements failed.",
    "No native OSWorld VM evaluation. Existing rocket and TicketVault pilots use other protocols and are excluded from the aggregate."
  ],
  "models": [
    {
      "id": "sol",
      "name": "GPT-6.1 Sol",
      "experiment": "2829",
      "mean_score": 0.09859941176470588,
      "task_count": 17,
      "full_credit_count": 1
    },
    {
      "id": "haiku",
      "name": "Claude Haiku 5.5",
      "experiment": "2844",
      "mean_score": 0.08991594117647059,
      "task_count": 17,
      "full_credit_count": 1
    }
  ],
  "tasks": [
    {
      "id": "rcua_doc_002",
      "catalogue_id": "rcua_doc_002",
      "name": {
        "zh": "采购计划协作",
        "en": "Procurement plan: three budget reviews"
      },
      "version": "0.2.0-en.1",
      "language": "en",
      "category": "interrupt",
      "instruction": "Update the procurement plan using each message from Lin Xiaoyu. Write Venue budget, Equipment budget, and Total budget on separate lines, in CNY. Include \"Reception: Keep\" only when the current round requires it. End with \"Check status: Version N checked.\" Every round needs its correct saved version. Save each round within 24 seconds of its opening message. Supplemental messages do not extend that deadline. The server snapshots the saved document at each deadline; a late final edit cannot recover a missed checkpoint. Keep the collaborator-owned title and notes unchanged. Wait for the collaborator to explicitly finish, then click Deliver document before the 100-second total deadline.",
      "result": "results/rcua_doc_002.json",
      "runs": {
        "haiku": {
          "score": 1.0,
          "raw_score": 1.0,
          "score_derivation": null,
          "reason": "timely_collaborative_delivery",
          "steps": 20,
          "duration_s": 102.6,
          "api_median_s": 4.975932013941929,
          "video": "media/rcua_doc_002_haiku55_score1.000_replay_1x.mp4",
          "sha256": "fe9368d54e9e2f0457c877e914f00e3b30f7e39c707d851cf117c714e6b9c600",
          "bytes": 363181,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "requirements_or_checkpoint_deadlines_not_met",
          "steps": 16,
          "duration_s": 102.4,
          "api_median_s": 5.567865492077544,
          "video": "media/rcua_doc_002_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "79f4da6081446906d70ecf259ad3582cae697de88b2fdbeb1c03388aef1671a4",
          "bytes": 368354,
          "provider": "AI Hub · azure",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_002"
    },
    {
      "id": "rcua_meeting_001",
      "catalogue_id": "rcua_meeting_001",
      "name": {
        "zh": "会议应答",
        "en": "Meeting console: answer from live captions before the window closes"
      },
      "version": "0.1.0",
      "language": "zh-CN",
      "category": "media",
      "instruction": "你是这场线上周会的参会者 Alex（数据分析）。会议以实时字幕逐行推进，页面右侧是字幕面板。请在整场会议中盯住字幕：被点名提问时，先点“取消静音”，再在说话框里输入回答并点“发言”，回答必须包含此前会议里已经讲过的那个具体事实（数字、日期、人名或版本号），不要只复述问题；有人请你共享屏幕时点“共享屏幕”；有人交代给你待办时在笔记框里写下这条待办并点“记笔记”，内容须包含对方提到的文档名；页面出现麦克风噪音提示时立刻点“静音”。每类要求都有各自的时限，越快越好。别人被点名、只是提到你、或者只是泛泛地说“总得有人做”的时候，不要抢话、不要共享、不要记笔记。全程只用页面上的按钮和输入框。",
      "result": "results/rcua_meeting_001.json",
      "runs": {
        "haiku": {
          "score": 0.428571,
          "raw_score": 0.428571,
          "score_derivation": null,
          "reason": "missed_or_late_steps",
          "steps": 37,
          "duration_s": 197.8,
          "api_median_s": 5.0671387780457735,
          "video": "media/rcua_meeting_001_haiku55_score0.429_replay_1x.mp4",
          "sha256": "48bf5aa98abb7a7b9f58ee99bd1190c05c62a08d5e6f78dbc8f8c7ac66cabe59",
          "bytes": 462500,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.142857,
          "raw_score": 0.142857,
          "score_derivation": null,
          "reason": "missed_or_late_steps",
          "steps": 33,
          "duration_s": 197.8,
          "api_median_s": 5.503720501437783,
          "video": "media/rcua_meeting_001_gpt61sol_score0.143_replay_1x.mp4",
          "sha256": "a9f09243695626b1cfafd742f7e9ff698d191a779cc959af27341b26ce00c984",
          "bytes": 451558,
          "provider": "AI Hub · azure",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_meeting_001"
    },
    {
      "id": "rcua_stream_001_chat",
      "catalogue_id": "rcua_stream_001_chat",
      "name": {
        "zh": "实时聊天监控",
        "en": "Team chat: flag customer-data exposures within 20 seconds"
      },
      "version": "0.1.0-en.1",
      "language": "en",
      "category": "monitor",
      "instruction": "A team-chat app is open in this browser tab, showing the busy internal channel #ops-general. New messages keep arriving.\n\nMonitor #ops-general for any message, image, or thread suggesting that customer-identifying information may have been exposed, shared incorrectly, or made accessible outside an approved location.\n\nFlag real incidents and keep the Flagged Incidents panel accurate as new evidence appears. Ignore unrelated outages, general security discussions, hypothetical examples, jokes, fictional/sample data, and benign operational chatter.\n\nIf later evidence shows that a previously flagged event was not a real exposure, retract that incident. Each incident should cover one specific exposure: if a later message is another report of an exposure you already flagged, add it to that incident; if it describes a different exposure, create a new incident for it.\n\nEach new event should be correctly handled within 20 seconds of appearing. Message timestamps and the current channel time are shown in the interface so you can track how recent an event is. For a clarification or correction, the 20-second window begins when that new information appears. Messages remain available in history afterward, so you may still recover late, but missing the 20-second checkpoint will not recover that event's real-time score.\n\nEach message has a Flag button. Flagging allows you to create a new incident or add the message to an existing incident, select structured exposure information, and record a short reason.\n\nImages open larger when clicked, threads open in the side panel, and you can scroll through history or use Jump to latest.\n\nThe monitoring window lasts 5 minutes. New messages continue arriving while you think.\n\nThe chat runs in real time and does not pause while you reason. You have at most 100 turns.",
      "result": "results/rcua_stream_001_chat.json",
      "runs": {
        "haiku": {
          "score": 0.1,
          "raw_score": 0.1,
          "score_derivation": null,
          "reason": "too_few_events_handled_within_30s",
          "steps": 55,
          "duration_s": 302.0,
          "api_median_s": 5.172081494005397,
          "video": "media/rcua_stream_001_chat_haiku55_score0.100_replay_1x.mp4",
          "sha256": "de1fd359dc6a21f6edcc2c5c7bc776047dd57c733450aead1e9beacf7647288b",
          "bytes": 2096891,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.1,
          "raw_score": 0.1,
          "score_derivation": null,
          "reason": "too_few_events_handled_within_30s",
          "steps": 56,
          "duration_s": 301.2,
          "api_median_s": 5.087306214962155,
          "video": "media/rcua_stream_001_chat_gpt61sol_score0.100_replay_1x.mp4",
          "sha256": "1ea38187e1ea1ec33d4b5744f083e19dc3719106b859fc29807199f715686dd6",
          "bytes": 1833145,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_stream_001_chat"
    },
    {
      "id": "rcua_condition_001_market",
      "catalogue_id": "rcua_condition_001_market",
      "name": {
        "zh": "预测市场监控",
        "en": "Prediction markets: five live games, ten brief opportunities"
      },
      "version": "0.2.0-en.1",
      "language": "en",
      "category": "monitor",
      "instruction": "You are monitoring five live basketball games and their corresponding prediction markets.\n\nEach game has a specific trading rule, listed below and in the Strategy panel. Execute a trade only when every condition in that game's rule is simultaneously satisfied.\n\nThe sports feeds and prediction markets continue changing while you work. A condition that is true now may stop being true later.\n\nMonitor the games, player statistics, game state, and market prices carefully. When a rule becomes valid, use the Prediction Market's order ticket to submit exactly the specified trade (market, BUY or SELL, YES or NO, quantity, and limit price) while the conditions still hold.\n\nDo not trade when any required condition is false. Some events will look close to a valid opportunity but will not satisfy every requirement.\n\nA game's rule can become valid again later in the game: each separate time all of its conditions hold again is a new opportunity, so keep monitoring every game until the session ends. Trade each opportunity once: a second trade while the same opportunity is still open counts as a wrong trade.\n\nThe Live Sports Center shows all five games; click a game for its play-by-play, box score (points, rebounds, assists, personal fouls, player status), timeouts left, team fouls and bonus. The Prediction Market shows each market's YES/NO bid and ask and your positions; select a market, fill in the order ticket, review, and submit. The environment clock is shown at the top.\n\nThe five games run concurrently and do not pause while you think. You have at most 150 turns.\n\nTRADING RULES\n\nGame A — Northstar vs Metro: BUY 50 Metro YES contracts at a limit of 46¢ if ALL are true:\n  - it is the 4th quarter\n  - at least 6:00 remains on the game clock\n  - Northstar's starting center Marcus Lee has 6 or more personal fouls\n  - Northstar leads by 1 to 5 points\n  - the Metro YES best ask is 46¢ or lower\n\nGame B — Harbor vs Summit: BUY 40 Summit YES contracts at a limit of 39¢ if ALL are true:\n  - it is the second half (3rd or 4th quarter)\n  - Harbor's starting guard Jordan Vale is marked OUT\n  - Summit trails by 1 to 6 points\n  - the Summit YES best ask is 39¢ or lower\n\nGame C — River vs East: SELL 30 River YES contracts at a limit of 61¢ if ALL are true:\n  - it is the 4th quarter\n  - River has used its final timeout (0 timeouts left)\n  - River leads by 1 to 3 points\n  - the River YES best bid is 61¢ or higher\n\nGame D — West vs Union: BUY 60 West YES contracts at a limit of 44¢ if ALL are true:\n  - it is the 4th quarter\n  - Union is in the bonus\n  - West trails by 1 to 4 points\n  - the West YES best ask is 44¢ or lower\n\nGame E — Aurora vs Central: BUY 35 Central YES contracts at a limit of 48¢ if ALL are true:\n  - it is the 4th quarter\n  - Aurora's star forward Dante Reyes has 6 or more personal fouls\n  - Central trails by 5 points or fewer, or is tied\n  - the Central YES best ask is 48¢ or lower",
      "result": "results/rcua_condition_001_market.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "below_threshold",
          "steps": 61,
          "duration_s": 362.0,
          "api_median_s": 5.7187471319921315,
          "video": "media/rcua_condition_001_market_haiku55_score0.000_replay_1x.mp4",
          "sha256": "61528b0cb4bef544127182dc6300e2ebab3541af957baa26c47188e128c75d9d",
          "bytes": 3446306,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "below_threshold",
          "steps": 77,
          "duration_s": 362.0,
          "api_median_s": 4.411768772406504,
          "video": "media/rcua_condition_001_market_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "d65081c7689a776a2dce2527d1e3e91ef13f491de9b9118f2e7c03c79da5c068",
          "bytes": 2395797,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_condition_001_market"
    },
    {
      "id": "rcua_doc_001",
      "catalogue_id": "rcua_doc_001",
      "name": {
        "zh": "季度报告协作",
        "en": "Quarterly report: three timed checks"
      },
      "version": "0.2.0-en.1",
      "language": "en",
      "category": "workspace",
      "instruction": "Review the quarterly report with Lin Xiaoyu. Update the refund rate using each new set of order and refund counts. End the body with \"Check status: Round N checked.\" Keep that round of counts in the body. Save each round within 24 seconds of its opening message. Supplemental messages do not extend that deadline. The server snapshots the saved document at each deadline; a late final edit cannot recover a missed checkpoint. Keep the collaborator-owned title and notes unchanged. Wait for the collaborator to explicitly finish, then click Deliver document before the 100-second total deadline.",
      "result": "results/rcua_doc_001.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "requirements_or_checkpoint_deadlines_not_met",
          "steps": 18,
          "duration_s": 102.4,
          "api_median_s": 5.335348319495097,
          "video": "media/rcua_doc_001_haiku55_score0.000_replay_1x.mp4",
          "sha256": "9ba6468d9a64f1b454dfd793fd9c26481fe5f4c71043a8ffa277af19442b46ea",
          "bytes": 317940,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "requirements_or_checkpoint_deadlines_not_met",
          "steps": 15,
          "duration_s": 102.4,
          "api_median_s": 5.629879207583144,
          "video": "media/rcua_doc_001_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "ba8981a7de1000524aa57204140ca526881fef45d4c907c3a8dd6f107ca06eaa",
          "bytes": 308503,
          "provider": "AI Hub · azure",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_001"
    },
    {
      "id": "rcua_doc_003",
      "catalogue_id": "rcua_doc_003",
      "name": {
        "zh": "发布计划协作",
        "en": "Release plan: concurrent edits and timed merges"
      },
      "version": "0.2.0-en.1",
      "language": "en",
      "category": "workspace",
      "instruction": "Edit the same release-plan paragraph with Lin Xiaoyu. Add the rollback plan required in each round. She owns the release time and owner and may revise them while you edit. Preserve her latest values. For a revision conflict, inspect the latest remote paragraph and merge your draft; do not force an overwrite. Save each round within 24 seconds of its opening message. Supplemental messages do not extend that deadline. The server snapshots the saved document at each deadline; a late final edit cannot recover a missed checkpoint. Keep the collaborator-owned title and notes unchanged. Wait for the collaborator to explicitly finish, then click Deliver document before the 100-second total deadline.",
      "result": "results/rcua_doc_003.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "requirements_or_checkpoint_deadlines_not_met",
          "steps": 18,
          "duration_s": 102.6,
          "api_median_s": 5.545569227542728,
          "video": "media/rcua_doc_003_haiku55_score0.000_replay_1x.mp4",
          "sha256": "de99b0fbf77f62d219de82954b5ca12328acb955624400a5feb0fab83957e63d",
          "bytes": 347458,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "requirements_or_checkpoint_deadlines_not_met",
          "steps": 17,
          "duration_s": 102.4,
          "api_median_s": 5.70177792548202,
          "video": "media/rcua_doc_003_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "fe5d1b44de349f82973272cade233d1cf260418319c261edfc9f0393a8863415",
          "bytes": 393013,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_003"
    },
    {
      "id": "rcua_doc_004",
      "catalogue_id": "rcua_doc_004",
      "name": {
        "zh": "故事动态续写",
        "en": "Co-writing: The Old Bookshop on a Rainy Night"
      },
      "version": "0.1.1-en.1",
      "language": "en",
      "category": "workspace",
      "instruction": "Co-write The Old Bookshop on a Rainy Night with Xiaohong. Add at least one new plot paragraph of at least 40 English words during each window: 8-36, 38-66, and 68-96 seconds. Give the story an ending. Xiaohong rewrites earlier facts and may add text to the paragraph you are editing. Subsequent actions must adopt each revised fact and show a plausible causal consequence; repeating the change message is insufficient. Preserve her latest rewrites and additions. Merge same-paragraph conflicts without forcing an overwrite. Read the latest document before writing. Do not wait for all edits and then submit the entire story at once. After she explicitly finishes, click Deliver story within the 120-second total deadline.",
      "result": "results/rcua_doc_004.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": null,
          "score_derivation": "Strict conjunction is false because frozen mechanical conditions failed; raw semantic-null preserved",
          "reason": "semantic_review_required",
          "steps": 21,
          "duration_s": 122.6,
          "api_median_s": 5.123084329999983,
          "video": "media/rcua_doc_004_haiku55_score0.000_replay_1x.mp4",
          "sha256": "fa2bd83a23d3e94687448136d2932400d227d20969505eb6399da17ebcd70621",
          "bytes": 303552,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": null,
          "score_derivation": null,
          "reason": "reviewed",
          "steps": 21,
          "duration_s": 122.4,
          "api_median_s": 5.138085233978927,
          "video": "media/rcua_doc_004_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "5f1d10ba9cf778bd4018f4a1f3db5bccb5f95e5bf0631e9ea35e174004ce0655",
          "bytes": 612751,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_004"
    },
    {
      "id": "rcua_doc_005",
      "catalogue_id": "rcua_doc_005",
      "name": {
        "zh": "数学动态改题",
        "en": "A changing problem: revise every answer"
      },
      "version": "0.1.2-en.1",
      "language": "en",
      "category": "workspace",
      "instruction": "Solve the charity book-purchase problem with Xiaohong. Write the current answer in the Solution paragraph as three ordered lines: \"Subtotal: NUMBER CNY\", \"Shipping: NUMBER CNY\", and \"Total payable: NUMBER CNY\". You may put calculations before those lines and earlier versions in a history section after them; the first ordered group is current. For a discount, the subtotal may be before or after discount if the calculation and final total agree. Save the initial correct answer within 45 seconds. Xiaohong revises the problem after you save a correct answer; recompute and save within 35 seconds of each revision. There are four versions. Preserve her edits and all notes, including notes added to your solution. Merge conflicts using the latest problem without forcing an overwrite. After she confirms the final problem, click Deliver solution before 180 seconds. Every version must actually be correct and saved; a final number alone is insufficient.",
      "result": "results/rcua_doc_005.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "revision_response_or_preservation_failed",
          "steps": 34,
          "duration_s": 182.4,
          "api_median_s": 5.14265502395574,
          "video": "media/rcua_doc_005_haiku55_score0.000_replay_1x.mp4",
          "sha256": "3b94138e5dbf64e51d586bdf5e235bb260c2fc70b59a41d28cb2c68c1e998d82",
          "bytes": 289728,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 1.0,
          "raw_score": 1.0,
          "score_derivation": null,
          "reason": "all_revisions_answered_and_preserved",
          "steps": 21,
          "duration_s": 182.4,
          "api_median_s": 5.29432462900877,
          "video": "media/rcua_doc_005_gpt61sol_score1.000_replay_1x.mp4",
          "sha256": "4cd1b8d7ca6bf7276a622a8606fb1cb6a5f077edd89232c8388f3169a25f692d",
          "bytes": 393339,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_005"
    },
    {
      "id": "rcua_doc_006_finmodel",
      "catalogue_id": "rcua_doc_006_finmodel",
      "name": {
        "zh": "财务表实时更新",
        "en": "Earnings update: a close pipeline that publishes on schedule"
      },
      "version": "0.1.0-en.1",
      "language": "en",
      "category": "workspace",
      "instruction": "Work in the shared spreadsheet open in this browser tab: Northstar Cloud's Q1 FY26 operating model. Your coworker Jordan maintains the Raw Actuals data while you are responsible for keeping the Operating Model and Variance Summary correct.\n\nNorthstar's automated close pipeline will publish several reports from the workbook during the earnings update. These jobs run automatically and do not wait for you. Once a report is published, that published version is immutable; later workbook corrections only affect subsequent reports.\n\nUpdate the model as new results become available, use the latest authoritative information, preserve correct collaborator edits, repair incorrect changes, and make sure each automated report reflects the best information available before it publishes.\n\nPreliminary values may later be revised or confirmed. Information may also move between sheets or change units. The update ends shortly after the last report.\n\nThe workbook continues changing in real time, including while you think. You have at most 100 turns.",
      "result": "results/rcua_doc_006_finmodel.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "published_reports_or_model_below_threshold",
          "steps": 31,
          "duration_s": 182.0,
          "api_median_s": 5.585786162177101,
          "video": "media/rcua_doc_006_finmodel_haiku55_score0.000_replay_1x.mp4",
          "sha256": "80cd88d38bc88e3e469073f470f3189af72e2572702d887d9e84df47e3106ccc",
          "bytes": 454054,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "published_reports_or_model_below_threshold",
          "steps": 23,
          "duration_s": 182.0,
          "api_median_s": 8.294453412876464,
          "video": "media/rcua_doc_006_finmodel_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "4f65cd4cc1ac125e5f3f4783767abd8291df8be9e7d4123ccd0a129cefaa4e2f",
          "bytes": 719777,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_doc_006_finmodel"
    },
    {
      "id": "rcua_game_001_tetris",
      "catalogue_id": "rcua_game_001_tetris",
      "name": {
        "zh": "俄罗斯方块",
        "en": "Tetris: 100 pieces under real-time gravity"
      },
      "version": "0.3.0-en.1",
      "language": "en",
      "category": "games",
      "instruction": "Play the Tetris game open in this browser tab. Start it if needed, then clear as many lines as possible before the game ends.\n\nThe game ends when any of these happens:\n- 100 pieces have been placed, or\n- the stack reaches the top of the board and no new piece fits\n\nYou are scored by lines_percentage = lines cleared / 40, from 0 to 1. 40 is the most lines 100 pieces can clear: each piece adds 4 cells and each line needs 10.\n\nGravity: the falling piece moves down one row every 1 s of game time. The game runs in real time, including while you think.",
      "result": "results/rcua_game_001_tetris.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "lines_percentage_below_threshold",
          "steps": 24,
          "duration_s": 99.6,
          "api_median_s": 4.05157031910494,
          "video": "media/rcua_game_001_tetris_haiku55_score0.000_replay_1x.mp4",
          "sha256": "63e1e6c20985d2f9bfedeaaee3859a9253ca3c1409eabc1ec56bb281e1adf84b",
          "bytes": 117115,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "lines_percentage_below_threshold",
          "steps": 28,
          "duration_s": 115.0,
          "api_median_s": 3.7806768235750496,
          "video": "media/rcua_game_001_tetris_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "11cebd10c9b0e78ca19d7464bf86a31ff1f186f1e5758f83b8da02a4f4e8f688",
          "bytes": 167733,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_game_001_tetris"
    },
    {
      "id": "rcua_game_002_fruit",
      "catalogue_id": "rcua_game_002_fruit",
      "name": {
        "zh": "切水果",
        "en": "Fruit slicing: held swipes against moving targets"
      },
      "version": "0.3.0-en.1",
      "language": "en",
      "category": "games",
      "instruction": "A fruit-slicing game is open in this browser tab. Fruit are launched up through the play area and fall back down; some of the launched objects are bombs (black, with a red ring, a white X and a lit fuse).\n\nSlice as many fruit targets as possible while avoiding bombs. The game continues running while you act. A slice only counts if your held mouse trajectory crosses the target: press the button, drag through the fruit, and release (a plain click never slices). One swipe can slice several fruit. Touching a bomb with a held swipe is heavily penalized.\n\nThe round lasts 4 minutes of game time; the time left is shown at the top right. Scoring: each fruit you slice is worth 1 point (100 fruit, 100 points in total), and each bomb you touch costs 5 points (the score never goes below 0).\n\nThe game runs in real time, including while you think, so by the time your swipe executes the fruit will have moved a few seconds further along their arcs: aim where they will be, not where they were when you last saw them.",
      "result": "results/rcua_game_002_fruit.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "score_below_threshold",
          "steps": 44,
          "duration_s": 242.0,
          "api_median_s": 4.8045795754296705,
          "video": "media/rcua_game_002_fruit_haiku55_score0.000_replay_1x.mp4",
          "sha256": "2d9ed7974edcd137f22b2cfc5faeef0a6cd924b4aab726eabf350a0ac951ace4",
          "bytes": 388658,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "score_below_threshold",
          "steps": 48,
          "duration_s": 242.0,
          "api_median_s": 4.295836372068152,
          "video": "media/rcua_game_002_fruit_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "9b620d6c78e41e2d406e6c5f464171cc44fe30d57c49b842f78337a9a2be19e5",
          "bytes": 390852,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_game_002_fruit"
    },
    {
      "id": "rcua_live_001",
      "catalogue_id": "rcua_live_001",
      "name": {
        "zh": "直播互动",
        "en": "Live-stream assistant: respond selectively to a moving feed"
      },
      "version": "0.1.0",
      "language": "zh-CN",
      "category": "media",
      "instruction": "你是这个模拟直播间的主播助理，本场 180 秒。页面就绪后弹幕会自动滚动，不会等待你。需要你处理的只有五类：观众问某件商品的价格时，在回复框发送包含该商品价格数字的回复；有人给主播送礼时，点该条弹幕的「感谢」；有人辱骂主播时，点该条弹幕的「拉黑」；有多位观众先后要求看同一件商品时，把该商品「置顶」；场控要求切画面时，切换到它说的场景。每类都有各自的截止时间，越快越好。与你无关的内容不要处理：观众之间的闲聊、提到价格但不是在问主播、@别的观众、带「垃圾/骗子/滚」但并非辱骂主播的抱怨、以及观众给其他观众送礼，都不需要任何操作。只使用页面上的普通鼠标键盘操作。",
      "result": "results/rcua_live_001.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "missed_or_late_steps",
          "steps": 31,
          "duration_s": 182.0,
          "api_median_s": 5.645176824880764,
          "video": "media/rcua_live_001_haiku55_score0.000_replay_1x.mp4",
          "sha256": "a3fb84492ba75f966c411050c8f34d4203a68b91ac8587054a73b45431938e77",
          "bytes": 637727,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "missed_or_late_steps",
          "steps": 33,
          "duration_s": 182.0,
          "api_median_s": 5.1187263779575005,
          "video": "media/rcua_live_001_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "0b48c851e933168767fceab256d9105e258b62e20be370cbbd099929d4962354",
          "bytes": 655418,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_live_001"
    },
    {
      "id": "rcua_notes_001",
      "catalogue_id": "rcua_notes_001",
      "name": {
        "zh": "共享会议纪要",
        "en": "Shared live meeting minutes: keep up with revisions"
      },
      "version": "0.1.0",
      "language": "zh-CN",
      "category": "media",
      "instruction": "你是这场线上会议的纪要 Alex。页面左边是一份所有参会者共用的共享纪要文档，右边是实时字幕。请在整场会议中盯住字幕：听到拍板的结论，用「决定」记一条；听到交代给谁的事，用「待办」记一条；听到今天定不下来的事，用「待确认」记一条；有人改掉之前已经定过的值时，把文档里原来那条改掉——新值要写上，旧值必须从文档里消失，光再加一条新的不算；有人中途进来问前面定了什么时，发一条小结，覆盖此前已经定下来的结论。每类都有各自的时限，评分只看时限到点那一刻文档里写的是什么。假设句（「如果……」）、已经被否掉的方案、闲聊，以及别人已经写进文档的条目，都不要记。别人写的条目不归你维护。每条纪要有字数上限，把整段字幕抄进去不会得分。全程只用页面上的按钮和输入框。",
      "result": "results/rcua_notes_001.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "missed_or_late_snapshots",
          "steps": 37,
          "duration_s": 200.8,
          "api_median_s": 5.060404253890738,
          "video": "media/rcua_notes_001_haiku55_score0.000_replay_1x.mp4",
          "sha256": "7795340bc127ad708dd98a00bdb76430cf0c490fc886daa2141596c37dfce7f3",
          "bytes": 471644,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.1,
          "raw_score": 0.1,
          "score_derivation": null,
          "reason": "missed_or_late_snapshots",
          "steps": 35,
          "duration_s": 200.8,
          "api_median_s": 5.201922914595343,
          "video": "media/rcua_notes_001_gpt61sol_score0.100_replay_1x.mp4",
          "sha256": "50bc3f0de348b8741729e2aa443b373ee89a4590a1343d1c11237fd6c89dd85f",
          "bytes": 536754,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_notes_001"
    },
    {
      "id": "rcua_present_001",
      "catalogue_id": "rcua_present_001",
      "name": {
        "zh": "演示助手",
        "en": "Presentation assistant: follow streaming commands selectively"
      },
      "version": "0.1.0",
      "language": "zh-CN",
      "category": "media",
      "instruction": "你是这场线上评审会的演示助理 Alex，这份 deck 由你控制。会议以实时字幕逐行推进，页面右侧是字幕面板和幻灯片大纲。主讲人陈默会让你操作：说\"翻到第 N 页\"、说某一页的标题、或者只说\"回到刚才讲 XX 的那一页\"时，把幻灯片切过去；说共享或停止共享时，切换共享状态；说\"把图放大\"时，在他指的那一页上放大图；说\"打开 demo\"时，在那一页上打开 demo。每类要求都有各自的时限，并且评分只看时限到点那一刻页面停在哪里——连点\"下一页\"扫过目标页不得分，必须停在那里。换页会自动取消放大并关闭 demo。别人被要求投屏、主讲人只是顺口提到某一页、或者说\"等会儿再翻\"的时候，不要动。全程只用页面上的按钮和输入框。",
      "result": "results/rcua_present_001.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "missed_or_late_snapshots",
          "steps": 45,
          "duration_s": 234.4,
          "api_median_s": 4.8373054100666195,
          "video": "media/rcua_present_001_haiku55_score0.000_replay_1x.mp4",
          "sha256": "00a1f1851bcfa3c27862cbdfa06cabb88c289298494a42bcb8674d9511d31032",
          "bytes": 512307,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.333333,
          "raw_score": 0.333333,
          "score_derivation": null,
          "reason": "missed_or_late_snapshots",
          "steps": 44,
          "duration_s": 234.4,
          "api_median_s": 5.045113560045138,
          "video": "media/rcua_present_001_gpt61sol_score0.333_replay_1x.mp4",
          "sha256": "8e6e899986f7d2046055085dc4a6a201ddcc4db385f4ad1c262ccaa38574cc91",
          "bytes": 592802,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_present_001"
    },
    {
      "id": "rcua_ticket_001",
      "catalogue_id": "rcua_ticket_001",
      "name": {
        "zh": "英文一秒抢票",
        "en": "Ticket release: a one-second inventory window"
      },
      "version": "0.4.0-en.1",
      "language": "en",
      "category": "monitor",
      "instruction": "Sales open 60 seconds after the page is ready. Buy exactly one 680 CNY stand ticket for Lin Xiaoyu for the Shanghai Jay Chou concert on 2027-07-18 at 19:30; total at most 680 CNY. Do not buy another session or tier, and do not place duplicate orders. You may pre-select the session, tier, quantity, and attendee before release. After release, complete the mock order confirmation and keep the result page open. Other buyers will exhaust inventory within one second. No real payment is involved.",
      "result": "results/rcua_ticket_001.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_correct_order",
          "steps": 14,
          "duration_s": 78.4,
          "api_median_s": 4.981792175443843,
          "video": "media/rcua_ticket_001_haiku55_score0.000_replay_1x.mp4",
          "sha256": "37a4dcc678ba79caa0d7394ea8a20c0548f1b11ce918a9f9d0d94fa353804cbe",
          "bytes": 155510,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_correct_order",
          "steps": 14,
          "duration_s": 78.4,
          "api_median_s": 4.495772986090742,
          "video": "media/rcua_ticket_001_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "70f6d4c1b516454e07ef4caca9eb1d6ca9938866903bc95ff335c8084d476674",
          "bytes": 136186,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_ticket_001"
    },
    {
      "id": "rcua_ticket_001_zh",
      "catalogue_id": "rcua_ticket_001",
      "name": {
        "zh": "中文一秒抢票",
        "en": "One-second ticket release · Chinese variant"
      },
      "version": "0.4.0",
      "language": "zh-CN",
      "category": "monitor",
      "instruction": "页面就绪后 60 秒开售。请在模拟购票页面开售后，为林小雨购买 1 张周杰伦演唱会上海站 2027-07-18 19:30 的 680 元看台票，总价不能超过 680 元。请勿购买其他场次或票档，不要重复下单。可在开售前选好场次、票档、观演人与数量；开售后完成模拟订单确认，最后保留订单结果页。库存会在开售后迅速被其他用户抢完。",
      "result": "results/rcua_ticket_001_zh.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_correct_order",
          "steps": 13,
          "duration_s": 78.6,
          "api_median_s": 5.194898060057312,
          "video": "media/rcua_ticket_001_zh_haiku55_score0.000_replay_1x.mp4",
          "sha256": "9ea4a84ff9dc98059b506716a2c238f98e9c72c6b704807f7ae3e57037d673a2",
          "bytes": 133695,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_correct_order",
          "steps": 13,
          "duration_s": 78.4,
          "api_median_s": 5.21017503994517,
          "video": "media/rcua_ticket_001_zh_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "b194f2fc9b7359e3bb9ddece3c1f669a3ce0fc449ae7f1a74a2fc17ed29a121f",
          "bytes": 117779,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_ticket_001_zh"
    },
    {
      "id": "rcua_ticket_002_food",
      "catalogue_id": "rcua_ticket_002_food",
      "name": {
        "zh": "限量午餐下单",
        "en": "Lunch drop: four diners, limited stock"
      },
      "version": "0.1.0-en.1",
      "language": "en",
      "category": "monitor",
      "instruction": "Order lunch for Alice, Ben, Chloe, and Diego using the Green Bowl food-ordering app.\n\nRequirements:\n- Alice is vegetarian and has a peanut allergy.\n- Ben needs an entrée with at least 35g of protein.\n- Chloe requires a gluten-free entrée.\n- Diego requires a dairy-free entrée.\n- Order exactly one entrée for each person.\n- Keep the food subtotal at or below $78.\n- The order must arrive by 12:45 PM.\n\nPreferences:\n- Alice prefers spicy food.\n- Ben prefers chicken over tofu.\n- Chloe prefers a bowl rather than a wrap.\n- Diego prefers at least 25g of protein.\n- Prefer different entrées for different people.\n- Prefer the earliest valid delivery window.\n- Prefer a lower subtotal when otherwise equivalent.\n\nThe menu will become available when ordering opens. Ordering availability is shared with other customers, so entrées, modifiers, and delivery capacity may sell out while you work. Items in your cart are not reserved until checkout.\n\nWait for ordering to open, then inspect the available menu, build the best valid order you can, and complete checkout.\n\nThe app runs in real time: the clock, the opening countdown and other customers' orders keep going while you think. You have at most 100 turns.",
      "result": "results/rcua_ticket_002_food.json",
      "runs": {
        "haiku": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_order_placed",
          "steps": 27,
          "duration_s": 152.4,
          "api_median_s": 5.456501992885023,
          "video": "media/rcua_ticket_002_food_haiku55_score0.000_replay_1x.mp4",
          "sha256": "ec947706981daff1be7a4e6bd47e92b16c558eb58b061b0ddcd9223e78bd3688",
          "bytes": 409926,
          "provider": "AI Hub · OpenRouter / Anthropic",
          "run_count": 1
        },
        "sol": {
          "score": 0.0,
          "raw_score": 0.0,
          "score_derivation": null,
          "reason": "no_order_placed",
          "steps": 20,
          "duration_s": 152.8,
          "api_median_s": 4.290245271055028,
          "video": "media/rcua_ticket_002_food_gpt61sol_score0.000_replay_1x.mp4",
          "sha256": "f0be4990366ecca1b6639a2a93c8daa4feb1cfeb13fcc61b4b7dd2be90ba06c8",
          "bytes": 287498,
          "provider": "AI Hub · openai",
          "run_count": 1
        }
      },
      "source_directory": "tasks/rcua_ticket_002_food"
    }
  ],
  "supplementary": [
    {
      "task_id": "rcua_video_blender_001",
      "name": {
        "en": "Native Blender rocket",
        "zh": "Blender 火箭"
      },
      "label": "GPT-6.1 Sol · 210s",
      "score": 0.0,
      "video": "../rocket/assets/gpt61sol_partial019_budget210_score0.000_replay_1x.mp4",
      "result": "../rocket/assets/gptp19a_210_t01_result.json",
      "duration_s": 210,
      "sha256": "5b610db078a27552ad3223aefac6736c190ba003aeccdba009c7fd665eacdbe2",
      "version": "0.1.9",
      "budget_s": 210
    },
    {
      "task_id": "rcua_video_blender_001",
      "name": {
        "en": "Native Blender rocket",
        "zh": "Blender 火箭"
      },
      "label": "GPT-6.1 Sol · 600s",
      "score": 0.7,
      "video": "../rocket/assets/gpt61sol_partial019_budget600_score0.700_replay_1x.mp4",
      "result": "../rocket/assets/gptp19_600_t01_result.json",
      "duration_s": 255,
      "sha256": "e5c85e9d18af2e2211b9e31eb258ddc3269ee2263e39bd6213ef89e07f72b387",
      "version": "0.1.9",
      "budget_s": 600
    },
    {
      "task_id": "rcua_video_blender_001",
      "name": {
        "en": "Native Blender rocket",
        "zh": "Blender 火箭"
      },
      "label": "Original Qwen3.5-4B · 210s",
      "score": 0.0,
      "video": "../rocket/assets/qwen35_4b_original_budget210_score0.000_1x_replay.mp4",
      "result": "../rocket/assets/q2798s210_result.json",
      "duration_s": 210,
      "sha256": "be714e36278f5f7474b95017f714d40ebece21d66874241fdbcd23d5ee24f1b5",
      "version": "0.1.9",
      "budget_s": 210
    },
    {
      "task_id": "rcua_video_blender_001",
      "name": {
        "en": "Native Blender rocket",
        "zh": "Blender 火箭"
      },
      "label": "Original Qwen3.5-4B · 600s",
      "score": 0.0,
      "video": "../rocket/assets/qwen35_4b_original_budget600_score0.000_1x_replay.mp4",
      "result": "../rocket/assets/q2798s600_result.json",
      "duration_s": 600,
      "sha256": "ffccf21434afac88027bbad0d6184f7d035c4744d154995556c7babb3cc2bec3",
      "version": "0.1.9",
      "budget_s": 600
    },
    {
      "task_id": "rcua_ticket_002",
      "name": {
        "en": "TicketVault · t1 / ep00",
        "zh": "TicketVault · t1 / ep00"
      },
      "label": "GPT-6.1 Sol · t1 / ep00",
      "score": 0.0,
      "video": "../tracks/assets/ticket-sol.mp4",
      "result": "https://github.com/Rongjiehuang/RealtimeCUABench/blob/main/eval_runs/gpt-6.1-sol_t1_ep00_sample/result.json",
      "duration_s": 149.81,
      "sha256": "e4b47328d2e3d1f4b4a94f821bd59de02e3603b348b2fb7730eed17c647d4dbb",
      "version": "0.8.0",
      "budget_s": null
    },
    {
      "task_id": "rcua_ticket_002",
      "name": {
        "en": "TicketVault · t1 / ep00",
        "zh": "TicketVault · t1 / ep00"
      },
      "label": "GPT-4o · t1 / ep00",
      "score": 0.0,
      "video": "../tracks/assets/ticket-4o.mp4",
      "result": "https://github.com/Rongjiehuang/RealtimeCUABench/blob/main/eval_runs/gpt-4o_t1_ep00_sample/result.json",
      "duration_s": 181.41,
      "sha256": "278c598cbc134b2d9e8b715223527166829b7c152a70391e9683e5dc1ace04b2",
      "version": "0.8.0",
      "budget_s": null
    },
    {
      "task_id": "rcua_learn_blender_002",
      "name": {
        "en": "Blender · Exhibition stand",
        "zh": "Blender · 展台建模"
      },
      "label": "GPT‑6.1 Sol · local MP4 · 600s",
      "score": 0.8,
      "video": "../video-learning/evidence/local/blender/gpt/model.mp4",
      "result": "../video-learning/evidence/local/blender/gpt/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "88371e5aa1ca02a6edbc2c624667de3b57fd6703a4c4815cb33777d8898856cf",
      "version": "0.4.0-localvideo-en.1-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_blender_002",
      "name": {
        "en": "Blender · Exhibition stand",
        "zh": "Blender · 展台建模"
      },
      "label": "Haiku 5.5 · local MP4 · 600s",
      "score": 0.0,
      "video": "../video-learning/evidence/local/blender/haiku/model.mp4",
      "result": "../video-learning/evidence/local/blender/haiku/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "9fa40c68afc2670fa108743c50d3705428421b493c3cd2a39ea0abbd8bb1d3d7",
      "version": "0.4.0-localvideo-en.1-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_calc_001",
      "name": {
        "en": "Calc · Video-only settlement",
        "zh": "Calc · 纯视频结算规则"
      },
      "label": "GPT‑6.1 Sol · video-only + self-notes ·600s",
      "score": 1.0,
      "video": "../video-learning/evidence/video-self-notes/gpt/model.mp4",
      "result": "../video-learning/evidence/video-self-notes/gpt/result.json",
      "duration_s": 600,
      "sha256": "8009661edf2d90464eb3a0349f5c695229d63c407b6ee0be898ea1105494595c",
      "version": "0.7.0-video-only-self-notes-en.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_calc_001",
      "name": {
        "en": "Calc · Video-only settlement",
        "zh": "Calc · 纯视频结算规则"
      },
      "label": "Haiku 5.5 · video-only + self-notes ·600s",
      "score": 0.0,
      "video": "../video-learning/evidence/video-self-notes/haiku/model.mp4",
      "result": "../video-learning/evidence/video-self-notes/haiku/result.json",
      "duration_s": 600,
      "sha256": "38c91841f3a6e8da5c3acc01c4403ae8304f26dfb7e7b40568efee0131c9bca9",
      "version": "0.7.0-video-only-self-notes-en.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_impress_001",
      "name": {
        "en": "Impress · Brand one-pager",
        "zh": "Impress · 品牌单页"
      },
      "label": "GPT‑6.1 Sol · local MP4 · 600s",
      "score": 0.8,
      "video": "../video-learning/evidence/local/impress/gpt/model.mp4",
      "result": "../video-learning/evidence/local/impress/gpt/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "9515835e0c74edbcdfe367a55e56677e8d0b7da62a43a0a0662a14b29abf60c1",
      "version": "0.4.0-localvideo-en.15",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_impress_001",
      "name": {
        "en": "Impress · Brand one-pager",
        "zh": "Impress · 品牌单页"
      },
      "label": "Haiku 5.5 · local MP4 · 600s",
      "score": 0.64,
      "video": "../video-learning/evidence/local/impress/haiku/model.mp4",
      "result": "../video-learning/evidence/local/impress/haiku/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "370e56254597b8fa304a78395aa5233caddcdd400a5c61d88ee5026361fd9c5a",
      "version": "0.4.0-localvideo-en.15",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_inkscape_001",
      "name": {
        "en": "Inkscape · Wayfinding sign",
        "zh": "Inkscape · 导视标识"
      },
      "label": "GPT‑6.1 Sol · local MP4 · 600s",
      "score": 0.8,
      "video": "../video-learning/evidence/local/inkscape/gpt/model.mp4",
      "result": "../video-learning/evidence/local/inkscape/gpt/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "e1760996e0a6bb6f5cbbd4374645ba9ed6f5968bfc3c043decd17d4f626e2ece",
      "version": "0.4.0-localvideo-en.2-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_inkscape_001",
      "name": {
        "en": "Inkscape · Wayfinding sign",
        "zh": "Inkscape · 导视标识"
      },
      "label": "Haiku 5.5 · local MP4 · 600s",
      "score": 0.0,
      "video": "../video-learning/evidence/local/inkscape/haiku/model.mp4",
      "result": "../video-learning/evidence/local/inkscape/haiku/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "49701f7bca8318415afee07adeae32c0223633bad0f069109e91bda084453b8c",
      "version": "0.4.0-localvideo-en.2-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_kicad_001",
      "name": {
        "en": "KiCad · Signal routing",
        "zh": "KiCad · 电路板走线"
      },
      "label": "GPT‑6.1 Sol · local MP4 · 600s",
      "score": 0.8,
      "video": "../video-learning/evidence/local/kicad/gpt/model.mp4",
      "result": "../video-learning/evidence/local/kicad/gpt/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "4ed54a24d7691ac990f6c6613e41aebff6dc519006f20b51ba263291ab3598f3",
      "version": "0.4.0-localvideo-en.2-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_kicad_001",
      "name": {
        "en": "KiCad · Signal routing",
        "zh": "KiCad · 电路板走线"
      },
      "label": "Haiku 5.5 · local MP4 · 600s",
      "score": 0.0,
      "video": "../video-learning/evidence/local/kicad/haiku/model.mp4",
      "result": "../video-learning/evidence/local/kicad/haiku/corrected_evaluation.json",
      "duration_s": 600,
      "sha256": "54e5e4441fb2689e005ecd087365d825d7c011d23fcd03fcfda2d403867b2573",
      "version": "0.4.0-localvideo-en.2-saveguard.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_godot_002",
      "name": {
        "en": "Godot · Bridge route",
        "zh": "Godot · 桥梁路线"
      },
      "label": "GPT‑6.1 Sol · 600s",
      "score": 0.82,
      "video": "../video-learning/evidence/godot/600/gpt/model.mp4",
      "result": "../video-learning/evidence/godot/600/gpt/result.json",
      "duration_s": 600,
      "sha256": "5ab4921a511a23db1ca2f0fd0d392116b89acef5ba7f97a7c46977146104eca6",
      "version": "0.2.1-fullscreen-budget600-en.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_godot_002",
      "name": {
        "en": "Godot · Bridge route",
        "zh": "Godot · 桥梁路线"
      },
      "label": "Haiku 5.5 · 600s",
      "score": 0.0,
      "video": "../video-learning/evidence/godot/600/haiku/model.mp4",
      "result": "../video-learning/evidence/godot/600/haiku/result.json",
      "duration_s": 600,
      "sha256": "c6701773512f55b840e77566ead7fdfed764c67b3b1ea9501b24826debfcc759",
      "version": "0.2.1-fullscreen-budget600-en.1",
      "budget_s": 600
    },
    {
      "task_id": "rcua_learn_godot_002",
      "name": {
        "en": "Godot · Bridge route",
        "zh": "Godot · 桥梁路线"
      },
      "label": "GPT‑6.1 Sol · 300s",
      "score": 0.08,
      "video": "../video-learning/evidence/godot/300/gpt/model.mp4",
      "result": "../video-learning/evidence/godot/300/gpt/result.json",
      "duration_s": 300,
      "sha256": "1f73e517d8f5835a6226933e79bd42327446ea5dcd7fa96b71041347641749f5",
      "version": "0.2.0-fullscreen-en.1",
      "budget_s": 300
    },
    {
      "task_id": "rcua_learn_godot_002",
      "name": {
        "en": "Godot · Bridge route",
        "zh": "Godot · 桥梁路线"
      },
      "label": "Haiku 5.5 · 300s",
      "score": 0.0,
      "video": "../video-learning/evidence/godot/300/haiku/model.mp4",
      "result": "../video-learning/evidence/godot/300/haiku/result.json",
      "duration_s": 300,
      "sha256": "a3a3d3fb4dea549a3dfc4bbf9f6e3b5654156df13b338545e0dc29a2cc0caab5",
      "version": "0.2.0-fullscreen-en.1",
      "budget_s": 300
    }
  ]
}
