This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1280" viewBox="0 0 720 1280" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Путь учебного восстановления из archive</title>
|
||||
<desc id="desc">Вертикальный путь из шести этапов: scope, archive, checksum, список archive, изолированный кандидат, restore и смысловые проверки. У каждого этапа есть собственная причина остановить путь.</desc>
|
||||
<defs>
|
||||
<marker id="arrow" markerWidth="12" markerHeight="12" refX="6" refY="6" orient="auto">
|
||||
<path d="M1 1 L11 6 L1 11 Z" fill="#8b5b18"/>
|
||||
</marker>
|
||||
<style>
|
||||
.title { fill: #27223a; font: 700 34px system-ui, -apple-system, sans-serif; }
|
||||
.subtitle { fill: #5f5870; font: 400 21px system-ui, -apple-system, sans-serif; }
|
||||
.tag { fill: #8b5b18; font: 700 21px system-ui, -apple-system, sans-serif; }
|
||||
.label { fill: #27223a; font: 700 26px system-ui, -apple-system, sans-serif; }
|
||||
.body { fill: #4e485a; font: 400 22px system-ui, -apple-system, sans-serif; }
|
||||
.note { fill: #675f73; font: 400 20px system-ui, -apple-system, sans-serif; }
|
||||
</style>
|
||||
</defs>
|
||||
<rect width="720" height="1280" fill="#fbfaf7"/>
|
||||
<rect x="40" y="36" width="640" height="142" rx="24" fill="#fff2d8"/>
|
||||
<text x="72" y="88" class="title">Restore path</text>
|
||||
<text x="72" y="124" class="title">с остановками по пути</text>
|
||||
<text x="72" y="154" class="subtitle">Каждый gate исключает один класс неверного действия</text>
|
||||
|
||||
<line x1="116" y1="247" x2="116" y2="1105" stroke="#d8b26f" stroke-width="8" stroke-linecap="round"/>
|
||||
|
||||
<circle cx="116" cy="248" r="30" fill="#8b5b18"/>
|
||||
<text x="106" y="256" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">1</text>
|
||||
<rect x="170" y="194" width="500" height="110" rx="18" fill="#ffffff" stroke="#d8b26f" stroke-width="3"/>
|
||||
<text x="204" y="235" class="label">Прочитать scope</text>
|
||||
<text x="204" y="268" class="body">Что включено и что исключено?</text>
|
||||
<text x="204" y="292" class="note">Нет scope — нет разрешения на restore</text>
|
||||
|
||||
<circle cx="116" cy="420" r="30" fill="#8b5b18"/>
|
||||
<text x="106" y="428" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">2</text>
|
||||
<rect x="170" y="366" width="500" height="110" rx="18" fill="#ffffff" stroke="#d8b26f" stroke-width="3"/>
|
||||
<text x="204" y="407" class="label">Сверить checksum</text>
|
||||
<text x="204" y="440" class="body">Manifest и фактические bytes</text>
|
||||
<text x="204" y="464" class="note">Не совпали — archive не используем</text>
|
||||
|
||||
<circle cx="116" cy="592" r="30" fill="#8b5b18"/>
|
||||
<text x="106" y="600" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">3</text>
|
||||
<rect x="170" y="538" width="500" height="110" rx="18" fill="#ffffff" stroke="#d8b26f" stroke-width="3"/>
|
||||
<text x="204" y="579" class="label">Прочитать archive list</text>
|
||||
<text x="204" y="612" class="body">Expected relations присутствуют?</text>
|
||||
<text x="204" y="636" class="note">Нет — исправляем creation path</text>
|
||||
|
||||
<circle cx="116" cy="764" r="30" fill="#8b5b18"/>
|
||||
<text x="106" y="772" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">4</text>
|
||||
<rect x="170" y="710" width="500" height="110" rx="18" fill="#ffffff" stroke="#d8b26f" stroke-width="3"/>
|
||||
<text x="204" y="751" class="label">Подтвердить candidate</text>
|
||||
<text x="204" y="784" class="body">Изолирован и не является источником</text>
|
||||
<text x="204" y="808" class="note">Нет — drill корректно останавливается</text>
|
||||
|
||||
<circle cx="116" cy="936" r="30" fill="#8b5b18"/>
|
||||
<text x="106" y="944" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">5</text>
|
||||
<rect x="170" y="882" width="500" height="110" rx="18" fill="#ffffff" stroke="#d8b26f" stroke-width="3"/>
|
||||
<text x="204" y="923" class="label">Выполнить restore</text>
|
||||
<text x="204" y="956" class="body">Только в этот candidate</text>
|
||||
<text x="204" y="980" class="note">Exit code не становится финальным verdict</text>
|
||||
|
||||
<circle cx="116" cy="1108" r="30" fill="#26734d"/>
|
||||
<text x="106" y="1116" fill="#ffffff" font-family="system-ui, sans-serif" font-size="22" font-weight="700">6</text>
|
||||
<rect x="170" y="1054" width="500" height="118" rx="18" fill="#ffffff" stroke="#69af87" stroke-width="3"/>
|
||||
<text x="204" y="1095" class="label">Собрать evidence</text>
|
||||
<text x="204" y="1128" class="body">Relations, marker, safe counts</text>
|
||||
<text x="204" y="1152" class="note">И отдельно: что этот drill не проверял</text>
|
||||
|
||||
<text x="48" y="1230" class="tag">Правило: не перескакивать через gate ради «быстрого» restore.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
Reference in New Issue
Block a user