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,16 @@
<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">Схема показывает editor date 31 июля 2026 года, source cutoff той же даты и будущую plan date ноября 2027 года. Между ними расположены вопросы о claim, condition и immutable evidence; заявленного прошлого совета и результата нет.</desc>
<title id="title">Фазы expand switch contract</title>
<desc id="desc">Временная линия показывает добавление совместимой формы, двойную запись, переключение чтения и удаление старой формы только после проверки.</desc>
<rect width="1200" height="720" fill="#101827"/>
<text x="64" y="78" fill="#f8fafc" font-family="Arial, sans-serif" font-size="40" font-weight="700">Сначала рамка, затем вопрос о совете</text>
<text x="64" y="118" fill="#b8c6dc" font-family="Arial, sans-serif" font-size="22">P117 · future-only сценарий · нет цитаты, статьи, теста или коррекции</text>
<line x1="110" y1="270" x2="1090" y2="270" stroke="#5d7394" stroke-width="8" stroke-linecap="round"/>
<circle cx="190" cy="270" r="28" fill="#7dd3fc"/><circle cx="520" cy="270" r="28" fill="#a7f3d0"/><circle cx="1010" cy="270" r="28" fill="#fbbf24"/>
<text x="120" y="330" fill="#e0f2fe" font-family="Arial, sans-serif" font-size="24" font-weight="700">editor date</text><text x="104" y="362" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">2026-07-31</text>
<text x="437" y="330" fill="#d1fae5" font-family="Arial, sans-serif" font-size="24" font-weight="700">source cutoff</text><text x="434" y="362" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">2026-07-31</text>
<text x="928" y="330" fill="#fef3c7" font-family="Arial, sans-serif" font-size="24" font-weight="700">plan date</text><text x="932" y="362" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">2027-11</text>
<rect x="92" y="454" width="300" height="136" rx="18" fill="#172a46" stroke="#7dd3fc" stroke-width="2"/><text x="122" y="500" fill="#e0f2fe" font-family="Arial, sans-serif" font-size="25" font-weight="700">Claim question</text><text x="122" y="539" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">named · not-collected</text>
<rect x="450" y="454" width="300" height="136" rx="18" fill="#173b38" stroke="#a7f3d0" stroke-width="2"/><text x="480" y="500" fill="#d1fae5" font-family="Arial, sans-serif" font-size="25" font-weight="700">Condition question</text><text x="480" y="539" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">version / applicability unknown</text>
<rect x="808" y="454" width="300" height="136" rx="18" fill="#44371b" stroke="#fbbf24" stroke-width="2"/><text x="838" y="500" fill="#fef3c7" font-family="Arial, sans-serif" font-size="25" font-weight="700">Evidence question</text><text x="838" y="539" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">immutable pin required</text>
<text x="64" y="650" fill="#fda4af" font-family="Arial, sans-serif" font-size="20" font-weight="700"><tspan x="64" dy="0">Запрещённый вывод: существовал старый совет, найдено основание,</tspan><tspan x="64" dy="28">выполнен repro или сделана коррекция.</tspan></text>
<text x="60" y="75" fill="#f8fafc" font-family="Arial, sans-serif" font-size="38" font-weight="700">Миграция схемы: совместимые фазы</text>
<text x="60" y="115" fill="#b8c6dc" font-family="Arial, sans-serif" font-size="22">Старый и новый код должны сосуществовать до удаления формы</text>
<line x1="120" y1="300" x2="1080" y2="300" stroke="#5d7394" stroke-width="8" stroke-linecap="round"/>
<g font-family="Arial, sans-serif" text-anchor="middle">
<circle cx="190" cy="300" r="30" fill="#7dd3fc"/><circle cx="480" cy="300" r="30" fill="#a7f3d0"/><circle cx="770" cy="300" r="30" fill="#fbbf24"/><circle cx="1010" cy="300" r="30" fill="#fb7185"/>
<text x="190" y="365" fill="#e0f2fe" font-size="25" font-weight="700">Expand</text><text x="190" y="397" fill="#cbd5e1" font-size="19">добавить поле</text>
<text x="480" y="365" fill="#d1fae5" font-size="25" font-weight="700">Dual write</text><text x="480" y="397" fill="#cbd5e1" font-size="19">обе формы</text>
<text x="770" y="365" fill="#fef3c7" font-size="25" font-weight="700">Switch</text><text x="770" y="397" fill="#cbd5e1" font-size="19">новое чтение</text>
<text x="1010" y="365" fill="#ffe4e6" font-size="25" font-weight="700">Contract</text><text x="1010" y="397" fill="#cbd5e1" font-size="19">удалить старое</text>
<rect x="200" y="510" width="800" height="100" rx="18" fill="#173b38" stroke="#86efac" stroke-width="3"/><text x="600" y="553" fill="#d1fae5" font-size="25" font-weight="700">Проверка данных и потребителей</text><text x="600" y="586" fill="#bbf7d0" font-size="20">нужна до contract и до окончательного rollback</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB