This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="820" viewBox="0 0 1200 820" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Цепочка доказательств релиза от commit до rollout intent</title>
|
||||
<desc id="desc">Четыре versioned synthetic objects образуют цепочку: commit, artifact, migration plan и rollout card. Каждая стрелка требует точного совпадения. Нижняя полоса отделяет human review и rollback draft от реального deploy и data undo.</desc>
|
||||
<rect width="1200" height="820" fill="#0f172a"/>
|
||||
<rect x="42" y="34" width="1116" height="108" rx="22" fill="#172554" stroke="#60a5fa" stroke-width="3"/>
|
||||
<text x="76" y="80" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Release evidence: версия должна пройти четыре связи</text>
|
||||
<text x="76" y="114" fill="#bfdbfe" font-family="Arial, sans-serif" font-size="22">commit → artifact → migration plan → rollout intent; совпадение label не заменяет exact relation</text>
|
||||
|
||||
<rect x="54" y="188" width="468" height="180" rx="20" fill="#172554" stroke="#60a5fa" stroke-width="3"/>
|
||||
<text x="84" y="232" fill="#dbeafe" font-family="Arial, sans-serif" font-size="29" font-weight="700">1. Commit</text>
|
||||
<text x="84" y="270" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24">version: 2024.07.0</text>
|
||||
<text x="84" y="304" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24">id: synthetic-commit-7f4a0c1</text>
|
||||
<text x="84" y="338" fill="#bfdbfe" font-family="Arial, sans-serif" font-size="21">Исходная revision, не branch label</text>
|
||||
|
||||
<path d="M522 278 H664" fill="none" stroke="#60a5fa" stroke-width="7" stroke-linecap="round"/>
|
||||
<path d="M664 278 L632 259 L632 297 Z" fill="#60a5fa"/>
|
||||
|
||||
<rect x="678" y="188" width="468" height="180" rx="20" fill="#052e16" stroke="#4ade80" stroke-width="3"/>
|
||||
<text x="708" y="232" fill="#dcfce7" font-family="Arial, sans-serif" font-size="29" font-weight="700">2. Artifact</text>
|
||||
<text x="708" y="270" fill="#f0fdf4" font-family="Arial, sans-serif" font-size="24">version: 2024.07.0</text>
|
||||
<text x="708" y="304" fill="#f0fdf4" font-family="Arial, sans-serif" font-size="24">digest: sha256:…-a1</text>
|
||||
<text x="708" y="338" fill="#bbf7d0" font-family="Arial, sans-serif" font-size="21">sourceCommitId = commit.id</text>
|
||||
|
||||
<path d="M912 368 V416" fill="none" stroke="#4ade80" stroke-width="7" stroke-linecap="round"/>
|
||||
<path d="M912 416 L893 384 L931 384 Z" fill="#4ade80"/>
|
||||
|
||||
<rect x="678" y="438" width="468" height="180" rx="20" fill="#422006" stroke="#fbbf24" stroke-width="3"/>
|
||||
<text x="708" y="482" fill="#fef3c7" font-family="Arial, sans-serif" font-size="29" font-weight="700">3. Migration plan</text>
|
||||
<text x="708" y="520" fill="#fef3c7" font-family="Arial, sans-serif" font-size="24">target: 2024.07.0</text>
|
||||
<text x="708" y="554" fill="#fef3c7" font-family="Arial, sans-serif" font-size="24">compatibility declared</text>
|
||||
<text x="708" y="588" fill="#fde68a" font-family="Arial, sans-serif" font-size="21">Data effect — отдельный review</text>
|
||||
|
||||
<path d="M678 528 H536" fill="none" stroke="#fbbf24" stroke-width="7" stroke-linecap="round"/>
|
||||
<path d="M536 528 L568 509 L568 547 Z" fill="#fbbf24"/>
|
||||
|
||||
<rect x="54" y="438" width="468" height="180" rx="20" fill="#3f1d2e" stroke="#f472b6" stroke-width="3"/>
|
||||
<text x="84" y="482" fill="#fce7f3" font-family="Arial, sans-serif" font-size="29" font-weight="700">4. Rollout card</text>
|
||||
<text x="84" y="520" fill="#fce7f3" font-family="Arial, sans-serif" font-size="24">version + digest + migration</text>
|
||||
<text x="84" y="554" fill="#fce7f3" font-family="Arial, sans-serif" font-size="24">state: proposed, not executed</text>
|
||||
<text x="84" y="588" fill="#fbcfe8" font-family="Arial, sans-serif" font-size="21">Intent, не deploy result</text>
|
||||
|
||||
<rect x="54" y="682" width="1092" height="96" rx="18" fill="#1e293b" stroke="#94a3b8" stroke-width="2"/>
|
||||
<text x="82" y="722" fill="#e2e8f0" font-family="Arial, sans-serif" font-size="25" font-weight="700">Все relations true → только human deploy review</text>
|
||||
<text x="82" y="754" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="21">Rollback draft хранит return version + digest; он не запускает deploy и не обещает data undo.</text>
|
||||
|
||||
<text x="54" y="806" fill="#94a3b8" font-family="Arial, sans-serif" font-size="17">Static fixed synthetic teaching records only — not CI, artifact registry, cloud, delivery log or production rollout.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
@@ -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 |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="820" viewBox="0 0 1200 820" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Матрица controlled rollback для версии, artifact, migration и rollout</title>
|
||||
<desc id="desc">Таблица показывает четыре части rollback decision. Code and artifact получают versioned return point; migration требует отдельного review, rollout card остаётся намерением, а evidence record нужно сверить до действия. Внизу указано, что схема не является реальным deploy.</desc>
|
||||
<rect width="1200" height="820" fill="#f8fafc"/>
|
||||
<rect x="40" y="32" width="1120" height="110" rx="22" fill="#1e293b"/>
|
||||
<text x="76" y="80" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Rollback: версия, artifact и migration</text>
|
||||
<text x="76" y="116" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">Return point — versioned decision draft. Он не равен автоматическому откату данных или реальному rollout.</text>
|
||||
|
||||
<rect x="48" y="184" width="252" height="82" fill="#0f172a"/>
|
||||
<rect x="300" y="184" width="294" height="82" fill="#0f172a"/>
|
||||
<rect x="594" y="184" width="320" height="82" fill="#0f172a"/>
|
||||
<rect x="914" y="184" width="238" height="82" fill="#0f172a"/>
|
||||
<text x="72" y="233" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24" font-weight="700">Часть</text>
|
||||
<text x="324" y="233" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24" font-weight="700">Return record</text>
|
||||
<text x="618" y="233" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24" font-weight="700">Проверить до действия</text>
|
||||
<text x="938" y="233" fill="#f8fafc" font-family="Arial, sans-serif" font-size="24" font-weight="700">Граница</text>
|
||||
|
||||
<rect x="48" y="266" width="1104" height="106" fill="#e0f2fe" stroke="#7dd3fc" stroke-width="2"/>
|
||||
<text x="72" y="310" fill="#0c4a6e" font-family="Arial, sans-serif" font-size="25" font-weight="700">Code + artifact</text>
|
||||
<text x="324" y="306" fill="#0f172a" font-family="Arial, sans-serif" font-size="23">2024.06.3</text>
|
||||
<text x="324" y="338" fill="#0f172a" font-family="Arial, sans-serif" font-size="21">sha256:…-z9</text>
|
||||
<text x="618" y="306" fill="#0f172a" font-family="Arial, sans-serif" font-size="21">Exact version and digest</text>
|
||||
<text x="618" y="338" fill="#0f172a" font-family="Arial, sans-serif" font-size="21">belong to known return point</text>
|
||||
<text x="938" y="306" fill="#0f172a" font-family="Arial, sans-serif" font-size="21">Draft only</text>
|
||||
<text x="938" y="338" fill="#0f172a" font-family="Arial, sans-serif" font-size="21">not a deploy</text>
|
||||
|
||||
<rect x="48" y="372" width="1104" height="106" fill="#fef3c7" stroke="#fbbf24" stroke-width="2"/>
|
||||
<text x="72" y="416" fill="#78350f" font-family="Arial, sans-serif" font-size="25" font-weight="700">Migration</text>
|
||||
<text x="324" y="412" fill="#422006" font-family="Arial, sans-serif" font-size="21">Compatibility window</text>
|
||||
<text x="324" y="444" fill="#422006" font-family="Arial, sans-serif" font-size="21">named, not assumed</text>
|
||||
<text x="618" y="412" fill="#422006" font-family="Arial, sans-serif" font-size="21">Data effect and reverse</text>
|
||||
<text x="618" y="444" fill="#422006" font-family="Arial, sans-serif" font-size="21">procedure have owners</text>
|
||||
<text x="938" y="412" fill="#422006" font-family="Arial, sans-serif" font-size="21">No automatic</text>
|
||||
<text x="938" y="444" fill="#422006" font-family="Arial, sans-serif" font-size="21">data undo</text>
|
||||
|
||||
<rect x="48" y="478" width="1104" height="106" fill="#fce7f3" stroke="#f9a8d4" stroke-width="2"/>
|
||||
<text x="72" y="522" fill="#831843" font-family="Arial, sans-serif" font-size="25" font-weight="700">Rollout card</text>
|
||||
<text x="324" y="518" fill="#500724" font-family="Arial, sans-serif" font-size="21">Previous version +</text>
|
||||
<text x="324" y="550" fill="#500724" font-family="Arial, sans-serif" font-size="21">previous digest intent</text>
|
||||
<text x="618" y="518" fill="#500724" font-family="Arial, sans-serif" font-size="21">Card repeats exact</text>
|
||||
<text x="618" y="550" fill="#500724" font-family="Arial, sans-serif" font-size="21">immutable artifact identity</text>
|
||||
<text x="938" y="518" fill="#500724" font-family="Arial, sans-serif" font-size="21">Not history,</text>
|
||||
<text x="938" y="550" fill="#500724" font-family="Arial, sans-serif" font-size="21">not execution</text>
|
||||
|
||||
<rect x="48" y="584" width="1104" height="106" fill="#dcfce7" stroke="#86efac" stroke-width="2"/>
|
||||
<text x="72" y="628" fill="#14532d" font-family="Arial, sans-serif" font-size="25" font-weight="700">Evidence gate</text>
|
||||
<text x="324" y="624" fill="#14532d" font-family="Arial, sans-serif" font-size="21">Canonical fixed report</text>
|
||||
<text x="324" y="656" fill="#14532d" font-family="Arial, sans-serif" font-size="21">before decision draft</text>
|
||||
<text x="618" y="624" fill="#14532d" font-family="Arial, sans-serif" font-size="21">Every link passes;</text>
|
||||
<text x="618" y="656" fill="#14532d" font-family="Arial, sans-serif" font-size="21">mismatch means stop</text>
|
||||
<text x="938" y="624" fill="#14532d" font-family="Arial, sans-serif" font-size="21">Human review</text>
|
||||
<text x="938" y="656" fill="#14532d" font-family="Arial, sans-serif" font-size="21">still required</text>
|
||||
|
||||
<rect x="48" y="724" width="1104" height="54" rx="14" fill="#fee2e2" stroke="#f87171" stroke-width="2"/>
|
||||
<text x="76" y="758" fill="#7f1d1d" font-family="Arial, sans-serif" font-size="22" font-weight="700">Fixture boundary: no real CI, artifact registry, deploy, cloud, logs, production state or migration execution.</text>
|
||||
<text x="48" y="808" fill="#64748b" font-family="Arial, sans-serif" font-size="17">Static diagram of a teaching contract; it does not report delivery status or authorize rollback.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
Reference in New Issue
Block a user