Files
progcode/web/public/assets/editorial/2026/migration-playbook-2026-phase-decision-gates.svg
T
huncode f312d7a598
Build and deploy / deploy (push) Successful in 15s
revise July 2026 migration playbook articles
2026-07-31 19:43:02 +03:00

10 lines
3.0 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="720" height="900" viewBox="0 0 720 900" role="img" aria-labelledby="title desc">
<title id="title">Фазы и decision gates migration playbook</title><desc id="desc">Четыре фазы: inventory, data state, traffic slice и review evidence. На неполном входе три ветки ведут к точным stop, а положительный выход остаётся синтетическим hand-off.</desc>
<rect width="720" height="900" fill="#0b1220"/><g font-family="Arial,sans-serif"><text x="32" y="54" fill="#f1f5f9" font-size="26" font-weight="700">Фазу открывает evidence, не целевая схема</text><text x="32" y="84" fill="#cbd5e1" font-size="20">Все поля — fixed synthetic literals в памяти.</text>
<g fill="#152b42" stroke="#76acd9" stroke-width="3"><rect x="40" y="132" width="286" height="128" rx="16"/><rect x="394" y="132" width="286" height="128" rx="16"/><rect x="40" y="336" width="286" height="128" rx="16"/></g><rect x="394" y="336" width="286" height="128" rx="16" fill="#143c35" stroke="#72d5b4" stroke-width="3"/>
<g fill="#e6f2ff" font-size="23" font-weight="700"><text x="74" y="178">1. INVENTORY</text><text x="428" y="178">2. DATA STATE</text><text x="74" y="382">3. TRAFFIC SLICE</text><text x="428" y="382">4. REVIEW EVIDENCE</text></g><g fill="#cbd5e1" font-size="20"><text x="74" y="214">route · owner · dependency</text><text x="428" y="214">copy · reconcile · restore</text><text x="74" y="418">control + candidate route</text><text x="428" y="418">только synthetic hand-off</text></g>
<g fill="none" stroke="#7dd3fc" stroke-width="4"><path d="M326 196H394"/><path d="M537 260v76"/><path d="M394 400H326"/></g><path d="M394 196l-14-9v18zM537 336l-9-14h18zM326 400l14-9v18z" fill="#7dd3fc"/>
<g fill="#48242b" stroke="#ff94a0" stroke-width="3"><rect x="40" y="544" width="200" height="92" rx="14"/><rect x="260" y="544" width="200" height="92" rx="14"/><rect x="480" y="544" width="200" height="92" rx="14"/></g><g fill="#ffe4e6" font-size="20" font-weight="700"><text x="66" y="582">STOP: inventory</text><text x="284" y="582">STOP: data</text><text x="504" y="582">STOP: rollback</text></g><g fill="#fecdd3" font-size="18"><text x="66" y="614">имя связи отсутствует</text><text x="284" y="614">нет restore state</text><text x="504" y="614">нет trigger</text></g>
<path d="M180 464v80M360 464v80M540 464v80" fill="none" stroke="#ff94a0" stroke-width="4"/><text x="40" y="730" fill="#cbd5e1" font-size="21">Зелёная ветка не запускает переход, не меняет traffic</text><text x="40" y="762" fill="#cbd5e1" font-size="21">и не подтверждает состояние данных. Она передаёт review.</text><text x="40" y="842" fill="#94a3b8" font-size="20">Каждый stop называет недостающий факт, а не предлагает догадку.</text></g>
</svg>