revise July 2024 release engineering articles
Build and deploy / deploy (push) Successful in 15s

This commit is contained in:
2026-07-31 16:04:34 +03:00
parent 48049ee0ca
commit 78dfdb6015
7 changed files with 952 additions and 1 deletions
@@ -0,0 +1,62 @@
<?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>

After

Width:  |  Height:  |  Size: 5.9 KiB