<scenario schemaVersion="3" id="project_design" title="Validate architecture before assigning implementation work">
  <inputs><input name="name" required="true"/><input name="kind" required="true"/><input name="prd" required="true"/></inputs>
  <systemPrompt>Get a proposed architecture and check its actual host contract. Give structural diagnostics to one fresh repair architect if needed. Never launch writers with an invalid plan.</systemPrompt>
  <tools><allow name="project_check_architecture_operation"/></tools>
  <steps>
    <run scenario="project_architecture" result="architecture"><input name="kind" value="{{kind}}"/><input name="prd" value="{{prd}}"/></run>
    <tool name="project_check_architecture_operation" result="checked"><input name="name" value="{{name}}"/><input name="kind" value="{{kind}}"/><input name="prd" value="{{prd}}"/><input name="architecture" value="{{architecture}}"/></tool>
    <if input="checked.valid" equals="false">
      <then>
        <run scenario="project_architecture" result="repaired"><input name="kind" value="{{kind}}"/><input name="prd" value="{{prd}}"/><input name="previous" value="{{architecture}}"/><input name="diagnostics" value="{{checked.diagnostics}}"/></run>
        <result><field name="architecture" value="{{repaired}}"/></result>
      </then>
      <else><result><field name="architecture" value="{{architecture}}"/></result></else>
    </if>
  </steps>
  <exit mode="copy">Return architecture data. Preparation will reject any remaining invalid contract.</exit>
</scenario>
