<mxfile host="app.diagrams.net" version="24.0.0">
  <diagram name="Pipeline" id="pipeline">
    <mxGraphModel dx="1200" dy="700" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="700" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <mxCell id="banner" value="Invariant 1 — the spec commit timestamp must predate every run.&#10;CI rejects any run where git log shows the spec was edited after data was examined." style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fafaf8;strokeColor=#ececec;fontSize=12;align=left;verticalAlign=middle;spacingLeft=16;" vertex="1" parent="1">
          <mxGeometry x="50" y="40" width="1100" height="50" as="geometry" />
        </mxCell>

        <mxCell id="s1" value="Spec commit&#10;hypothesis.yaml" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#1f1f1f;" vertex="1" parent="1">
          <mxGeometry x="60" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="s2" value="Schema + preflight&#10;CI validates" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#1f1f1f;" vertex="1" parent="1">
          <mxGeometry x="250" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="s3" value="Vintage pin&#10;data/vintages/*" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fafaf8;strokeColor=#8a8a8a;" vertex="1" parent="1">
          <mxGeometry x="440" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="s4" value="Run&#10;replication.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1ecf5;strokeColor=#1f4e79;fontColor=#1f4e79;" vertex="1" parent="1">
          <mxGeometry x="630" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="s5" value="Artifacts&#10;diagnostics + card" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1ecf5;strokeColor=#1f4e79;fontColor=#1f4e79;" vertex="1" parent="1">
          <mxGeometry x="820" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="s6" value="Publish&#10;/h/&lt;id&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1ecf5;strokeColor=#1f4e79;fontColor=#1f4e79;" vertex="1" parent="1">
          <mxGeometry x="1010" y="200" width="140" height="90" as="geometry" />
        </mxCell>

        <mxCell style="endArrow=classic;html=1;" edge="1" parent="1" source="s1" target="s2"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell style="endArrow=classic;html=1;" edge="1" parent="1" source="s2" target="s3"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell style="endArrow=classic;html=1;" edge="1" parent="1" source="s3" target="s4"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell style="endArrow=classic;html=1;" edge="1" parent="1" source="s4" target="s5"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell style="endArrow=classic;html=1;" edge="1" parent="1" source="s5" target="s6"><mxGeometry relative="1" as="geometry" /></mxCell>

        <mxCell id="review" value="Adversarial review&#10;challenges paid + credited;&#10;refutation reruns the spec" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fdf1da;strokeColor=#b7791f;fontColor=#b7791f;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="440" y="400" width="320" height="90" as="geometry" />
        </mxCell>

        <mxCell style="endArrow=classic;html=1;strokeColor=#b7791f;exitX=0.5;exitY=1;entryX=1;entryY=0;" edge="1" parent="1" source="s6" target="review">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell style="endArrow=classic;html=1;strokeColor=#b7791f;dashed=1;exitX=0;exitY=0.5;entryX=0;entryY=1;" edge="1" parent="1" source="review" target="s1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <mxCell id="note" value="Every step is git-tracked. Commit timestamps are the proof-of-work; any reader can verify pre-registration precedes estimation." style="text;html=1;strokeColor=none;fillColor=none;fontSize=11;fontColor=#636363;" vertex="1" parent="1">
          <mxGeometry x="60" y="540" width="1090" height="24" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
