rewrite 2026-09 and 2027 articles for reader-facing quality
Build and deploy / deploy (push) Successful in 18s

This commit is contained in:
2026-07-31 22:26:56 +03:00
parent 3bfc3f21c4
commit 440c8721dc
69 changed files with 4424 additions and 3533 deletions
@@ -1,16 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" role="img" aria-labelledby="title desc">
<title id="title">Петля передачи самостоятельности</title>
<desc id="desc">Схема показывает проверку дат, именованного literal и отсутствия evidence. Назначенный владелец или claimed feedback останавливают проверку; допустимый результат передаёт только неоценённую самостоятельность.</desc>
<title id="title">Маршрут review API-изменения</title>
<desc id="desc">Маршрут проходит от diff схемы к классификации, проверке потребителей и обратимой миграции. Удаление старого формата останавливается при неизвестном потребителе.</desc>
<defs><marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0 0L12 6L0 12z" fill="#93c5fd"/></marker><marker id="red" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0 0L12 6L0 12z" fill="#fb7185"/></marker></defs>
<rect width="1200" height="720" fill="#0b1220"/>
<text x="60" y="78" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Hand-off без назначения и выдуманного feedback</text>
<text x="60" y="76" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Review API-diff: от риска к обратимости</text>
<text x="60" y="116" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">Новая форма не должна лишать старого клиента пути чтения</text>
<g font-family="Arial, sans-serif" text-anchor="middle">
<rect x="80" y="250" width="220" height="130" rx="22" fill="#172554" stroke="#60a5fa" stroke-width="3"/><text x="190" y="302" fill="#dbeafe" font-size="24" font-weight="700">Даты</text><text x="190" y="342" fill="#bfdbfe" font-size="19">2026-07-31 / 2027-09</text>
<rect x="380" y="250" width="220" height="130" rx="22" fill="#172554" stroke="#60a5fa" stroke-width="3"/><text x="490" y="302" fill="#dbeafe" font-size="24" font-weight="700">Literal</text><text x="490" y="342" fill="#bfdbfe" font-size="19">named synthetic only</text>
<rect x="680" y="250" width="220" height="130" rx="22" fill="#172554" stroke="#60a5fa" stroke-width="3"/><text x="790" y="302" fill="#dbeafe" font-size="24" font-weight="700">Evidence</text><text x="790" y="342" fill="#bfdbfe" font-size="19">not-collected</text>
<rect x="980" y="250" width="140" height="130" rx="22" fill="#14532d" stroke="#4ade80" stroke-width="3"/><text x="1050" y="298" fill="#dcfce7" font-size="21" font-weight="700">Hand-off</text><text x="1050" y="334" fill="#bbf7d0" font-size="17">not-evaluated</text>
<path d="M300 315H380M600 315H680M900 315H980" stroke="#60a5fa" stroke-width="5" marker-end="url(#arrow)"/>
<rect x="300" y="510" width="600" height="105" rx="20" fill="#7f1d1d" stroke="#f87171" stroke-width="3"/><text x="600" y="555" fill="#fee2e2" font-size="25" font-weight="700">owner assigned или feedback claimed → stop</text><text x="600" y="590" fill="#fecaca" font-size="19">process остаётся not-created, recipient — not-assigned</text>
<path d="M790 380V510" stroke="#f87171" stroke-width="5" marker-end="url(#redArrow)"/>
<rect x="55" y="240" width="230" height="135" rx="20" fill="#172554" stroke="#60a5fa" stroke-width="3"/><text x="170" y="295" fill="#dbeafe" font-size="25" font-weight="700">Diff схемы</text><text x="170" y="335" fill="#bfdbfe" font-size="19">removed · required · enum</text>
<rect x="340" y="240" width="230" height="135" rx="20" fill="#164e63" stroke="#67e8f9" stroke-width="3"/><text x="455" y="295" fill="#cffafe" font-size="25" font-weight="700">Класс риска</text><text x="455" y="335" fill="#a5f3fc" font-size="19">compatible / breaking</text>
<rect x="625" y="240" width="230" height="135" rx="20" fill="#365314" stroke="#a3e635" stroke-width="3"/><text x="740" y="295" fill="#ecfccb" font-size="25" font-weight="700">Потребители</text><text x="740" y="335" fill="#d9f99d" font-size="19">SDK · tests · events</text>
<rect x="910" y="240" width="230" height="135" rx="20" fill="#14532d" stroke="#4ade80" stroke-width="3"/><text x="1025" y="295" fill="#dcfce7" font-size="25" font-weight="700">Expand → switch</text><text x="1025" y="335" fill="#bbf7d0" font-size="19">→ contract</text>
<path d="M285 307H340M570 307H625M855 307H910" stroke="#93c5fd" stroke-width="6" marker-end="url(#arrow)"/>
<rect x="270" y="510" width="660" height="100" rx="18" fill="#7f1d1d" stroke="#fb7185" stroke-width="3"/><text x="600" y="553" fill="#ffe4e6" font-size="25" font-weight="700">Неизвестный consumer → остановить удаление</text><text x="600" y="586" fill="#fecdd3" font-size="20">rollback файла не возвращает потерянные данные</text>
<path d="M740 375V510" stroke="#fb7185" stroke-width="5" marker-end="url(#red)"/>
</g>
<defs><marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0 0L12 6L0 12z" fill="#60a5fa"/></marker><marker id="redArrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0 0L12 6L0 12z" fill="#f87171"/></marker></defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB