Files
progcode/web/public/assets/editorial/2024/adr-decisions-2024-decision-flow.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

84 lines
5.7 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1120" role="img" aria-labelledby="title desc">
<title id="title">Поток принятия инженерного решения через ADR</title>
<desc id="desc">Вертикальная схема: симптом и цена, контекст и ограничения, варианты, вопрос evidence, proposed решение, review, accepted record, связи с кодом и отдельный путь reassessment с successor ADR.</desc>
<defs>
<linearGradient id="background" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#f8fbff"/>
<stop offset="1" stop-color="#eef7f5"/>
</linearGradient>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto">
<path d="M0 0 L10 5 L0 10 Z" fill="#28415f"/>
</marker>
<style>
.title { fill: #152a43; font: 700 34px Arial, sans-serif; }
.subtitle { fill: #53708f; font: 18px Arial, sans-serif; }
.box-title { fill: #152a43; font: 700 22px Arial, sans-serif; }
.box-text { fill: #294664; font: 16px Arial, sans-serif; }
.small { fill: #5d7184; font: 14px Arial, sans-serif; }
.arrow { fill: none; stroke: #28415f; stroke-width: 4; marker-end: url(#arrow); }
.node { stroke-width: 2; }
.step { fill: #ffffff; stroke: #b9d0e4; }
.decision { fill: #e4f4ef; stroke: #47a98b; }
.review { fill: #fff2d9; stroke: #e5a13f; }
.history { fill: #eeeafd; stroke: #8472ca; }
</style>
</defs>
<rect width="720" height="1120" rx="32" fill="url(#background)"/>
<text x="58" y="64" class="title">ADR: поток решения</text>
<text x="58" y="94" class="subtitle">Запись фиксирует выбор и его цену.</text>
<text x="58" y="116" class="subtitle">Implementation и evidence проверяются отдельно.</text>
<rect x="92" y="130" width="536" height="112" rx="20" class="node step"/>
<circle cx="126" cy="166" r="17" fill="#4b84bd"/>
<text x="120" y="173" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">1</text>
<text x="160" y="166" class="box-title">Симптом и цена ошибки</text>
<text x="160" y="195" class="box-text">Что ломается при слепом изменении?</text>
<text x="160" y="219" class="small">Конкретный риск и scope, не общий лозунг.</text>
<path d="M360 242 V278" class="arrow"/>
<rect x="92" y="282" width="536" height="130" rx="20" class="node step"/>
<circle cx="126" cy="318" r="17" fill="#4b84bd"/>
<text x="120" y="325" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">2</text>
<text x="160" y="318" class="box-title">Контекст и ограничения</text>
<text x="160" y="347" class="box-text">Факты, assumption, owner, boundary.</text>
<text x="160" y="373" class="small">Какой факт ещё неизвестен и как его проверить?</text>
<text x="160" y="396" class="small">Контекст не выдаёт догадку за evidence.</text>
<path d="M360 412 V448" class="arrow"/>
<rect x="92" y="452" width="536" height="130" rx="20" class="node step"/>
<circle cx="126" cy="488" r="17" fill="#4b84bd"/>
<text x="120" y="495" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">3</text>
<text x="160" y="488" class="box-title">Alternatives на одной шкале</text>
<text x="160" y="517" class="box-text">Fit · reversibility · evidence gap · cost.</text>
<text x="160" y="544" class="small">У варианта есть downside и named owner.</text>
<text x="160" y="567" class="small">Score — только прозрачная учебная модель.</text>
<path d="M360 582 V618" class="arrow"/>
<rect x="92" y="622" width="536" height="126" rx="20" class="node decision"/>
<circle cx="126" cy="658" r="17" fill="#279674"/>
<text x="120" y="665" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">4</text>
<text x="160" y="658" class="box-title">Proposed decision</text>
<text x="160" y="687" class="box-text">Choice, rationale, consequences, review date.</text>
<text x="160" y="713" class="small">Proposed разрешает исправить context и alternatives.</text>
<text x="160" y="735" class="small">Record не создаёт code, CI, release или evidence.</text>
<path d="M360 748 V784" class="arrow"/>
<rect x="92" y="788" width="536" height="118" rx="20" class="node review"/>
<circle cx="126" cy="824" r="17" fill="#d58a1c"/>
<text x="120" y="831" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">5</text>
<text x="160" y="824" class="box-title">Human review → Accepted</text>
<text x="160" y="853" class="box-text">Reviewer проверяет факт, цену, owner, gap.</text>
<text x="160" y="879" class="small">После acceptance compliance идёт отдельным маршрутом.</text>
<path d="M360 906 V942" class="arrow"/>
<rect x="92" y="946" width="536" height="118" rx="20" class="node history"/>
<circle cx="126" cy="982" r="17" fill="#6d59b0"/>
<text x="120" y="989" fill="#fff" font-family="Arial, sans-serif" font-size="19" font-weight="700">6</text>
<text x="160" y="982" class="box-title">Link и reassessment</text>
<text x="160" y="1011" class="box-text">Code link + drift signal + successor ADR.</text>
<text x="160" y="1037" class="small">Successor supersedes старый record; context остаётся.</text>
<path d="M628 1005 C686 1005 686 835 628 835" class="arrow"/>
<text x="503" y="768" class="small">новый signal →</text>
</svg>