This commit is contained in:
+7
@@ -0,0 +1,7 @@
|
||||
<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>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
+9
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="610" viewBox="0 0 720 610" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Цикл evidence для synthetic hand-off</title><desc id="desc">Пять шагов соединяют fixed literal, проверку ownership, stop или counterexample, уточнённый literal и ограниченный synthetic hand-off. Красная ветка возвращает domain claim к read model.</desc>
|
||||
<defs><marker id="b" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto"><path d="M0 0L10 5L0 10Z" fill="#1f4b99"/></marker><marker id="r" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto"><path d="M0 0L10 5L0 10Z" fill="#b3263a"/></marker></defs>
|
||||
<rect width="720" height="610" fill="#f8fafc"/><text x="34" y="46" font-family="Arial,sans-serif" font-size="28" font-weight="700" fill="#152238">Synthetic evidence loop</text>
|
||||
<g font-family="Arial,sans-serif" font-size="23" text-anchor="middle"><rect x="50" y="115" width="180" height="74" rx="14" fill="#e8f0fe" stroke="#3566b8" stroke-width="3"/><text x="140" y="160" fill="#173a78">fixed literal</text><rect x="270" y="115" width="180" height="74" rx="14" fill="#eef7e9" stroke="#4d8b44" stroke-width="3"/><text x="360" y="160" fill="#245b2e">ownership check</text><rect x="490" y="115" width="180" height="74" rx="14" fill="#fff3df" stroke="#b67617" stroke-width="3"/><text x="580" y="160" fill="#824c00">named result</text><rect x="490" y="335" width="180" height="74" rx="14" fill="#eaf5f7" stroke="#257184" stroke-width="3"/><text x="580" y="380" fill="#1d5c6a">review hand-off</text><rect x="270" y="335" width="180" height="74" rx="14" fill="#f2edfb" stroke="#7051a8" stroke-width="3"/><text x="360" y="380" fill="#553885">new literal</text></g>
|
||||
<path d="M230 152H270M450 152H490M580 189V335M490 372H450M270 372H140V189" fill="none" stroke="#1f4b99" stroke-width="5" marker-end="url(#b)"/>
|
||||
<path d="M580 189V260H190V190" fill="none" stroke="#b3263a" stroke-width="5" marker-end="url(#r)"/><text x="288" y="246" font-family="Arial,sans-serif" font-size="22" font-weight="700" fill="#8a1f2d">domain claim → stop → read question</text>
|
||||
<text x="34" y="510" font-family="Arial,sans-serif" font-size="21" fill="#526273">Positive output: только review hand-off.</text><text x="34" y="546" font-family="Arial,sans-serif" font-size="21" fill="#526273">productionEffect: not-attempted</text><text x="34" y="582" font-family="Arial,sans-serif" font-size="19" fill="#526273">Нет UI trace, сети, файлов или секретов.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
+9
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="620" viewBox="0 0 720 620" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Карта владельцев состояния</title><desc id="desc">Три колонки разделяют локальное состояние UI, контекст и API read model. Команда направлена к API, доменный факт не находится в UI.</desc>
|
||||
<defs><marker id="a" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto"><path d="M0 0L10 5L0 10Z" fill="#1f4b99"/></marker></defs>
|
||||
<rect width="720" height="620" fill="#f8fafc"/><text x="36" y="48" font-family="Arial,sans-serif" font-size="28" font-weight="700" fill="#152238">Карта владельцев: план на сентябрь</text>
|
||||
<rect x="32" y="90" width="198" height="390" rx="16" fill="#e8f0fe" stroke="#3566b8" stroke-width="3"/><text x="52" y="132" font-family="Arial,sans-serif" font-size="26" font-weight="700" fill="#173a78">UI</text><text x="52" y="182" font-family="Arial,sans-serif" font-size="23" fill="#152238">draft-filter</text><text x="52" y="225" font-family="Arial,sans-serif" font-size="23" fill="#152238">open-panel</text><text x="52" y="388" font-family="Arial,sans-serif" font-size="21" fill="#8a1f2d">не владеет</text><text x="52" y="420" font-family="Arial,sans-serif" font-size="21" fill="#8a1f2d">domain fact</text>
|
||||
<rect x="261" y="90" width="198" height="390" rx="16" fill="#eef7e9" stroke="#4d8b44" stroke-width="3"/><text x="281" y="132" font-family="Arial,sans-serif" font-size="26" font-weight="700" fill="#245b2e">Context</text><text x="281" y="182" font-family="Arial,sans-serif" font-size="23" fill="#152238">fixed-locale</text><text x="281" y="225" font-family="Arial,sans-serif" font-size="23" fill="#152238">permission</text><text x="281" y="388" font-family="Arial,sans-serif" font-size="21" fill="#3d6a35">условие</text><text x="281" y="420" font-family="Arial,sans-serif" font-size="21" fill="#3d6a35">интерпретации</text>
|
||||
<rect x="490" y="90" width="198" height="390" rx="16" fill="#fff3df" stroke="#b67617" stroke-width="3"/><text x="510" y="132" font-family="Arial,sans-serif" font-size="26" font-weight="700" fill="#824c00">API</text><text x="510" y="182" font-family="Arial,sans-serif" font-size="23" fill="#152238">status</text><text x="510" y="225" font-family="Arial,sans-serif" font-size="23" fill="#152238">allowedActions</text><text x="510" y="268" font-family="Arial,sans-serif" font-size="23" fill="#152238">messageCode</text><text x="510" y="388" font-family="Arial,sans-serif" font-size="21" fill="#824c00">read model</text><text x="510" y="420" font-family="Arial,sans-serif" font-size="21" fill="#824c00">и problem</text>
|
||||
<line x1="190" y1="535" x2="530" y2="535" stroke="#1f4b99" stroke-width="5" marker-end="url(#a)"/><text x="270" y="516" font-family="Arial,sans-serif" font-size="22" font-weight="700" fill="#1f4b99">command intent</text><text x="36" y="582" font-family="Arial,sans-serif" font-size="20" fill="#526273">Fixed synthetic model; не trace и не факт системы.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user