старшинство диаграмм объявлено, рендер проверяется скриптом
Диаграмма и проза вокруг неё описывают один факт — это второй дом, и разойтись они могут молча: то самое, против чего написан copies.py. Механической сверки здесь нет, дословного соответствия между текстом и графом не существует, поэтому работает объявление. В review-pipeline старший граф — он и есть алгоритм планировщика, проза объясняет рёбра; в остальных местах старшая проза, диаграмма там сводка; в calibration.md старшая таблица вердиктов, схема добавляет к ней только счётчик. Объявление стоит у каждой диаграммы строкой в месте, а не общим правилом в README: скилл читают целиком, README — нет. В task-batch добавлена оговорка про соседний скилл — два вызова с разным старшинством рядом это место, где легко ошибиться. scripts/diagrams.py вынимает все mermaid-блоки и рендерит каждый через mmdc или npx @mermaid-js/mermaid-cli. Коды выхода — общий словарь; нет рендерера — код 3, а не молчаливый успех. Chromium с --no-sandbox: без флага падает на «No usable sandbox», причина в докстроке. Проверены обе ветки: 11 диаграмм в 9 файлах зелено, сломанный блок даёт точное место с текстом ошибки парсера и код 1. README: раздел «Проверка диаграмм» рядом с проверкой копий — что ловит, чего не ловит и почему не в гейте. DECISIONS 63 и 64. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -144,6 +144,7 @@ openspec/
|
||||
<plugin>/skills/<skill>/references/ что читается по ссылке из скилла
|
||||
<plugin>/skills/<skill>/scripts/ tasks.py, docs.py
|
||||
<plugin>/agents/ charter'ы сабагентов
|
||||
scripts/ проверки самого репозитория: копии, диаграммы
|
||||
pyproject.toml линтеры скриптов, только для этого репозитория
|
||||
```
|
||||
|
||||
@@ -197,3 +198,23 @@ uv run python scripts/copies.py # 0 сошлось, 1 расхождение
|
||||
Скрипт ловит четыре вещи: копия разошлась с домом (с диффом), копия указывает не
|
||||
на тот файл, дом остался без копий, разметка сломана. Чего он **не** ловит —
|
||||
копию, которую забыли пометить: помечать — по-прежнему решение человека.
|
||||
|
||||
## Проверка диаграмм
|
||||
|
||||
Диаграммы `mermaid` живут исходником в markdown — картинок в репозитории нет.
|
||||
Синтаксическая ошибка в блоке **не видна при чтении**: текст выглядит
|
||||
правдоподобно, диff показывает разумную строку, а рендер падает.
|
||||
|
||||
```
|
||||
uv run python scripts/diagrams.py # 0 рендерятся, 1 нет, 3 нет mermaid-cli
|
||||
```
|
||||
|
||||
Рендерит `mmdc` с PATH или `npx --yes @mermaid-js/mermaid-cli`; ни того ни
|
||||
другого нет — код 3, а не молчаливый успех. Прогон занимает секунды на блок,
|
||||
поэтому он не в гейте, а в руках того, кто правит диаграмму.
|
||||
|
||||
Чего проверка **не** ловит — расхождение диаграммы с прозой вокруг неё. Дословного
|
||||
соответствия между текстом и графом нет, сличать нечего, и держится это
|
||||
правилом старшинства, записанным рядом с каждой диаграммой: **в конвейере ревью
|
||||
старший граф** (он и есть алгоритм планировщика, проза его объясняет), **в
|
||||
остальных местах старшая проза** (диаграмма там сводка).
|
||||
|
||||
Reference in New Issue
Block a user