# Storm MCP → прямой BPMN XML

Завершены и разобраны все 42/42 попыток.

| Модель | XML n | Время Storm / XML, с | Вход Storm / XML, тыс. | Выход Storm / XML, тыс. | XSD XML | Импорт без предупреждений |
|---|---:|---:|---:|---:|---:|---:|
| opencode-go/deepseek-v4.1-flash | 3 | 53.2 / 69.0 | 166.2 / 2.4 | 7.5 / 20.9 | 3 | 3 |
| claude-opus-5 | 3 | 105.6 / 233.7 | 337.1 / 4.2 | 8.9 / 26.0 | 3 | 3 |
| opencode-go/glm-5.3 | 3 | 278.1 / 326.4 | 375.2 / 7.3 | 15.7 / 10.9 | 0 | 0 |
| gpt-6-astra | 3 | 224.5 / 369.4 | 709.0 / 12.6 | 5.0 / 12.1 | 3 | 3 |
| opencode-go/kimi-k3 | 3 | 158.5 / 210.9 | 337.2 / 2.5 | 7.9 / 20.1 | 3 | 3 |
| gpt-5.6-luna | 3 | 79.8 / 171.6 | 335.5 / 10.1 | 3.3 / 9.3 | 1 | 1 |
| opencode-go/qwen3.8-flash | 3 | 289.0 / 570.2 | 302.3 / 2.4 | 12.2 / 29.4 | 0 | 0 |
| gpt-5.6-sol | 3 | 245.3 / 244.9 | 1538.8 / 11.6 | 10.1 / 11.8 | 3 | 3 |
| opencode-go/mimo-v2.5 | 3 | 122.2 / 219.4 | 117.2 / 2.4 | 2.5 / 8.7 | 1 | 2 |
| gpt-5.6-terra | 3 | 207.5 / 387.1 | 691.2 / 11.6 | 5.0 / 11.5 | 2 | 3 |
| opencode-go/minimax-m3 | 3 | 85.5 / 347.8 | 318.3 / 2.5 | 14.1 / 32.0 | 0 | 0 |
| opencode-go/glm-5.3-flash | 3 | 64.4 / 144.6 | 234.8 / 2.3 | 3.9 / 22.4 | 1 | 2 |
| claude-haiku-4-5-20251001 | 3 | 76.0 / 214.8 | 407.1 / 7.2 | 7.8 / 28.4 | 3 | 3 |
| claude-sonnet-5 | 3 | 58.2 / 88.9 | 153.0 / 9.6 | 4.7 / 13.4 | 2 | 2 |

Время — медиана длительности попыток, включая остановку по лимиту; таймаут не является полученным ответом. Токены — медианы только известного usage; число известных счётчиков отдельно в comparison.json, отсутствие usage не равно нулю. Первый этап всегда n=3; второй сравним по повторяемости только после n=3. Выход включает reasoning без двойного счёта; input включает cache read/write один раз. Это клиентские счётчики, не цена подписок.

Текст кейса тот же; во втором этапе удалены MCP-инструменты, их инструкции, проверка и auto-layout. Это сравнение двух способов работы, а не изолированный эффект Mermaid. У моделей доступны XML-конструкции, которых не было в инструментах первого этапа.

Токены суммируются по обращениям внутри попытки: один и тот же кэшированный префикс может читаться несколько раз. Это расход по клиентским счётчикам, не объём уникального текста и не размер одного промпта. В comparison.json отдельно приведён input_nonread — вход без cache read. Неполный usage (partial) исключён из медиан, но сохранён в исходных метриках. Служебные unknown без total не считаются измеренным нулём; если затем пришёл итоговый отчёт, показана сумма доступных счётчиков с отметкой reported_with_unmetered_steps. Нулевой reported reasoning не доказывает отсутствия внутренних рассуждений.

## Сценарии по попыткам

AI-ревью описательных сценариев по графу, подписям и пояснениям, не исполнение в движке и не человеческая оценка. Дополнительное экспертное ревью выявило 96 пустых таймерных определений во всех 40 Storm-файлах с таймерами; в прямом XML пусты 4 из 79. Прежние статусы не изменены. Подробности: timer-payload-audit.json и BPMN-EXPERT-BROWSER-REVIEW.md. Завершение — узкая проверка: перец найден сразу и не остаётся лишней блокирующей ветви; это не доказательство корректности всех исходов. pass — сценарий поддержан; fail — найден контрпример; abstract — допустимая абстракция; uncertain — недостаточно семантики; unreachable — ветка недостижима; not_assessable — нет графа.

