<mxfile host="drawio" agent="study-site"><diagram id="d" name="seq-dev-3"><mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1030" pageHeight="758" math="0" shadow="0"><root><mxCell id="0" /><mxCell id="1" parent="0" /><mxCell id="title" value="開発 フェーズ3: 人のレビューと承認・マージ" style="text;html=1;fontSize=16;align=left;verticalAlign=middle;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="16" y="8" width="998" height="30" as="geometry" /></mxCell><mxCell id="arev" value="レビュー担当(人)" style="shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.user;sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#1E88E5;strokeColor=#ffffff;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="111" y="64" width="48" height="48" as="geometry" /></mxCell><mxCell id="accm" value="CodeCommit" style="sketch=0;outlineConnect=0;fontColor=#232F3E;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codecommit;fillColor=#4D27AA;" vertex="1" parent="1"><mxGeometry x="297" y="60" width="56" height="56" as="geometry" /></mxCell><mxCell id="arule" value="承認ルールテンプレート&lt;br&gt;(人1 + ビルド1 を要求)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1"><mxGeometry x="435" y="64" width="160" height="50" as="geometry" /></mxCell><mxCell id="aiam" value="IAM&lt;br&gt;(codecommit:References)" style="sketch=0;outlineConnect=0;fontColor=#232F3E;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;fillColor=#DD344C;" vertex="1" parent="1"><mxGeometry x="677" y="60" width="56" height="56" as="geometry" /></mxCell><mxCell id="adev" value="開発者" style="shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.user;sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#1E88E5;strokeColor=#ffffff;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="871" y="64" width="48" height="48" as="geometry" /></mxCell><mxCell id="m1" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="135" y="196" as="sourcePoint" /><mxPoint x="325" y="196" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t1" value="PR を開く(差分・コメント・テスト結果を読む)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="151" y="177" width="246.0" height="15" as="geometry" /></mxCell><mxCell id="n1" value="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="185" width="22" height="22" as="geometry" /></mxCell><mxCell id="m2" value="" style="endArrow=open;endFill=0;html=1;strokeWidth=1.5;dashed=1;strokeColor=#1565C0;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="242" as="sourcePoint" /><mxPoint x="135" y="242" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t2" value="差分・ビルドのコメント・承認状態" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1565C0;" vertex="1" parent="1"><mxGeometry x="151" y="223" width="182" height="15" as="geometry" /></mxCell><mxCell id="n2" value="2" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1565C0;fontColor=#1565C0;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="231" width="22" height="22" as="geometry" /></mxCell><mxCell id="m3" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="135" y="288" as="sourcePoint" /><mxPoint x="325" y="288" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t3" value="直してほしい点をコメント(PostCommentForPullRequest)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="151" y="269" width="305.4" height="15" as="geometry" /></mxCell><mxCell id="n3" value="3" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="277" width="22" height="22" as="geometry" /></mxCell><mxCell id="m4" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=1.5;dashed=1;strokeColor=#666666;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="334" as="sourcePoint" /><mxPoint x="895" y="334" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t4" value="通知(SNS 経由)。開発者はフェーズ1に戻って直し、push すると 2 が再度走る" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#555555;" vertex="1" parent="1"><mxGeometry x="341" y="315" width="407.0" height="15" as="geometry" /></mxCell><mxCell id="n4" value="4" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#666666;fontColor=#555555;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="314" y="323" width="22" height="22" as="geometry" /></mxCell><mxCell id="m5" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="135" y="380" as="sourcePoint" /><mxPoint x="325" y="380" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t5" value="承認(UpdatePullRequestApprovalState)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="151" y="361" width="226.4" height="15" as="geometry" /></mxCell><mxCell id="n5" value="5" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="369" width="22" height="22" as="geometry" /></mxCell><mxCell id="m6" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="426" as="sourcePoint" /><mxPoint x="515" y="426" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t6" value="承認が揃ったかの評価(EvaluatePullRequestApprovalRules)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="341" y="407" width="326.8" height="15" as="geometry" /></mxCell><mxCell id="n6" value="6" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="314" y="415" width="22" height="22" as="geometry" /></mxCell><mxCell id="m7" value="" style="endArrow=open;endFill=0;html=1;strokeWidth=1.5;dashed=1;strokeColor=#1565C0;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="515" y="472" as="sourcePoint" /><mxPoint x="325" y="472" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t7" value="approved / 不足(人の承認とビルドの承認の両方が要る)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1565C0;" vertex="1" parent="1"><mxGeometry x="341" y="453" width="295.6" height="15" as="geometry" /></mxCell><mxCell id="n7" value="7" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1565C0;fontColor=#1565C0;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="314" y="461" width="22" height="22" as="geometry" /></mxCell><mxCell id="m8" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="135" y="518" as="sourcePoint" /><mxPoint x="325" y="518" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t8" value="MergePullRequestBySquash など(main へ)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="151" y="499" width="237.4" height="15" as="geometry" /></mxCell><mxCell id="n8" value="8" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="507" width="22" height="22" as="geometry" /></mxCell><mxCell id="m9" value="" style="endArrow=block;endFill=1;html=1;strokeWidth=2;strokeColor=#1f2937;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="564" as="sourcePoint" /><mxPoint x="705" y="564" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t9" value="呼び出し元のロールに main へのマージ権限があるか" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1f2937;" vertex="1" parent="1"><mxGeometry x="341" y="545" width="274.2" height="15" as="geometry" /></mxCell><mxCell id="n9" value="9" style="ellipse;whiteSpace=wrap;html=1;fillColor=#1E88E5;strokeColor=none;fontColor=#FFFFFF;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="314" y="553" width="22" height="22" as="geometry" /></mxCell><mxCell id="m10" value="" style="endArrow=open;endFill=0;html=1;strokeWidth=1.5;dashed=1;strokeColor=#1565C0;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="705" y="610" as="sourcePoint" /><mxPoint x="325" y="610" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t10" value="許可(マージ担当のロール)/ 拒否(開発者・CI のロールには codecommit:References の Deny)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1565C0;" vertex="1" parent="1"><mxGeometry x="341" y="591" width="499.4" height="15" as="geometry" /></mxCell><mxCell id="n10" value="10" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1565C0;fontColor=#1565C0;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="314" y="599" width="22" height="22" as="geometry" /></mxCell><mxCell id="m11" value="" style="endArrow=open;endFill=0;html=1;strokeWidth=1.5;dashed=1;strokeColor=#1565C0;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="656" as="sourcePoint" /><mxPoint x="135" y="656" as="targetPoint" /></mxGeometry></mxCell><mxCell id="t11" value="マージコミット(または承認不足・権限なしのエラー)" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=bottom;fontColor=#1565C0;" vertex="1" parent="1"><mxGeometry x="151" y="637" width="271.4" height="15" as="geometry" /></mxCell><mxCell id="n11" value="11" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1565C0;fontColor=#1565C0;fontSize=11;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="124" y="645" width="22" height="22" as="geometry" /></mxCell><mxCell id="note" value="Claude はこのフェーズに登場しない(コメントに答えて直すのは開発者がフェーズ1で)。承認ルールの上書き権限も人に限る。" style="text;html=1;whiteSpace=wrap;fontSize=11;align=left;verticalAlign=top;fontColor=#555555;" vertex="1" parent="1"><mxGeometry x="30" y="708" width="970" height="26" as="geometry" /></mxCell><mxCell id="lrev" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#9ca3af;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="135" y="150" as="sourcePoint" /><mxPoint x="135" y="692" as="targetPoint" /></mxGeometry></mxCell><mxCell id="lccm" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#9ca3af;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="325" y="150" as="sourcePoint" /><mxPoint x="325" y="692" as="targetPoint" /></mxGeometry></mxCell><mxCell id="lrule" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#9ca3af;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="515" y="150" as="sourcePoint" /><mxPoint x="515" y="692" as="targetPoint" /></mxGeometry></mxCell><mxCell id="liam" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#9ca3af;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="705" y="150" as="sourcePoint" /><mxPoint x="705" y="692" as="targetPoint" /></mxGeometry></mxCell><mxCell id="ldev" value="" style="endArrow=none;dashed=1;html=1;strokeColor=#9ca3af;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="895" y="150" as="sourcePoint" /><mxPoint x="895" y="692" as="targetPoint" /></mxGeometry></mxCell></root></mxGraphModel></diagram></mxfile>