Карта 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.
Зависимости#
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 | Можно ли сохранить один strict-TS codepath для Node.js и Bun без второго lockfile? | Один .ts verifier запускается обоими runtime; npm остаётся единственным installer |
GO для Node.js 24 primary + Bun compatibility smoke |
| Game Contract / canonical state | Можно ли отделить authoritative state от LLM и клиента? | Versioned schemas, semantic validation, pure state transition и audience projections | GO для typed canonical boundary |
| Rules engine / authoritative RNG | Можно ли получить аудируемый исход до narration? | Server RNG, полная roll record, idempotency и expected-version rejection | GO; fabricated client/model rolls запрещены |
| Adventure Contract generation | Можно ли превратить 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 | Можно ли валидировать topology, locks, reachability и visibility до запуска? | Graph validator и нефэнтезийный fixture | GO для graph contract; large-world scalability пока Unknown |
| AI GameMaster orchestration | Можно ли оставить модели proposal/narration roles без mutation authority? | Intent → validate → rules/RNG → commit → projection → narration | GO; direct LLM state mutation — KILL |
| Event log, memory and replay | Воспроизводится ли длинная сессия через 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 | Закрываются ли невозможные действия, injections, stale/duplicate commands и split secrets? | Named corpus + fixed-seed properties | GO для pre-production regression gate |
| LLM routing/cost-quality | Можно ли честно сравнить 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 | Складываются ли 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 | Может ли хотя бы одна фиксированная 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 | Устраняет ли более мощный 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 | Как отдельно влияют 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.