rewrite 2026-09 and 2027 articles for reader-facing quality
Build and deploy / deploy (push) Successful in 18s
Build and deploy / deploy (push) Successful in 18s
This commit is contained in:
+38
-6
@@ -1,7 +1,39 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="590" viewBox="0 0 720 590" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Матрица обязанностей контракта</title><desc id="desc">Четыре строки различают query, command, read model и problem envelope. Красная нижняя строка запрещает доменный вывод из отправленной команды.</desc>
|
||||
<rect width="720" height="590" fill="#f8fafc"/><text x="34" y="48" font-family="Arial,sans-serif" font-size="28" font-weight="700" fill="#152238">Boundary: право на вывод</text>
|
||||
<rect x="32" y="82" width="656" height="54" fill="#173a78"/><text x="52" y="118" font-family="Arial,sans-serif" font-size="23" font-weight="700" fill="#fff">Форма</text><text x="246" y="118" font-family="Arial,sans-serif" font-size="23" font-weight="700" fill="#fff">Даёт UI</text><text x="500" y="118" font-family="Arial,sans-serif" font-size="23" font-weight="700" fill="#fff">Не даёт UI</text>
|
||||
<g font-family="Arial,sans-serif" font-size="22" fill="#152238"><rect x="32" y="136" width="656" height="76" fill="#e8f0fe"/><text x="52" y="182">query</text><text x="246" y="182">вопрос к model</text><text x="500" y="182">изменение domain</text><rect x="32" y="212" width="656" height="76" fill="#eef7e9"/><text x="52" y="258">command</text><text x="246" y="258">intent</text><text x="500" y="258">успешный факт</text><rect x="32" y="288" width="656" height="76" fill="#fff3df"/><text x="52" y="334">read model</text><text x="246" y="334">status + actions</text><text x="500" y="334">скрытую причину</text><rect x="32" y="364" width="656" height="76" fill="#f2edfb"/><text x="52" y="410">problem</text><text x="246" y="410">code + retry</text><text x="500" y="410">догадку о retry</text></g>
|
||||
<rect x="32" y="472" width="656" height="74" rx="12" fill="#fce8ea" stroke="#b3263a" stroke-width="3"/><text x="52" y="518" font-family="Arial,sans-serif" font-size="23" font-weight="700" fill="#8a1f2d">Отправка command ≠ новый domain fact</text><text x="34" y="574" font-family="Arial,sans-serif" font-size="19" fill="#526273">Матрица для plan review; не описание реального API.</text>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 420" role="img" aria-labelledby="title desc">
|
||||
<title id="title">HTTP результат и следующий шаг UI</title>
|
||||
<desc id="desc">Таблица-схема связывает 2xx, 409 и 422, 429 и 5xx с разрешённым действием интерфейса и показывает, что отправка команды сама по себе не меняет модель экрана.</desc>
|
||||
<rect width="720" height="420" rx="24" fill="#f7f3ea"/>
|
||||
<g font-family="Arial, sans-serif" fill="#202124">
|
||||
<text x="42" y="48" font-size="24" font-weight="700">Статус задаёт ветку, не весь смысл</text>
|
||||
<text x="42" y="75" font-size="16" fill="#5f6368">каждому результату — свой следующий шаг</text>
|
||||
<g font-size="16" font-weight="700">
|
||||
<rect x="42" y="112" width="118" height="48" rx="8" fill="#d7e8ff" stroke="#2b5f9e" stroke-width="2"/>
|
||||
<rect x="178" y="112" width="206" height="48" rx="8" fill="#d7e8ff" stroke="#2b5f9e" stroke-width="2"/>
|
||||
<rect x="402" y="112" width="250" height="48" rx="8" fill="#d7e8ff" stroke="#2b5f9e" stroke-width="2"/>
|
||||
<text x="101" y="143" text-anchor="middle">результат</text>
|
||||
<text x="281" y="143" text-anchor="middle">что известно</text>
|
||||
<text x="527" y="143" text-anchor="middle">следующий шаг UI</text>
|
||||
</g>
|
||||
<g font-size="16">
|
||||
<rect x="42" y="174" width="118" height="42" rx="8" fill="#d9f1e1" stroke="#2e7d51" stroke-width="2"/>
|
||||
<rect x="178" y="174" width="206" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<rect x="402" y="174" width="250" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<text x="101" y="201" text-anchor="middle" font-weight="700">200 + JSON</text>
|
||||
<text x="192" y="201">valid representation</text>
|
||||
<text x="416" y="201">render from model</text>
|
||||
<rect x="42" y="224" width="118" height="42" rx="8" fill="#fff1cf" stroke="#a87400" stroke-width="2"/>
|
||||
<rect x="178" y="224" width="206" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<rect x="402" y="224" width="250" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<text x="101" y="251" text-anchor="middle" font-weight="700">409 / 422</text>
|
||||
<text x="192" y="251">domain rejection</text>
|
||||
<text x="416" y="251">show reason or refetch</text>
|
||||
<rect x="42" y="274" width="118" height="42" rx="8" fill="#fff1cf" stroke="#a87400" stroke-width="2"/>
|
||||
<rect x="178" y="274" width="206" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<rect x="402" y="274" width="250" height="42" rx="8" fill="#fff" stroke="#b7b7b7"/>
|
||||
<text x="101" y="301" text-anchor="middle" font-weight="700">429 / 5xx</text>
|
||||
<text x="192" y="301">temporary failure</text>
|
||||
<text x="416" y="301">bounded retry policy</text>
|
||||
</g>
|
||||
<rect x="42" y="344" width="610" height="42" rx="10" fill="#ffe2dc" stroke="#b84b3b" stroke-width="2"/>
|
||||
<text x="347" y="371" text-anchor="middle" font-size="17" font-weight="700">command sent ≠ screen state changed: read the next model</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user