<?xml version='1.0' encoding='utf-8'?>
<mxfile host="app.diagrams.net" version="31.7.0">
  <diagram id="05-projects-v2-workflow" name="Plan and maintain a Projects v2 board">
    <mxGraphModel dx="1500" dy="1500" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1320" pageHeight="1550" math="0" shadow="0" background="#FFFFFF">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="title" value="Plan and maintain a Projects v2 board" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=30;fontColor=#0F172A;spacing=0;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="40" y="40" width="1240" height="48" as="geometry"/>
        </mxCell>
        <mxCell id="subtitle" value="Discover exact IDs first; every mutation revalidates its target. Tool labels omit the issueme_ prefix." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;spacing=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="100" width="1240" height="48" as="geometry"/>
        </mxCell>
        <mxCell id="boards" value="&lt;b&gt;1. Choose a board&lt;/b&gt;&lt;br&gt;list_projects&lt;br&gt;Repository / organization / user&lt;br&gt;Reuse discovered projectId&lt;br&gt;Token must reach that board" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="190" width="350" height="170" as="geometry"/>
        </mxCell>
        <mxCell id="fields" value="&lt;b&gt;2. Discover fields &amp;amp; values&lt;/b&gt;&lt;br&gt;get_project_fields&lt;br&gt;fieldId + optionId / iterationId&lt;br&gt;Text, number, date, select, iteration&lt;br&gt;Bounded options; inspect truncation" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="485" y="190" width="350" height="170" as="geometry"/>
        </mxCell>
        <mxCell id="items" value="&lt;b&gt;3. Find an existing item&lt;/b&gt;&lt;br&gt;list_project_items / get_project_item&lt;br&gt;Reuse itemId + issueNumber&lt;br&gt;Only in-scope repository issue items&lt;br&gt;Reads never add an item" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="930" y="190" width="350" height="170" as="geometry"/>
        </mxCell>
        <mxCell id="add" value="&lt;b&gt;If absent: add an OPEN issue&lt;/b&gt;&lt;br&gt;add_issue_to_project&lt;br&gt;Returns itemId; match scope/owner&lt;br&gt;Already present is safe to confirm" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#ECFDF5;strokeColor=#059669;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="930" y="480" width="350" height="150" as="geometry"/>
        </mxCell>
        <mxCell id="target" value="&lt;b&gt;4. Exact target tuple&lt;/b&gt;&lt;br&gt;projectId + itemId + issueNumber&lt;br&gt;Tool checks repository, identity,&lt;br&gt;creator scope, and action policy" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#FFFBEB;strokeColor=#D97706;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="485" y="480" width="350" height="150" as="geometry"/>
        </mxCell>
        <mxCell id="values" value="&lt;b&gt;Set or clear one value&lt;/b&gt;&lt;br&gt;update_project_item&lt;br&gt;Exactly one typed field value&lt;br&gt;clear_project_item_field to unset&lt;br&gt;Open OR closed backing issue" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#ECFDF5;strokeColor=#059669;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="790" width="350" height="190" as="geometry"/>
        </mxCell>
        <mxCell id="move" value="&lt;b&gt;Prioritize one item&lt;/b&gt;&lt;br&gt;move_project_item&lt;br&gt;Omit afterItemId → top&lt;br&gt;Or follow an item on same board&lt;br&gt;OPEN backing issue required" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#ECFDF5;strokeColor=#059669;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="485" y="790" width="350" height="190" as="geometry"/>
        </mxCell>
        <mxCell id="maintenance" value="&lt;b&gt;Retire / restore / remove&lt;/b&gt;&lt;br&gt;archive_project_item preserves values&lt;br&gt;Unarchive restores the same item&lt;br&gt;remove_issue_from_project loses values&lt;br&gt;confirmRemove; open OR closed issue" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#ECFDF5;strokeColor=#059669;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="930" y="790" width="350" height="190" as="geometry"/>
        </mxCell>
        <mxCell id="verify" value="&lt;b&gt;5. Inspect result and board state&lt;/b&gt;&lt;br&gt;get_project_item / list_project_items&lt;br&gt;Check result/status; read back as needed&lt;br&gt;Retry only work confirmed missing" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="485" y="1120" width="350" height="160" as="geometry"/>
        </mxCell>
        <mxCell id="note" value="&lt;b&gt;Board metadata is not issue state&lt;/b&gt;&lt;br&gt;Project-only changes never close/delete the issue or write its cache. Adding and moving require an OPEN issue.&lt;br&gt;Field updates, clears, archive/unarchive, and removal also accept CLOSED issues.&lt;br&gt;Use issue tools—not custom project fields—to change labels, assignees, or milestones." style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;spacing=18;fontFamily=Helvetica;fontSize=18;fontColor=#0F172A;fillColor=#FFFBEB;strokeColor=#D97706;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="1360" width="1240" height="150" as="geometry"/>
        </mxCell>
        <mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="boards" target="fields">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="435" y="275"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="fields" target="items">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="880" y="275"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="items" target="add">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1105" y="420"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0;exitY=0.8;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;dashed=1;" edge="1" parent="1" source="items" target="target">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="875" y="326"/>
              <mxPoint x="875" y="517.5"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="add" target="target">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="895" y="592.5"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.2;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="target" target="values">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="555" y="695"/>
              <mxPoint x="215" y="695"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="target" target="move">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="660" y="720"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.8;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="target" target="maintenance">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="765" y="725"/>
              <mxPoint x="1105" y="725"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="values" target="verify">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="215" y="1050"/>
              <mxPoint x="572.5" y="1050"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="move" target="verify">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="660" y="1050"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=2;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=17;fontColor=#334155;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="maintenance" target="verify">
          <mxGeometry x="0" y="0" relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1105" y="1070"/>
              <mxPoint x="747.5" y="1070"/>
            </Array>
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>