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,21 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 500" role="img" aria-labelledby="title desc">
<title id="title">Петля synthetic debugging hand-off</title>
<desc id="desc">Диаграмма показывает переход от синтетического симптома к гипотезе и плановым сигналам. Неназванные поля, evidence сильнее input и позитивный вывод ведут в stop, а допустимый вариант передаётся будущему владельцу evidence.</desc>
<defs><marker id="arrowBlue" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L9,3 L0,6 Z" fill="#2563eb"/></marker><marker id="arrowRed" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L9,3 L0,6 Z" fill="#dc2626"/></marker></defs>
<title id="title">Петля проверки гипотезы</title>
<desc id="desc">Диаграмма соединяет внешний симптом, две проверяемые гипотезы и сигнал, который отличает их. При отсутствии записи цепочка возвращается к качеству журналирования.</desc>
<defs><marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L9,3 L0,6 Z" fill="#2563eb"/></marker><marker id="red" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L9,3 L0,6 Z" fill="#dc2626"/></marker></defs>
<rect width="720" height="500" fill="#f8fafc"/>
<text x="38" y="50" fill="#172554" font-family="Arial, sans-serif" font-size="24" font-weight="700">Synthetic hand-off: вопрос, а не кейс</text>
<text x="38" y="76" fill="#475569" font-family="Arial, sans-serif" font-size="15">2027-01 · source cutoff 2026-07-31 · productionEffect not-attempted</text>
<g font-family="Arial, sans-serif">
<rect x="52" y="137" width="158" height="74" rx="12" fill="#dbeafe" stroke="#2563eb" stroke-width="2"/><text x="131" y="167" text-anchor="middle" fill="#172554" font-size="16" font-weight="700">Симптом</text><text x="131" y="190" text-anchor="middle" fill="#334155" font-size="13">named question</text>
<rect x="281" y="137" width="158" height="74" rx="12" fill="#dbeafe" stroke="#2563eb" stroke-width="2"/><text x="360" y="167" text-anchor="middle" fill="#172554" font-size="16" font-weight="700">Гипотеза</text><text x="360" y="190" text-anchor="middle" fill="#334155" font-size="13">named alternative</text>
<rect x="510" y="137" width="158" height="74" rx="12" fill="#dbeafe" stroke="#2563eb" stroke-width="2"/><text x="589" y="167" text-anchor="middle" fill="#172554" font-size="16" font-weight="700">Сигналы</text><text x="589" y="190" text-anchor="middle" fill="#334155" font-size="13">planned-input</text>
<path d="M210 174 L278 174" stroke="#2563eb" stroke-width="4" marker-end="url(#arrowBlue)"/><path d="M439 174 L507 174" stroke="#2563eb" stroke-width="4" marker-end="url(#arrowBlue)"/>
<path d="M589 214 C589 273,421 275,421 322" fill="none" stroke="#2563eb" stroke-width="4" marker-end="url(#arrowBlue)"/>
<rect x="300" y="322" width="242" height="78" rx="12" fill="#dcfce7" stroke="#15803d" stroke-width="2"/><text x="421" y="352" text-anchor="middle" fill="#14532d" font-size="16" font-weight="700">Synthetic plan hand-off</text><text x="421" y="376" text-anchor="middle" fill="#166534" font-size="13">future evidence owner</text>
<path d="M360 214 L360 272 L130 272 L130 322" fill="none" stroke="#dc2626" stroke-width="3" marker-end="url(#arrowRed)"/>
<rect x="44" y="322" width="172" height="78" rx="12" fill="#fef2f2" stroke="#dc2626" stroke-width="2"/><text x="130" y="351" text-anchor="middle" fill="#991b1b" font-size="16" font-weight="700">STOP</text><text x="130" y="374" text-anchor="middle" fill="#991b1b" font-size="13">нет имени / даты</text>
<path d="M589 214 L589 272 L635 272 L635 322" fill="none" stroke="#dc2626" stroke-width="3" marker-end="url(#arrowRed)"/>
<rect x="550" y="322" width="140" height="78" rx="12" fill="#fef2f2" stroke="#dc2626" stroke-width="2"/><text x="620" y="351" text-anchor="middle" fill="#991b1b" font-size="16" font-weight="700">STOP</text><text x="620" y="374" text-anchor="middle" fill="#991b1b" font-size="13">evidence &gt; input</text>
</g>
<text x="360" y="456" text-anchor="middle" fill="#475569" font-family="Arial, sans-serif" font-size="15">Запрещённый positive conclusion: root-cause-confirmed</text>
<style>text{font-family:Arial,sans-serif;fill:#172554}.head{font-size:24px;font-weight:700}.label{font-size:16px;font-weight:700}.small{font-size:13px}.box{fill:#dbeafe;stroke:#2563eb;stroke-width:2}.ok{fill:#dcfce7;stroke:#15803d;stroke-width:2}.stop{fill:#fef2f2;stroke:#dc2626;stroke-width:2}</style>
<text x="38" y="48" class="head">Петля: гипотеза должна изменить проверку</text>
<rect x="44" y="130" width="174" height="82" rx="12" class="box"/><text x="131" y="164" text-anchor="middle" class="label">Симптом</text><text x="131" y="188" text-anchor="middle" class="small">edge 502</text>
<rect x="273" y="130" width="174" height="82" rx="12" class="box"/><text x="360" y="164" text-anchor="middle" class="label">Гипотеза</text><text x="360" y="188" text-anchor="middle" class="small">gateway или app</text>
<rect x="502" y="130" width="174" height="82" rx="12" class="box"/><text x="589" y="164" text-anchor="middle" class="label">Сигнал</text><text x="589" y="188" text-anchor="middle" class="small">одинаковый request-id</text>
<path d="M218 171h52M447 171h52" stroke="#2563eb" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="251" y="320" width="218" height="78" rx="12" class="ok"/><text x="360" y="351" text-anchor="middle" class="label" fill="#14532d">Решение</text><text x="360" y="375" text-anchor="middle" class="small" fill="#14532d">следующий конкретный запрос</text>
<path d="M589 212v72H360v32" fill="none" stroke="#2563eb" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="44" y="320" width="160" height="78" rx="12" class="stop"/><text x="124" y="351" text-anchor="middle" class="label" fill="#991b1b">Разрыв</text><text x="124" y="375" text-anchor="middle" class="small" fill="#991b1b">проверить collector</text>
<path d="M273 212v72H124v32" fill="none" stroke="#dc2626" stroke-width="3" marker-end="url(#red)"/>
<text x="360" y="456" text-anchor="middle" class="small">Идентификатор связывает записи, но причинность требует времени, статуса и границы операции.</text>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB