# Research: Strong LLM core escalation ## Baseline Flash run-3 завершил 12/12 jobs, но не дал bilingual 6/6 winner. Frozen deterministic scorecard: Qwen 4/6, DeepSeek 4/6. Independent agent semantic audit: Qwen 4/6, DeepSeek 3/6. Intent прошёл у обеих моделей на обоих языках; основные риски остались в RU scenario и grounded narration. Новый study не пересчитывает и не изменяет Flash artifacts. Он импортирует только frozen prompt builder и role scorers, а provider outputs хранит в отдельной evidence chain. ## Метод ### Phase A: screening ```text models = deepseek/deepseek-v4-pro, mistralai/mistral-large-2512 languages = ru, en roles = scenario, narration seeds = 20260726 calls = 2 × 2 × 2 × 1 = 8 ``` Scenario и narration выбраны потому, что именно эти lanes не дали общего Flash winner. Intent исключён из screening, но возвращается в независимом finalist confirmation. ### Selector Для каждой из четырёх cells на модель фиксируются: - `deterministicPassed`; - `semanticScore: 0 | 1 | 2`; - `criticalGroundingFailure`. Semantic rubric: - `2` — grounded, coherent, usable, без неподтверждённых facts/effects; - `1` — minor defect, canonical meaning и grounding сохранены; - `0` — contradiction, invented state/effect/identity, privacy leak или unusable output. Eligible model должна иметь 4/4 deterministic, четыре semantic scores не ниже 1 и 0 critical grounding failures. Eligible candidates ранжируются: 1. число cells с `deterministicPassed && semanticScore === 2`; 2. сумма semantic scores; 3. при равенстве — меньшая published Comfy price. На дату фиксации DeepSeek дешевле Mistral и по input, и по output, поэтому tie-break не зависит от неизвестного token mix. ### Phase B: conditional held-out finalist confirmation ```text model = unique selector winner languages = ru, en roles = scenario, intent, narration seeds = 20260727, 20260728, 20260729 calls = 1 × 2 × 3 × 3 = 18 ``` Screening seed и outputs не входят в confirmation. Full-role `pass` требует 18/18 deterministic, semantic score не ниже 1 во всех cells и отсутствие critical grounding/privacy failures. Phase B запускается только после `status: selected`; фактический selector вернул `no_eligible_candidate`, поэтому 18-call phase не materialized и не расходовала кредиты. ## Наблюдаемые результаты Comfy batch завершился `8 ready / 0 pending / 0 failed`. Все восемь raw responses сохранены byte-for-byte и связаны с job ID и SHA-256. | Model | Deterministic | Semantic scores | Critical failures | Selector | |---|---:|---|---:|---| | `deepseek/deepseek-v4-pro` | 4/4 | RU scenario `0`, RU narration `1`, EN scenario `2`, EN narration `1` | 1 | ineligible | | `mistralai/mistral-large-2512` | 0/4 | все четыре `0` | 2 | ineligible | DeepSeek RU scenario формально компилировался, но successful branch разрешал гравитационные колебания в зоне соусов и объявлял аудит пройденным, хотя immutable story facts требовали постоянный `1G` и запрещали зоны `G<1`. Independent audit классифицировал это как critical grounding failure. Все Mistral outputs содержали Markdown fences вопреки exact-JSON contract и были непригодны для direct parser. Дополнительно обе Mistral narration cells выдумывали canonical identities/logging aftermath. Это наблюдение относится к фиксированной fixture и одному seed, а не доказывает общую неспособность модели. ## Выбор кандидатов ### DeepSeek V4 Pro Официальная карточка публикует weights под MIT и позиционирует V4 Pro как более крупный reasoning/agentic tier относительно V4 Flash. Exact Comfy ID подтверждён live dynamic combo. ### Mistral Large 3 2512 Mistral называет Large 3 своим самым мощным general-purpose open model: 675B total / 41B active, Apache 2.0, multilingual conversations, system-prompt adherence и JSON output. Он выбран как orthogonal multilingual generalist/narrator. Это credible frontier candidate, а не заранее доказанный победитель Flash: превосходство должен показать этот benchmark. ### Отклонённый Qwen upgrade `qwen/qwen3.6-27b` имеет открытые Apache-2.0 weights и был первоначальным controlled upgrade для Qwen Flash, но live Comfy catalog его не содержит. Доступные Qwen Plus/Max являются API-only и нарушают open-weight scope. Поэтому Qwen заменён до первого paid call; изменение сохранено как pre-run catalog decision, а не скрыто. ## Evidence registry | ID | Тип | Наблюдение | Источник | Дата доступа/измерения | |---|---|---|---|---| | E-001 | Baseline measurement | Flash run-3: 12/12 ready; deterministic Qwen 4/6, DeepSeek 4/6; semantic Qwen 4/6, DeepSeek 3/6; no winner | [`../2026-07-26-flash-llm-core-evaluation/`](../2026-07-26-flash-llm-core-evaluation/) | 2026-07-26 | | E-002 | Primary source | Mistral Large 3: open weights, 675B/41B, Apache 2.0, multilingual/general-purpose | [Mistral release](https://mistral.ai/news/mistral-3/), [official model card](https://huggingface.co/mistralai/Mistral-Large-3-675B-Instruct-2512-BF16) | 2026-07-26 | | E-003 | Primary source | DeepSeek V4 Pro weights доступны под MIT; exact candidate описан официальной карточкой | [official model card](https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro) | 2026-07-26 | | E-004 | Live service measurement | Hosted MCP: production `https://cloud.comfy.org`, version `0.32.0`, OAuth authenticated, 36 tools | `get_server_info` | 2026-07-26 | | E-005 | Live catalog measurement | `OpenRouterLLMNode.model` содержит 33 exact options; DeepSeek Pro и Mistral Large присутствуют, Qwen 27B отсутствует | `get_node(["OpenRouterLLMNode","SaveText"])`; catalog artifact | 2026-07-26 | | E-006 | Primary source | Comfy pricing: DeepSeek Pro 131.25/262.51, Mistral Large 150.87/452.60 input/output credits per 1M | [Comfy Partner Node pricing](https://docs.comfy.org/tutorials/partner-nodes/pricing) | 2026-07-26 | | E-007 | Local measurement | Sibling harness фиксирует 8/18 matrices, frozen prompt hashes, catalog gate и selector; historical Flash evaluator/tests byte-identical | `npm run test:technical`; `npm run typecheck`; SHA-256 audit | 2026-07-26 | | E-008 | Live measurement | Screening batch: 8/8 ready, 0 failed; raw outputs, job binding, telemetry Unknown fields и deterministic scorecard сохранены | [`artifacts/raw/screening/`](artifacts/raw/screening/), [`artifacts/derived/screening-jobs.json`](artifacts/derived/screening-jobs.json), [`artifacts/derived/screening-scorecard.json`](artifacts/derived/screening-scorecard.json) | 2026-07-26 | | E-009 | Independent audit + derived decision | Explicit model metadata скрыта в изолированном packet; review связан с raw SHA; selector вернул `no_eligible_candidate`, evidence SHA `667d7b7b9bff762c11d59ffe7078430260888d8e99d91eb7b6ca31a5cb951e00` | [`artifacts/derived/screening-semantic-review.json`](artifacts/derived/screening-semantic-review.json), [`artifacts/derived/screening-evidence.json`](artifacts/derived/screening-evidence.json), [`artifacts/derived/finalist-selection.json`](artifacts/derived/finalist-selection.json) | 2026-07-26 | | E-010 | Operational measurement | Первый dry-run был отклонён до validation из-за reused OAuth refresh token; после official `codex mcp login` server снова authenticated и 8/8 dry-run прошли без jobs/credits | [`artifacts/derived/oauth-recovery-log.json`](artifacts/derived/oauth-recovery-log.json), [`artifacts/derived/screening-dry-run.json`](artifacts/derived/screening-dry-run.json) | 2026-07-26 | | E-011 | Artifact audit | 40 checks подтвердили protocol/catalog bindings, 8 request/job/raw chains, scorer/review join, selector recompute, telemetry Unknowns и отсутствие finalist materialization | [`artifacts/derived/artifact-audit.json`](artifacts/derived/artifact-audit.json) | 2026-07-26 | | E-012 | Post-run trust-boundary verification | Frozen protocol/catalog binding и no-overwrite guard добавлены после independent review; source-artifact join пересобрал historical evidence и selection byte-for-byte; 90/90 technical tests и strict typecheck прошли | [`prototype/run.ts`](prototype/run.ts), [`prototype/screening-evidence.ts`](prototype/screening-evidence.ts), [`prototype/run.test.ts`](prototype/run.test.ts), [`prototype/screening-evidence.test.ts`](prototype/screening-evidence.test.ts) | 2026-07-26 | ## Журнал экспериментов | Время | Изменение или попытка | Наблюдение | Evidence | Вывод | |---|---|---|---|---| | 2026-07-26, до paid calls | Предложены Qwen 27B + DeepSeek Pro | Qwen 27B подтверждён upstream, но отсутствует в live Comfy combo | E-005 | Нельзя предполагать provider availability | | 2026-07-26, до paid calls | Проверены альтернативы только из live catalog | Mistral Large 3 имеет Apache-2.0 weights и наиболее релевантный multilingual/general narrative profile | E-002, E-005 | Кандидаты зафиксированы как DeepSeek Pro + Mistral Large | | 2026-07-26, до paid calls | Добавлен deterministic price tie-break | DeepSeek дешевле Mistral по input и output в одной официальной таблице | E-006 | Равная capability не приводит к произвольному model-order winner | | 2026-07-26, до paid calls | Новый sibling harness вместо правки Flash run-3 | Frozen historical evaluator/tests сохранили SHA; new tests/typecheck прошли | E-007 | Historical evidence не инвалидируется | | 2026-07-26, до paid calls | Первый 8-cell dry-run | Все запросы остановились на `invalid_grant: refresh token reuse detected`; 0 validation, 0 jobs, 0 credits | E-010 | OAuth health нужно подтверждать непосредственно перед batch | | 2026-07-26, до paid calls | Official OAuth login через connected Chrome | CLI сообщил successful login; production MCP `0.32.0` снова authenticated; повторный dry-run 8/8 validated | E-010 | Transport восстановлен без повторной платной отправки | | 2026-07-26, screening | Один paid batch из 8 single-call workflows | Comfy подтвердил 8 ready, 0 pending, 0 failed; raw outputs сохранены | E-008 | Evidence chain полна по transport/output | | 2026-07-26, scoring | Frozen deterministic scorers | DeepSeek 4/4, Mistral 0/4; все Mistral responses fenced | E-008 | Формальный parser gate отклоняет Mistral | | 2026-07-26, audit | Independent review в изолированном контексте со скрытой explicit model metadata, затем verified join | DeepSeek 3/4 semantic с 1 critical; Mistral 0/4 semantic с 2 critical | E-009 | Ни одна модель не eligible | | 2026-07-26, selector | Recompute из evidence SHA `667d7b7b9bff762c11d59ffe7078430260888d8e99d91eb7b6ca31a5cb951e00` | `no_eligible_candidate`; selected model `null` | E-009 | Finalist phase не запускается и outcome = `fail` | | 2026-07-26, post-run review | Changes review проверил не только outcome, но и trust boundary harness | Подготовка теперь bind к frozen protocol/catalog и не перезаписывает non-empty output; selector/finalist API принимает только evidence, выведенный из scorecard + review + private map | E-012 | Historical bytes и terminal decision не изменились; обход join закрыт | ## Unknown - Фактический credit delta, token counts, retries и per-job latency: текущие MCP batch/output tools их не вернули; поля сохранены как `null`/Unknown. - Human naturalness для RU/EN narration. - Production variance, provider drift и seed determinism. - Story coherence за пределами bounded fixture; held-out finalist seeds не запускались из-за failed selector gate. - Authoring Adventure/Map -> runtime compiler interop.