<scenario schemaVersion="3" id="web_research" title="Research a question on the public web">
  <inputs><input name="question" required="true"/><input name="source_count" default="5"/></inputs>
  <systemPrompt>Coordinate saved search, reader and synthesis scenarios. Never invent evidence or save research to user memory.</systemPrompt>
  <tools><allow name="web_check_answer_operation"/><allow name="calendar_offer_operation"/></tools>
  <steps>
    <run scenario="web_search" result="search"><input name="question" value="{{question}}"/><input name="source_count" value="{{source_count}}"/></run>
    <foreach items="search.results" item="source" collect="reading" result="findings" limit="{{source_count}}" attempts="30" successProperty="readable" identityProperty="url">
      <run scenario="web_read_source" result="reading"><input name="question" value="{{question}}"/><input name="url" value="{{source.url}}"/></run>
    </foreach>
    <run scenario="web_synthesize" result="answer"><input name="question" value="{{question}}"/><input name="evidence" value="{{findings}}"/><input name="search_status" value="{{search.engines}}"/></run>
    <tool name="web_check_answer_operation" result="verified_answer"><input name="answer" value="{{answer}}"/><input name="evidence" value="{{findings}}"/></tool>
    <tool name="calendar_offer_operation" result="answer_with_offer"><input name="answer" value="{{verified_answer}}"/><input name="question" value="{{question}}"/></tool>
  </steps>
  <exit mode="copy">Return the verified final answer unchanged, including source links, actual coverage and the separate calendar offer when present.</exit>
</scenario>
