Files
progcode/web/public/assets/editorial/2019/code-ownership-resolution-2019.svg
T
huncode f204e2d730
Build and deploy / deploy (push) Successful in 13s
revise December 2019 ownership articles
2026-07-31 11:10:23 +03:00

40 lines
4.1 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 940" role="img" aria-labelledby="title desc">
<title id="title">Маршрут от дефекта к разделённой ответственности</title>
<desc id="desc">Вертикальная схема показывает последовательность: симптом, история Git, правило CODEOWNERS, предметный review и отдельная проверка после merge.</desc>
<rect width="480" height="940" fill="#f8fafc" rx="24"/>
<text x="240" y="44" text-anchor="middle" font-family="Arial, sans-serif" font-size="22" font-weight="700" fill="#1f2937">Путь от дефекта к решению</text>
<text x="240" y="72" text-anchor="middle" font-family="Arial, sans-serif" font-size="14" fill="#4b5563">Каждый шаг оставляет проверяемый артефакт</text>
<g font-family="Arial, sans-serif">
<rect x="34" y="110" width="412" height="104" rx="16" fill="#fee2e2" stroke="#f87171" stroke-width="2"/>
<text x="62" y="148" font-size="20" font-weight="700" fill="#7f1d1d">1. Симптом</text>
<text x="62" y="178" font-size="16" fill="#7f1d1d">unknown status попал в success</text>
<text x="62" y="200" font-size="14" fill="#7f1d1d">Запись: вход, неверный результат, цена.</text>
<path d="M240 214 L240 248" stroke="#64748b" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="34" y="254" width="412" height="104" rx="16" fill="#e0f2fe" stroke="#38bdf8" stroke-width="2"/>
<text x="62" y="292" font-size="20" font-weight="700" fill="#0c4a6e">2. История Git</text>
<text x="62" y="322" font-size="16" fill="#0c4a6e">Кто и когда менял строку?</text>
<text x="62" y="344" font-size="14" fill="#0c4a6e">Артефакт: context, а не назначение роли.</text>
<path d="M240 358 L240 392" stroke="#64748b" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="34" y="398" width="412" height="104" rx="16" fill="#dcfce7" stroke="#4ade80" stroke-width="2"/>
<text x="62" y="436" font-size="20" font-weight="700" fill="#14532d">3. CODEOWNERS</text>
<text x="62" y="466" font-size="16" fill="#14532d">Кого запросить по пути change?</text>
<text x="62" y="488" font-size="14" fill="#14532d">Артефакт: проверка правила в base branch.</text>
<path d="M240 502 L240 536" stroke="#64748b" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="34" y="542" width="412" height="104" rx="16" fill="#fef3c7" stroke="#fbbf24" stroke-width="2"/>
<text x="62" y="580" font-size="20" font-weight="700" fill="#78350f">4. Review</text>
<text x="62" y="610" font-size="16" fill="#78350f">Кто подтвердит contract и риск кода?</text>
<text x="62" y="632" font-size="14" fill="#78350f">Артефакт: решение reviewer по вопросу.</text>
<path d="M240 646 L240 680" stroke="#64748b" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="34" y="686" width="412" height="104" rx="16" fill="#fae8ff" stroke="#e879f9" stroke-width="2"/>
<text x="62" y="724" font-size="20" font-weight="700" fill="#701a75">5. Follow-up</text>
<text x="62" y="754" font-size="16" fill="#701a75">Кто проверит результат после merge?</text>
<text x="62" y="776" font-size="14" fill="#701a75">Артефакт: проверка, откат или новая задача.</text>
</g>
<rect x="34" y="836" width="412" height="64" rx="12" fill="#e2e8f0"/>
<text x="240" y="862" text-anchor="middle" font-family="Arial, sans-serif" font-size="14" font-weight="700" fill="#334155">Git даёт context. Платформа направляет review.</text>
<text x="240" y="884" text-anchor="middle" font-family="Arial, sans-serif" font-size="14" fill="#334155">Ответственность фиксируется в change.</text>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#64748b"/></marker>
</defs>
</svg>