| Попытка | Способ | Пётр / Зинаида | Заяц / 8 часов | Завершение |
|---|---|---|---|---|
| r1-01-deepseek | Storm | fail | pass | pass |
| r1-01-deepseek | XML | fail | pass | pass |
| r1-02-claude | Storm | fail | pass | pass |
| r1-02-claude | XML | pass | fail | pass |
| r1-03-glm | Storm | fail | fail | pass |
| r1-03-glm | XML | not_assessable | not_assessable | not_assessable |
| r1-04-codex | Storm | pass | pass | pass |
| r1-04-codex | XML | pass | pass | pass |
| r1-05-kimi | Storm | fail | abstract | pass |
| r1-05-kimi | XML | fail | pass | pass |
| r2-01-kimi | Storm | fail | uncertain | pass |
| r2-01-kimi | XML | fail | pass | pass |
| r2-02-codex | Storm | pass | pass | pass |
| r2-02-codex | XML | pass | pass | pass |
| r2-03-deepseek | Storm | fail | fail | pass |
| r2-03-deepseek | XML | fail | pass | pass |
| r2-04-glm | Storm | fail | abstract | pass |
| r2-04-glm | XML | not_assessable | not_assessable | not_assessable |
| r2-05-claude | Storm | fail | abstract | pass |
| r2-05-claude | XML | pass | fail | pass |
| r3-01-glm | Storm | fail | fail | pass |
| r3-01-glm | XML | not_assessable | not_assessable | not_assessable |
| r3-02-kimi | Storm | fail | uncertain | pass |
| r3-02-kimi | XML | fail | pass | pass |
| r3-03-claude | Storm | fail | uncertain | pass |
| r3-03-claude | XML | pass | fail | pass |
| r3-04-deepseek | Storm | fail | pass | pass |
| r3-04-deepseek | XML | fail | fail | pass |
| r3-05-codex | Storm | pass | pass | pass |
| r3-05-codex | XML | pass | pass | pass |
| r4-01-luna | Storm | fail | uncertain | pass |
| r4-01-luna | XML | not_assessable | not_assessable | not_assessable |
| r4-02-qwen-flash | Storm | fail | abstract | pass |
| r4-02-qwen-flash | XML | fail | fail | pass |
| r4-03-sol | Storm | fail | pass | pass |
| r4-03-sol | XML | fail | pass | pass |
| r4-04-mimo | Storm | fail | fail | pass |
| r4-04-mimo | XML | pass | fail | pass |
| r4-05-terra | Storm | fail | fail | pass |
| r4-05-terra | XML | pass | fail | pass |
| r4-06-minimax | Storm | fail | fail | pass |
| r4-06-minimax | XML | not_assessable | not_assessable | not_assessable |
| r4-07-glm-flash | Storm | fail | pass | pass |
| r4-07-glm-flash | XML | pass | pass | fail |
| r5-01-minimax | Storm | fail | fail | pass |
| r5-01-minimax | XML | not_assessable | not_assessable | not_assessable |
| r5-02-terra | Storm | fail | fail | pass |
| r5-02-terra | XML | pass | fail | pass |
| r5-03-glm-flash | Storm | fail | fail | pass |
| r5-03-glm-flash | XML | fail | pass | pass |
| r5-04-luna | Storm | fail | fail | pass |
| r5-04-luna | XML | fail | pass | pass |
| r5-05-mimo | Storm | fail | uncertain | pass |
| r5-05-mimo | XML | fail | fail | fail |
| r5-06-sol | Storm | fail | pass | pass |
| r5-06-sol | XML | pass | fail | pass |
| r5-07-qwen-flash | Storm | fail | fail | pass |
| r5-07-qwen-flash | XML | not_assessable | not_assessable | not_assessable |
| r6-01-mimo | Storm | pass | fail | pass |
| r6-01-mimo | XML | not_assessable | not_assessable | not_assessable |
| r6-02-sol | Storm | fail | pass | pass |
| r6-02-sol | XML | fail | pass | pass |
| r6-03-qwen-flash | Storm | fail | abstract | pass |
| r6-03-qwen-flash | XML | pass | fail | pass |
| r6-04-glm-flash | Storm | fail | pass | pass |
| r6-04-glm-flash | XML | fail | fail | pass |
| r6-05-minimax | Storm | fail | unreachable | fail |
| r6-05-minimax | XML | not_assessable | not_assessable | not_assessable |
| r6-06-luna | Storm | fail | fail | pass |
| r6-06-luna | XML | pass | fail | fail |
| r6-07-terra | Storm | fail | pass | pass |
| r6-07-terra | XML | pass | fail | pass |
| r7-01-haiku | Storm | fail | fail | pass |
| r7-01-haiku | XML | fail | pass | pass |
| r7-02-sonnet | Storm | fail | pass | pass |
| r7-02-sonnet | XML | pass | pass | pass |
| r8-01-sonnet | Storm | fail | pass | pass |
| r8-01-sonnet | XML | pass | fail | fail |
| r8-02-haiku | Storm | fail | fail | pass |
| r8-02-haiku | XML | fail | uncertain | pass |
| r9-01-haiku | Storm | fail | fail | pass |
| r9-01-haiku | XML | fail | abstract | pass |
| r9-02-sonnet | Storm | fail | pass | pass |
| r9-02-sonnet | XML | pass | fail | pass |