<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="Electron" modified="2026-02-23T08:00:00.000Z" agent="draw.io" version="24.0.0">
  <diagram name="Copilot Workflow" id="copilot-workflow">
    <mxGraphModel dx="1300" dy="800" grid="1" gridSize="10">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <!-- Title -->
        <mxCell id="title" value="GitHub Copilot Workflow — Angular 21 + .NET 10 Team (Part 8)" style="text;html=1;strokeColor=none;fillColor=none;align=center;fontSize=17;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="80" y="20" width="1030" height="40" as="geometry" />
        </mxCell>

        <!-- Copilot brain -->
        <mxCell id="copilot" value="GitHub Copilot" style="ellipse;fillColor=#1a1a2e;fontColor=#ffffff;strokeColor=#0f3460;fontSize=14;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="470" y="90" width="220" height="70" as="geometry" />
        </mxCell>

        <!-- Inputs to Copilot -->
        <mxCell id="ws-inst" value="&lt;b&gt;.github/copilot-instructions.md&lt;/b&gt;&lt;br/&gt;Stack conventions · Angular 21 rules&lt;br/&gt;.NET 10 conventions · naming" style="rounded=1;fillColor=#E3F2FD;strokeColor=#1565C0;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="80" width="260" height="70" as="geometry" />
        </mxCell>
        <mxCell id="custom-inst" value="&lt;b&gt;.github/instructions/*.md&lt;/b&gt;&lt;br/&gt;angular-component.instructions.md&lt;br/&gt;dotnet-endpoint.instructions.md" style="rounded=1;fillColor=#E3F2FD;strokeColor=#1565C0;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="200" width="260" height="70" as="geometry" />
        </mxCell>
        <mxCell id="mcp-server" value="&lt;b&gt;Angular MCP Server&lt;/b&gt;&lt;br/&gt;@angular/mcp — project awareness&lt;br/&gt;CLI schematics via AI prompt" style="rounded=1;fillColor=#E8F5E9;strokeColor=#2E7D32;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="320" width="260" height="70" as="geometry" />
        </mxCell>
        <mxCell id="copilotignore" value="&lt;b&gt;.copilotignore&lt;/b&gt;&lt;br/&gt;Excludes secrets, generated code&lt;br/&gt;appsettings.*.json · /generated/" style="rounded=1;fillColor=#FFEBEE;strokeColor=#C62828;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="430" width="260" height="65" as="geometry" />
        </mxCell>

        <!-- Arrows to Copilot -->
        <mxCell id="a1" edge="1" source="ws-inst" target="copilot" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#1565C0;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="a2" edge="1" source="custom-inst" target="copilot" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#1565C0;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="a3" edge="1" source="mcp-server" target="copilot" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#2E7D32;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>

        <!-- Outputs from Copilot -->
        <mxCell id="out-comp" value="&lt;b&gt;Component generation&lt;/b&gt;&lt;br/&gt;Standalone · inject() · OnPush&lt;br/&gt;Matches project conventions" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F57F17;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="860" y="60" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="out-test" value="&lt;b&gt;Test generation&lt;/b&gt;&lt;br/&gt;Vitest spec files&lt;br/&gt;xUnit .NET tests" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F57F17;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="860" y="165" width="230" height="65" as="geometry" />
        </mxCell>
        <mxCell id="out-arch" value="&lt;b&gt;Architecture analysis&lt;/b&gt;&lt;br/&gt;Race condition review&lt;br/&gt;ADR drafting · @workspace" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F57F17;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="860" y="260" width="230" height="65" as="geometry" />
        </mxCell>
        <mxCell id="out-adr" value="&lt;b&gt;Documentation&lt;/b&gt;&lt;br/&gt;ADR templates · README&lt;br/&gt;Inline code comments" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F57F17;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="860" y="355" width="230" height="65" as="geometry" />
        </mxCell>

        <mxCell id="b1" edge="1" source="copilot" target="out-comp" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#F57F17;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="b2" edge="1" source="copilot" target="out-test" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#F57F17;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="b3" edge="1" source="copilot" target="out-arch" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#F57F17;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="b4" edge="1" source="copilot" target="out-adr" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#F57F17;strokeWidth=2;" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>

        <!-- Team roles -->
        <mxCell id="team-bg" value="Team Usage Patterns" style="swimlane;startSize=30;fillColor=#f5f5f5;strokeColor=#666;fontSize=12;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="540" width="1030" height="120" as="geometry" />
        </mxCell>
        <mxCell id="tm-junior" value="Junior .NET Dev&lt;br/&gt;&lt;b&gt;Autocomplete&lt;/b&gt;&lt;br/&gt;Template syntax help&lt;br/&gt;+40% first-component speed" style="rounded=1;fillColor=#E3F2FD;strokeColor=#1565C0;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="team-bg">
          <mxGeometry x="20" y="35" width="220" height="70" as="geometry" />
        </mxCell>
        <mxCell id="tm-mid" value="Mid Angular Dev&lt;br/&gt;&lt;b&gt;Chat for boilerplate&lt;/b&gt;&lt;br/&gt;Interceptors · guards · pipes&lt;br/&gt;+30% less doc context-switching" style="rounded=1;fillColor=#E8F5E9;strokeColor=#2E7D32;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="team-bg">
          <mxGeometry x="270" y="35" width="220" height="70" as="geometry" />
        </mxCell>
        <mxCell id="tm-lead" value="Tech Lead&lt;br/&gt;&lt;b&gt;@workspace analysis&lt;/b&gt;&lt;br/&gt;ADR review · arch Q&amp;A&lt;br/&gt;+20% decision documentation" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F57F17;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="team-bg">
          <mxGeometry x="520" y="35" width="220" height="70" as="geometry" />
        </mxCell>
        <mxCell id="tm-limits" value="NOT replaced by Copilot&lt;br/&gt;Code review judgment&lt;br/&gt;Architecture decisions&lt;br/&gt;Customer problem understanding" style="rounded=1;fillColor=#FFEBEE;strokeColor=#C62828;fontSize=11;whiteSpace=wrap;html=1;" vertex="1" parent="team-bg">
          <mxGeometry x="770" y="35" width="235" height="70" as="geometry" />
        </mxCell>

      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
