83 lines
4.4 KiB
XML
83 lines
4.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 720" role="img" aria-labelledby="title desc">
|
||
<title id="title">Цикл automated compatibility gate</title>
|
||
<desc id="desc">Пять шагов проводят fixed schema case через явное сравнение, required surface, manifest и capability consumer. У каждой ошибки есть отдельная красная ветка возврата, положительная ветка заканчивается ограниченным synthetic hand-off.</desc>
|
||
<defs>
|
||
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto">
|
||
<path d="M0,0 L10,5 L0,10 z" fill="#24415d"/>
|
||
</marker>
|
||
<marker id="redArrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto">
|
||
<path d="M0,0 L10,5 L0,10 z" fill="#b23a48"/>
|
||
</marker>
|
||
<style>
|
||
.bg { fill: #f6f8fb; }
|
||
.step { fill: #ffffff; stroke: #24415d; stroke-width: 3; }
|
||
.ok { fill: #e7f3ef; stroke: #237a57; stroke-width: 3; }
|
||
.stop { fill: #fdecee; stroke: #b23a48; stroke-width: 3; }
|
||
.line { stroke: #24415d; stroke-width: 4; fill: none; marker-end: url(#arrow); }
|
||
.red { stroke: #b23a48; stroke-width: 3; fill: none; marker-end: url(#redArrow); }
|
||
.title { font: 700 34px Arial, sans-serif; fill: #18324a; }
|
||
.label { font: 700 22px Arial, sans-serif; fill: #18324a; }
|
||
.text { font: 18px Arial, sans-serif; fill: #294860; }
|
||
.good { font: 700 18px Arial, sans-serif; fill: #126244; }
|
||
.bad { font: 700 16px Arial, sans-serif; fill: #8d2632; }
|
||
</style>
|
||
</defs>
|
||
<rect class="bg" width="960" height="720" rx="28"/>
|
||
<text class="title" x="56" y="68">У каждого stop есть своя причина</text>
|
||
|
||
<rect class="step" x="58" y="142" width="164" height="126" rx="18"/>
|
||
<text class="label" x="84" y="184">fixed case</text>
|
||
<text class="text" x="84" y="216">baseline</text>
|
||
<text class="text" x="84" y="242">candidate + reader</text>
|
||
|
||
<path class="line" d="M224 205 L286 205"/>
|
||
<rect class="step" x="292" y="142" width="164" height="126" rx="18"/>
|
||
<text class="label" x="318" y="184">relation</text>
|
||
<text class="text" x="318" y="216">direction</text>
|
||
<text class="text" x="318" y="242">family + versions</text>
|
||
|
||
<path class="line" d="M458 205 L520 205"/>
|
||
<rect class="step" x="526" y="142" width="164" height="126" rx="18"/>
|
||
<text class="label" x="552" y="184">schema diff</text>
|
||
<text class="text" x="552" y="216">required fields</text>
|
||
<text class="text" x="552" y="242">type changes</text>
|
||
|
||
<path class="line" d="M692 205 L754 205"/>
|
||
<rect class="step" x="760" y="142" width="150" height="126" rx="18"/>
|
||
<text class="label" x="784" y="184">manifest</text>
|
||
<text class="text" x="784" y="216">declared</text>
|
||
<text class="text" x="784" y="242">additions</text>
|
||
|
||
<path class="line" d="M835 270 L835 338"/>
|
||
<rect class="step" x="742" y="344" width="168" height="126" rx="18"/>
|
||
<text class="label" x="768" y="386">consumer</text>
|
||
<text class="text" x="768" y="418">required fields</text>
|
||
<text class="text" x="768" y="444">addition policy</text>
|
||
|
||
<path class="line" d="M740 407 L654 407"/>
|
||
<rect class="ok" x="432" y="344" width="216" height="126" rx="18"/>
|
||
<text class="good" x="458" y="388">SYNTHETIC</text>
|
||
<text class="good" x="458" y="418">REVIEW HAND-OFF</text>
|
||
<text class="text" x="458" y="446">no deploy effect</text>
|
||
|
||
<path class="red" d="M374 270 L374 330 L274 330 L274 518"/>
|
||
<rect class="stop" x="58" y="522" width="206" height="112" rx="16"/>
|
||
<text class="bad" x="80" y="560">implicit comparison</text>
|
||
<text class="text" x="80" y="590">name relation</text>
|
||
|
||
<path class="red" d="M608 270 L608 518 L508 518"/>
|
||
<rect class="stop" x="286" y="522" width="210" height="112" rx="16"/>
|
||
<text class="bad" x="308" y="560">backward break</text>
|
||
<text class="text" x="308" y="590">repair surface</text>
|
||
|
||
<path class="red" d="M836 270 L836 304 L724 304 L724 518"/>
|
||
<rect class="stop" x="520" y="522" width="190" height="112" rx="16"/>
|
||
<text class="bad" x="542" y="560">hidden field</text>
|
||
<text class="text" x="542" y="590">repair manifest</text>
|
||
|
||
<path class="red" d="M826 470 L826 506 L826 518"/>
|
||
<rect class="stop" x="734" y="522" width="176" height="112" rx="16"/>
|
||
<text class="bad" x="756" y="560">strict reader</text>
|
||
<text class="text" x="756" y="590">separate decision</text>
|
||
</svg>
|