61 lines
4.7 KiB
XML
61 lines
4.7 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 860" role="img" aria-labelledby="title desc">
|
||
<title id="title">Петля evidence для инженерной автоматизации</title>
|
||
<desc id="desc">Вертикальная петля показывает, как preview и dry-run создают evidence, authority и approval проверяют scope, execute и audit trail фиксируют попытку, а verification наблюдает target. Красная ветка создаёт только rollback plan.</desc>
|
||
<rect width="375" height="860" fill="#0b1220"/>
|
||
<text x="22" y="33" fill="#f8fafc" font-family="Arial, sans-serif" font-size="18" font-weight="700">Evidence loop, а не «зелёный job»</text>
|
||
<text x="22" y="54" fill="#a5b4fc" font-family="Arial, sans-serif" font-size="12">Каждая карточка отвечает на другой вопрос</text>
|
||
<g font-family="Arial, sans-serif">
|
||
<g>
|
||
<rect x="24" y="82" width="327" height="78" rx="12" fill="#172554" stroke="#60a5fa"/>
|
||
<text x="42" y="110" fill="#dbeafe" font-size="15" font-weight="700">PREVIEW / DRY-RUN</text>
|
||
<text x="42" y="132" fill="#bfdbfe" font-size="12">что предлагается; какой источник</text>
|
||
<text x="42" y="148" fill="#bfdbfe" font-size="12">и какая side-effect boundary</text>
|
||
</g>
|
||
<path d="M187 160v22" stroke="#60a5fa" stroke-width="2"/>
|
||
<path d="M182 177l5 6 5-6" fill="none" stroke="#60a5fa" stroke-width="2"/>
|
||
<g>
|
||
<rect x="24" y="190" width="327" height="78" rx="12" fill="#172554" stroke="#60a5fa"/>
|
||
<text x="42" y="218" fill="#dbeafe" font-size="15" font-weight="700">SCOPE + AUTHORITY</text>
|
||
<text x="42" y="240" fill="#bfdbfe" font-size="12">exact ids, digest, selector, max count</text>
|
||
<text x="42" y="256" fill="#bfdbfe" font-size="12">scope wider than limit → STOP</text>
|
||
</g>
|
||
<path d="M187 268v22" stroke="#60a5fa" stroke-width="2"/>
|
||
<path d="M182 285l5 6 5-6" fill="none" stroke="#60a5fa" stroke-width="2"/>
|
||
<g>
|
||
<rect x="24" y="298" width="327" height="78" rx="12" fill="#172554" stroke="#60a5fa"/>
|
||
<text x="42" y="326" fill="#dbeafe" font-size="15" font-weight="700">APPROVAL BINDING</text>
|
||
<text x="42" y="348" fill="#bfdbfe" font-size="12">operation + preview + target + authority</text>
|
||
<text x="42" y="364" fill="#bfdbfe" font-size="12">digest mismatch → STOP</text>
|
||
</g>
|
||
<path d="M187 376v22" stroke="#34d399" stroke-width="2"/>
|
||
<path d="M182 393l5 6 5-6" fill="none" stroke="#34d399" stroke-width="2"/>
|
||
<g>
|
||
<rect x="24" y="406" width="327" height="76" rx="12" fill="#123524" stroke="#34d399"/>
|
||
<text x="42" y="434" fill="#d1fae5" font-size="15" font-weight="700">EXECUTE + AUDIT EVENT</text>
|
||
<text x="42" y="456" fill="#a7f3d0" font-size="12">attempt recorded with links and result</text>
|
||
<text x="42" y="472" fill="#a7f3d0" font-size="12">receipt is not target state</text>
|
||
</g>
|
||
<path d="M187 482v22" stroke="#fbbf24" stroke-width="2"/>
|
||
<path d="M182 499l5 6 5-6" fill="none" stroke="#fbbf24" stroke-width="2"/>
|
||
<g>
|
||
<rect x="24" y="512" width="327" height="76" rx="12" fill="#3b2f0b" stroke="#fbbf24"/>
|
||
<text x="42" y="540" fill="#fef3c7" font-size="15" font-weight="700">INDEPENDENT VERIFY</text>
|
||
<text x="42" y="562" fill="#fde68a" font-size="12">authoritative reader compares expected</text>
|
||
<text x="42" y="578" fill="#fde68a" font-size="12">and observed state on exact scope</text>
|
||
</g>
|
||
<path d="M187 588v22" stroke="#fb7185" stroke-width="2"/>
|
||
<path d="M182 605l5 6 5-6" fill="none" stroke="#fb7185" stroke-width="2"/>
|
||
<g>
|
||
<rect x="24" y="618" width="327" height="120" rx="12" fill="#4c1020" stroke="#fb7185" stroke-width="2"/>
|
||
<text x="42" y="648" fill="#ffe4e6" font-size="16" font-weight="700">UNKNOWN / MISMATCH → STOP</text>
|
||
<text x="42" y="672" fill="#fecdd3" font-size="12">preserve reason and observed subset</text>
|
||
<text x="42" y="692" fill="#fecdd3" font-size="12">new inventory → new bounded rollback plan</text>
|
||
<text x="42" y="712" fill="#fecdd3" font-size="12">new authority + preview + approval before write</text>
|
||
</g>
|
||
<path d="M187 738v28c0 12 18 12 18 0v-626" fill="none" stroke="#818cf8" stroke-width="2" stroke-dasharray="5 5"/>
|
||
<path d="M200 144l5 -7 5 7" fill="none" stroke="#818cf8" stroke-width="2"/>
|
||
</g>
|
||
<text x="22" y="807" fill="#c4b5fd" font-family="Arial, sans-serif" font-size="12">Пунктир: новый plan начинается с нового preview и approval.</text>
|
||
<text x="22" y="834" fill="#94a3b8" font-family="Arial, sans-serif" font-size="10">Audit = trace; verification = observed state. Они не равны.</text>
|
||
</svg>
|