Files
progcode/web/public/assets/editorial/2024/adr-decisions-2024-reassessment-loop.svg
huncode c8bb90f435
Build and deploy / deploy (push) Successful in 17s
revise September 2024 ADR decision articles
2026-07-31 16:22:39 +03:00

76 lines
4.8 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 980" role="img" aria-labelledby="title desc">
<title id="title">Цикл reassessment для ADR</title>
<desc id="desc">Петля из шести шагов: accepted ADR, сигнал изменения, проверка исходных assumptions и links, разрешённое evidence, proposed successor, human acceptance и связь Superseded. Отдельная подпись показывает, что implementation change и rollback остаются отдельным маршрутом.</desc>
<defs>
<linearGradient id="background" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#fcfbff"/>
<stop offset="1" stop-color="#eff8f5"/>
</linearGradient>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto">
<path d="M0 0 L10 5 L0 10 Z" fill="#34506c"/>
</marker>
<style>
.title { fill: #142b45; font: 700 34px Arial, sans-serif; }
.subtitle { fill: #58738e; font: 18px Arial, sans-serif; }
.node-title { fill: #173653; font: 700 21px Arial, sans-serif; }
.node-text { fill: #36546f; font: 16px Arial, sans-serif; }
.small { fill: #61788c; font: 15px Arial, sans-serif; }
.arrow { fill: none; stroke: #34506c; stroke-width: 4; marker-end: url(#arrow); }
.accepted { fill: #e9ecfb; stroke: #7d6cc0; stroke-width: 2; }
.signal { fill: #fff0d7; stroke: #de9731; stroke-width: 2; }
.check { fill: #e3f3ef; stroke: #42a383; stroke-width: 2; }
.proposal { fill: #e8f0fb; stroke: #4c89c4; stroke-width: 2; }
.warn { fill: #fff9ef; stroke: #d8b56d; stroke-width: 2; }
</style>
</defs>
<rect width="720" height="980" rx="32" fill="url(#background)"/>
<text x="52" y="62" class="title">ADR: reassessment loop</text>
<text x="52" y="92" class="subtitle">Проверяем assumption, не редактируем историю.</text>
<text x="52" y="114" class="subtitle">Compliance требует отдельного evidence.</text>
<rect x="245" y="132" width="230" height="106" rx="22" class="accepted"/>
<text x="300" y="169" class="node-title">Accepted ADR</text>
<text x="274" y="197" class="node-text">context · choice · price</text>
<text x="287" y="219" class="small">links and review signal</text>
<path d="M475 184 C587 184 618 280 570 330" class="arrow"/>
<rect x="472" y="330" width="190" height="118" rx="22" class="signal"/>
<text x="516" y="368" class="node-title">Signal drift</text>
<text x="493" y="396" class="node-text">contract changed</text>
<text x="493" y="418" class="node-text">owner or bound drift</text>
<path d="M472 388 H404" class="arrow"/>
<rect x="68" y="330" width="336" height="118" rx="22" class="check"/>
<text x="104" y="367" class="node-title">Сверить исходную границу</text>
<text x="104" y="395" class="node-text">assumptions · contract link</text>
<text x="104" y="418" class="node-text">что signal опровергает?</text>
<path d="M236 448 V508" class="arrow"/>
<rect x="68" y="512" width="336" height="128" rx="22" class="check"/>
<text x="104" y="549" class="node-title">Evidence boundary</text>
<text x="104" y="577" class="node-text">method · scope · owner · stop</text>
<text x="104" y="600" class="node-text">не fixture, не случайный график</text>
<text x="104" y="622" class="small">Missing evidence → no automatic decision.</text>
<path d="M404 576 H472" class="arrow"/>
<rect x="472" y="512" width="190" height="128" rx="22" class="proposal"/>
<text x="512" y="549" class="node-title">Successor ADR</text>
<text x="500" y="577" class="node-text">Proposed only</text>
<text x="493" y="600" class="node-text">new context and options</text>
<text x="492" y="622" class="small">link back to old record</text>
<path d="M568 640 C568 726 466 752 360 752" class="arrow"/>
<rect x="168" y="704" width="384" height="118" rx="22" class="accepted"/>
<text x="255" y="741" class="node-title">Human acceptance</text>
<text x="250" y="769" class="node-text">new Accepted record → Superseded link</text>
<text x="237" y="792" class="small">Old context stays readable; lifecycle relation changes.</text>
<path d="M168 763 C72 763 52 614 106 526" class="arrow"/>
<text x="55" y="684" class="small">assumption holds →</text>
<text x="55" y="705" class="small">reconfirm old ADR</text>
<rect x="68" y="858" width="584" height="72" rx="18" class="warn"/>
<text x="92" y="888" fill="#8d671f" font-family="Arial, sans-serif" font-size="20" font-weight="700">Отдельный маршрут: implementation change</text>
<text x="92" y="914" class="small">Test, rollout, monitoring, rollback отдельно; Superseded не откатывает систему.</text>
</svg>