Files
progcode/web/public/assets/editorial/2024/release-engineering-2024-evidence-gate.svg
T
huncode 78dfdb6015
Build and deploy / deploy (push) Successful in 15s
revise July 2024 release engineering articles
2026-07-31 16:04:34 +03:00

63 lines
5.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="860" viewBox="0 0 1200 860" role="img" aria-labelledby="title desc">
<title id="title">Evidence gate для проверки release records</title>
<desc id="desc">Вертикальный маршрут проверяет release version, связь artifact с commit, target и compatibility migration, затем digest and migration version в rollout card. Любое нет идёт в stop and reconcile. Только все да идут к human review, а return draft отдельно не обещает data undo.</desc>
<rect width="1200" height="860" fill="#111827"/>
<rect x="40" y="30" width="1120" height="108" rx="22" fill="#1e3a5f" stroke="#60a5fa" stroke-width="3"/>
<text x="76" y="78" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Evidence gate: stop на первом broken relation</text>
<text x="76" y="114" fill="#bfdbfe" font-family="Arial, sans-serif" font-size="22">Fixed synthetic records проходят четыре questions; «да» — human review, не реальный deploy.</text>
<rect x="92" y="188" width="610" height="92" rx="18" fill="#172554" stroke="#60a5fa" stroke-width="3"/>
<text x="124" y="226" fill="#dbeafe" font-family="Arial, sans-serif" font-size="27" font-weight="700">1. Release version совпадает?</text>
<text x="124" y="258" fill="#bfdbfe" font-family="Arial, sans-serif" font-size="21">commit, artifact и rollout card называют один release</text>
<path d="M397 280 V308" fill="none" stroke="#60a5fa" stroke-width="6"/>
<path d="M397 308 L381 282 L413 282 Z" fill="#60a5fa"/>
<path d="M702 234 H818" fill="none" stroke="#fb7185" stroke-width="6"/>
<path d="M818 234 L792 218 L792 250 Z" fill="#fb7185"/>
<rect x="838" y="190" width="268" height="86" rx="16" fill="#4c0519" stroke="#fb7185" stroke-width="3"/>
<text x="870" y="228" fill="#ffe4e6" font-family="Arial, sans-serif" font-size="25" font-weight="700">Нет → STOP</text>
<text x="870" y="258" fill="#fecdd3" font-family="Arial, sans-serif" font-size="19">reconcile versions</text>
<rect x="92" y="318" width="610" height="92" rx="18" fill="#052e16" stroke="#4ade80" stroke-width="3"/>
<text x="124" y="356" fill="#dcfce7" font-family="Arial, sans-serif" font-size="27" font-weight="700">2. Artifact binds exact commit?</text>
<text x="124" y="388" fill="#bbf7d0" font-family="Arial, sans-serif" font-size="21">artifact.sourceCommitId = commit.id</text>
<path d="M397 410 V438" fill="none" stroke="#4ade80" stroke-width="6"/>
<path d="M397 438 L381 412 L413 412 Z" fill="#4ade80"/>
<path d="M702 364 H818" fill="none" stroke="#fb7185" stroke-width="6"/>
<path d="M818 364 L792 348 L792 380 Z" fill="#fb7185"/>
<rect x="838" y="320" width="268" height="86" rx="16" fill="#4c0519" stroke="#fb7185" stroke-width="3"/>
<text x="870" y="358" fill="#ffe4e6" font-family="Arial, sans-serif" font-size="25" font-weight="700">Нет → STOP</text>
<text x="870" y="388" fill="#fecdd3" font-family="Arial, sans-serif" font-size="19">reconcile source</text>
<rect x="92" y="448" width="610" height="104" rx="18" fill="#422006" stroke="#fbbf24" stroke-width="3"/>
<text x="124" y="486" fill="#fef3c7" font-family="Arial, sans-serif" font-size="27" font-weight="700">3. Migration target + compatibility?</text>
<text x="124" y="518" fill="#fde68a" font-family="Arial, sans-serif" font-size="21">target release matches; data boundary is named</text>
<path d="M397 552 V580" fill="none" stroke="#fbbf24" stroke-width="6"/>
<path d="M397 580 L381 554 L413 554 Z" fill="#fbbf24"/>
<path d="M702 498 H818" fill="none" stroke="#fb7185" stroke-width="6"/>
<path d="M818 498 L792 482 L792 514 Z" fill="#fb7185"/>
<rect x="838" y="452" width="268" height="96" rx="16" fill="#4c0519" stroke="#fb7185" stroke-width="3"/>
<text x="870" y="490" fill="#ffe4e6" font-family="Arial, sans-serif" font-size="25" font-weight="700">Нет → STOP</text>
<text x="870" y="520" fill="#fecdd3" font-family="Arial, sans-serif" font-size="19">review migration</text>
<rect x="92" y="590" width="610" height="92" rx="18" fill="#3f1d2e" stroke="#f472b6" stroke-width="3"/>
<text x="124" y="628" fill="#fce7f3" font-family="Arial, sans-serif" font-size="27" font-weight="700">4. Rollout card repeats digest?</text>
<text x="124" y="660" fill="#fbcfe8" font-family="Arial, sans-serif" font-size="21">requested digest + migration version are exact</text>
<path d="M702 636 H818" fill="none" stroke="#fb7185" stroke-width="6"/>
<path d="M818 636 L792 620 L792 652 Z" fill="#fb7185"/>
<rect x="838" y="592" width="268" height="86" rx="16" fill="#4c0519" stroke="#fb7185" stroke-width="3"/>
<text x="870" y="630" fill="#ffe4e6" font-family="Arial, sans-serif" font-size="25" font-weight="700">Нет → STOP</text>
<text x="870" y="660" fill="#fecdd3" font-family="Arial, sans-serif" font-size="19">reconcile intent</text>
<path d="M397 682 V710" fill="none" stroke="#4ade80" stroke-width="6"/>
<path d="M397 710 L381 684 L413 684 Z" fill="#4ade80"/>
<rect x="92" y="722" width="610" height="78" rx="18" fill="#14532d" stroke="#86efac" stroke-width="3"/>
<text x="124" y="770" fill="#dcfce7" font-family="Arial, sans-serif" font-size="28" font-weight="700">Да → human deploy review, not execution</text>
<rect x="744" y="722" width="362" height="78" rx="18" fill="#1e293b" stroke="#94a3b8" stroke-width="3"/>
<text x="770" y="756" fill="#e2e8f0" font-family="Arial, sans-serif" font-size="21" font-weight="700">Rollback draft: version + digest</text>
<text x="770" y="782" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="18">not data undo; not real deploy</text>
<text x="42" y="842" fill="#94a3b8" font-family="Arial, sans-serif" font-size="17">Static synthetic decision map only. It does not read CI, registry, cloud, logs or production state.</text>
</svg>