← All source files

V13 / 7879e8b5740b

project_generate.xml

Lilith/Core/Scenarios/Definitions/project_generate.xml

Unchanged from the preceding version
XMLStructureInputsTools / C#StepsExit
<scenario schemaVersion="3" id="project_generate" title="Orchestrate reviewed project generation">
  <inputs><input name="name" required="true" /><input name="kind" required="true" /><input name="prd" required="true" /><input name="observations" default="No runtime observations supplied. Do not claim execution." /></inputs>
  <systemPrompt>Run the declared generation pipeline. Every writer and reviewer is a fresh nested subagent. Host operations own staging, validation and publication. A review is an assessment, not evidence of executing the generated application.</systemPrompt>
  <tools><allow name="project_prepare_operation" /><allow name="project_store_operation" /><allow name="project_assemble_operation" /><allow name="project_inspect_operation" /><allow name="project_validate_operation" /><allow name="project_stage_operation" /><allow name="project_draft_read_operation" /><allow name="project_set_tests_operation" /></tools>
  <steps>
    <run scenario="project_design" result="design"><input name="name" value="{{name}}" /><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /></run>
    <tool name="project_prepare_operation" result="prepared"><input name="name" value="{{name}}" /><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="architecture" value="{{design.architecture}}" /></tool>
    <foreach items="prepared.tasks" item="task" collect="stored" result="components" limit="20" attempts="20">
      <run scenario="project_component" result="draft"><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="contract" value="{{prepared.contract}}" /><input name="task" value="{{task}}" /></run>
      <run scenario="project_review_component" result="reviewed"><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="contract" value="{{prepared.contract}}" /><input name="task" value="{{task}}" /><input name="draft" value="{{draft}}" /></run>
      <tool name="project_store_operation" result="stored"><input name="generation_id" value="{{prepared.generation_id}}" /><input name="task_id" value="{{task.id}}" /><input name="content" value="{{reviewed}}" /></tool>
    </foreach>
    <tool name="project_assemble_operation" result="assembled"><input name="generation_id" value="{{prepared.generation_id}}" /></tool>
    <run scenario="project_review_project" result="acceptance"><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="bundle" value="{{assembled.display}}" /><input name="diagnostics" value="{{observations}}" /></run>
    <run scenario="project_integrate" result="integrated"><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="architecture" value="{{design.architecture}}" /><input name="bundle" value="{{assembled.display}}" /><input name="diagnostics" value="{{acceptance}}" /></run>
    <tool name="project_validate_operation" result="validation"><input name="generation_id" value="{{prepared.generation_id}}" /><input name="bundle" value="{{integrated}}" /></tool>
    <run scenario="project_check" result="quality"><input name="generation_id" value="{{prepared.generation_id}}" /><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="observations" value="{{observations}}" /></run>
    <if input="quality.passed" equals="false">
      <then>
        <foreach items="prepared.repairs" item="attempt" collect="rechecked" result="repairs" limit="1" attempts="3" successProperty="passed">
          <tool name="project_inspect_operation" result="current"><input name="generation_id" value="{{prepared.generation_id}}" /></tool>
          <run scenario="project_integrate" result="repaired"><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="architecture" value="{{design.architecture}}" /><input name="bundle" value="{{current.display}}" /><input name="diagnostics" value="{{current.diagnostics}}" /></run>
          <tool name="project_validate_operation" result="repairValidation"><input name="generation_id" value="{{prepared.generation_id}}" /><input name="bundle" value="{{repaired}}" /></tool>
          <run scenario="project_check" result="rechecked"><input name="generation_id" value="{{prepared.generation_id}}" /><input name="kind" value="{{kind}}" /><input name="prd" value="{{prd}}" /><input name="observations" value="{{observations}}" /></run>
        </foreach>
      </then>
    </if>
    <tool name="project_stage_operation" result="staged"><input name="generation_id" value="{{prepared.generation_id}}" /></tool>
    <run scenario="project_plan_tests" result="receipt"><input name="id" value="{{staged.id}}" /></run>
  </steps>
  <exit mode="copy">Return the private-draft receipt and execution approval command unchanged. Nothing has executed or been published. Testing and publication have separate host decisions.</exit>
</scenario>