# Карта Technical R&D: genre-neutral AI GameMaster Дата среза: **2026-07-26** Серия проверяет не качество готового продукта, а минимальные технические границы, в которых хост может задать произвольный мир и тон, authoring stage предлагает Adventure/Map contracts, а live-game остаётся детерминированной и server-authoritative. Authoring и runtime contracts пока проверены отдельно: их compiler/mapping interop остаётся `Unknown`. ## Зависимости ```text TypeScript runtime/toolchain ├─ Game Contract / canonical state ─ Rules/RNG ─ Event log/replay ├─ Adventure authoring contract ─┐ └─ Map authoring contract ───────┴─ [interop compiler: not implemented] Runtime Game/Adventure/Map bundle └─ AI GM orchestration ─ Adversarial/privacy ─ Cost harness ─ Kernel slice Adventure authoring + AI GM orchestration + Cost harness └─ Flash LLM core evaluation (scenario / intent / narration, RU + EN) └─ Strong open-weight escalation (DeepSeek V4 Pro / Mistral Large 3) └─ DeepSeek prompt × reasoning factorial ``` ## Исследования и решения | Исследование | Главный вопрос | Исполнимое доказательство | Решение серии | |---|---|---|---| | [TypeScript runtime/toolchain](2026-07-25-typescript-runtime-toolchain/README.md) | Можно ли сохранить один strict-TS codepath для Node.js и Bun без второго lockfile? | Один `.ts` verifier запускается обоими runtime; npm остаётся единственным installer | **GO** для Node.js 24 primary + Bun compatibility smoke | | [Game Contract / canonical state](2026-07-25-game-contract-canonical-state/README.md) | Можно ли отделить authoritative state от LLM и клиента? | Versioned schemas, semantic validation, pure state transition и audience projections | **GO** для typed canonical boundary | | [Rules engine / authoritative RNG](2026-07-25-rules-engine-authoritative-rng/README.md) | Можно ли получить аудируемый исход до narration? | Server RNG, полная roll record, idempotency и expected-version rejection | **GO**; fabricated client/model rolls запрещены | | [Adventure Contract generation](2026-07-25-adventure-contract-generation/README.md) | Можно ли превратить genre-neutral Host Preferences в конечный fail-forward one-shot? | Original sci-fi comedy draft компилируется детерминированно; broken refs/graphs отклоняются | **GO** для contract/compiler boundary; универсальное narrative quality пока **Unknown** | | [Map and spatial consistency](2026-07-25-map-spatial-consistency/README.md) | Можно ли валидировать topology, locks, reachability и visibility до запуска? | Graph validator и нефэнтезийный fixture | **GO** для graph contract; large-world scalability пока **Unknown** | | [AI GameMaster orchestration](2026-07-25-ai-gm-orchestration/README.md) | Можно ли оставить модели proposal/narration roles без mutation authority? | Intent → validate → rules/RNG → commit → projection → narration | **GO**; direct LLM state mutation — **KILL** | | [Event log, memory and replay](2026-07-25-event-log-memory-replay/README.md) | Воспроизводится ли длинная сессия через checkpoint без privacy leak? | 1 000 events, verified checkpoint и одинаковые live/full/checkpoint hashes | **GO** для verified replay boundary; correction metadata, branch chronology и durable store ещё не закрыты | | [Adversarial rules/privacy](2026-07-25-adversarial-rules-privacy/README.md) | Закрываются ли невозможные действия, injections, stale/duplicate commands и split secrets? | Named corpus + fixed-seed properties | **GO** для pre-production regression gate | | [LLM routing/cost-quality](2026-07-25-llm-routing-cost-quality/README.md) | Можно ли честно сравнить full-context и bounded-context стратегии без платного model run? | Same-manifest local harness и machine-readable Unknown fields | **PIVOT** к разрешённому real-model benchmark: harness готов; quality, latency, retries, provider tokens и USD cost не измерены | | [Integrated vertical slice](2026-07-25-ai-gm-vertical-slice/README.md) | Складываются ли runtime contracts, authority, privacy, replay и bounded narration в один turn lifecycle? | CLI demo на отдельном runtime bundle, schemas, adversarial report, benchmark и long-session artifact | **PIVOT**: kernel slice подтверждён; authoring Adventure/Map → runtime interop не реализован | | [Flash LLM core evaluation](2026-07-26-flash-llm-core-evaluation/README.md) | Может ли хотя бы одна фиксированная Flash-модель выполнить три bounded core-роли на русском и английском? | Raw SaveText outputs, exact run manifest и deterministic TypeScript scorecard | **INCONCLUSIVE**: run-3 12/12 complete; no bilingual 6/6; human/billing missing | | [Strong open-weight LLM core escalation](2026-07-26-strong-llm-core-escalation/README.md) | Устраняет ли более мощный open-weight tier failures в bilingual scenario/narration и допускает ли held-out full-role finalist? | Frozen 8-call screen, Comfy job/raw SHA chain, TypeScript scorecard, metadata-blind semantic audit и preregistered selector | **FAIL**: DeepSeek 4/4 deterministic, но 1 critical semantic failure; Mistral 0/4 deterministic; selector = `no_eligible_candidate`, finalist calls = 0 | | [DeepSeek core instrument factorial](2026-07-26-deepseek-core-instrument-factorial/README.md) | Как отдельно влияют semantic-invariant prompt и reasoning effort на DeepSeek Pro при неизменных hard gates? | Frozen 2×2 matrix, 24 screening workflows, unchanged scorer/rubric и conditional 18-call confirmation | **PENDING**: protocol frozen до provider calls | ## Зафиксированные границы - **Fact:** Knave 1e используется только как атрибутированная механическая research-база; продуктовая rules/content schema оригинальна и genre-neutral. - **Measurement:** локальный original sci-fi comedy fixture проходит contract, rules, privacy и replay gates. Это доказывает нефэнтезийную применимость интерфейса, но не «любой жанр». - **Inference:** authoritative rules/RNG/event log должны оставаться обычным кодом; модель получает только разрешённую projection и не является source of truth. - **Measurement:** strong-tier screen завершён 8/8 jobs. Ни один кандидат не прошёл combined deterministic + semantic gate; это относится к одной фиксированной RU/EN fixture и одному screening seed. - **Hypothesis:** DeepSeek failure может быть instrument-limited: prior run использовал reasoning `off`, а prompt не требовал joint truth всех immutable facts. Новый factorial измеряет оба эффекта раздельно. - **Unknown:** human narrative quality, genre-diverse reliability, provider drift, retries, token count, per-job latency и фактический credit delta. - **Unknown:** совместимость richer Adventure/Map authoring contracts с минимальными runtime contracts vertical slice. Общий package или versioned compiler/mapping ещё не реализован. ## Следующий продуктовый шаг Выполнить frozen DeepSeek prompt × reasoning factorial без изменения gates. Только eligible config допускается к all-role confirmation. Независимо от model outcome, свести authoring и runtime contracts в один versioned package либо явный compiler/mapping и доказать end-to-end path от HostPreferences до первого committed turn. Перед production-выбором provider потребуется genre-diverse corpus, несколько seeds, human narrative rubric и измеримый budget control.