This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="900" height="540" viewBox="0 0 900 540" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Диагностика unknown outcome и безопасное восстановление черновика</title>
|
||||
<desc id="desc">Дерево решений показывает, как от отсутствия acknowledgement перейти к проверке ключей, игнорированию старого ответа, сохранению нового черновика или ручному восстановлению без ложного отката.</desc>
|
||||
<defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto"><path d="M0 0L10 5L0 10z" fill="#475569"/></marker><style>.box{stroke:#475569;stroke-width:3;rx:14}.h{font:700 22px Arial,sans-serif;fill:#0f172a}.t{font:17px Arial,sans-serif;fill:#334155}.s{font:15px Arial,sans-serif;fill:#64748b}.line{stroke:#475569;stroke-width:4;fill:none;marker-end:url(#arrow)}.q{font:700 16px Arial,sans-serif;fill:#7c3aed}</style></defs>
|
||||
<rect width="900" height="540" fill="#fbfdff"/>
|
||||
<text x="42" y="46" class="h">Диагностика: не угадывать результат, сохранить контролируемые данные</text>
|
||||
<rect x="324" y="84" width="252" height="90" class="box" fill="#fee2e2"/><text x="352" y="121" class="h">Нет acknowledgement</text><text x="352" y="151" class="t">visible: result unknown</text>
|
||||
<rect x="72" y="257" width="215" height="112" class="box" fill="#fef3c7"/><text x="94" y="296" class="h">Offline label?</text><text x="94" y="326" class="t">retry blocked</text><text x="94" y="350" class="s">draft retained</text>
|
||||
<rect x="343" y="257" width="215" height="112" class="box" fill="#dbeafe"/><text x="365" y="296" class="h">Reply пришёл?</text><text x="365" y="326" class="t">keys совпали?</text><text x="365" y="350" class="s">attempt + request + v</text>
|
||||
<rect x="631" y="257" width="215" height="112" class="box" fill="#e9d5ff"/><text x="653" y="296" class="h">Нужна сверка</text><text x="653" y="326" class="t">recovery required</text><text x="653" y="350" class="s">не transport rollback</text>
|
||||
<rect x="343" y="420" width="215" height="76" class="box" fill="#dcfce7"/><text x="365" y="452" class="h">Commit ack</text><text x="365" y="478" class="t">newer draft stays</text>
|
||||
<path d="M450 174V244H180V248" class="line"/><text x="228" y="231" class="q">нет retry</text>
|
||||
<path d="M450 174V248" class="line"/><text x="462" y="220" class="q">есть reply</text>
|
||||
<path d="M450 174V244H737V248" class="line"/><text x="620" y="231" class="q">оставить draft</text>
|
||||
<path d="M450 369V411" class="line"/><text x="464" y="397" class="q">current ack</text>
|
||||
<text x="45" y="523" class="s">Вопросы относятся к state machine. Реальная сеть, серверная сверка и persistence требуют отдельного теста с условиями.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
Reference in New Issue
Block a user