Validation: integrated AI GameMaster vertical slice
Окружение#
| Параметр | Фактическое значение |
|---|---|
| Дата проверки | 2026-07-25 (Asia/Ho_Chi_Minh) |
| Commit | working tree; git snapshot не использовался |
| OS и hardware | macOS 26.4 build 25E246; Apple M1 Pro; arm64 |
| Runtime | Node.js 24.14.0; npm 11.9.0; Bun 1.3.6 |
| Compiler и libraries | TypeScript 7.0.2; Ajv 8.20.0; fast-check 4.9.0 |
| Внешние сервисы | none; 0 paid/model/provider calls |
| Входные данные | local original-IP fixtures |
Результаты по критериям#
| ID | Проверка | Ожидалось | Получено | Evidence | Результат |
|---|---|---|---|---|---|
| AC-01 | demo lifecycle | commit before narration | Accepted event advanced state 0 → 1; narration declares generatedAfterStateVersion: 1 |
E-006, E-008 |
pass |
| AC-02 | replay hash | identical SHA-256 | Live/replay 394ba5c11df11b9ccd4f6e76b3b14d08fcc007df32e3f788064a055ccb7a0f94; 1,000-event live/full/checkpoint hash also identical |
E-008, E-011 |
pass |
| AC-03 | contract validators | invalid inputs rejected | Schema versions, references, reachability and gated movement negative cases rejected | E-006, E-007 |
pass |
| AC-04 | adversarial suite | 0 leaks/mutations | 16 cases; 0 failures, invalid transitions, leaks or duplicate commits; two 200-run properties passed | E-009, E-010 |
pass |
| AC-05 | clean install + full check | both exit 0 | npm ci: 68 packages installed, 0 vulnerabilities; then 4 site tests + 41 technical tests, typecheck, 10 studies, 96 docs and rendered links passed |
E-014 |
pass |
| AC-06 | benchmark boundary | local report + Unknown real metrics | Proxy 162,515 → 34,160 (78.9804%); cost null, narration not measured, non-inferiority not tested | E-012 |
pass |
Команды проверки#
npm run technical:demo
npm run technical:benchmark
bun run RnD/technical/2026-07-25-ai-gm-vertical-slice/prototype/src/cli.ts demo
npm run check
Метрики#
| Метрика | Фактическое значение | Граница утверждения |
|---|---|---|
| Central vertical tests | 10/10 pass | Local deterministic implementation |
| Expanded technical tests | 41/41 pass, 0 TODO | All 10 studies on this checkout |
| Adversarial corpus | 16/16 pass | Named synthetic cases only |
| Property runs | 2 × 200 pass | Fixed seed 20260725 |
| Long session | 1,000 events; checkpoint 500 verified | Synthetic event stream |
| State hashes | live = full replay = checkpoint replay | Current hash/serializer/runtime contract |
| Input-token proxy | 162,515 → 34,160; −78.9804% | UTF-8 bytes/4 proxy, not provider tokens |
| Provider calls and USD cost | 0 calls; cost null |
No real-model economics measured |
| Narration quality/non-inferiority | not_measured / not_tested |
Requires approved real-model experiment |
Ошибки и нестабильность#
RED run: 3/3 initial test files failed because implementation modules did not exist. During integration, tests exposed two real contract gaps: unknown contract/state versions were accepted and checkpoint replay trusted an unverified checkpoint. Version schemas/semantic migration checks and mandatory prefix verification were added; expanded suite then passed 41/41.
Воспроизводимость#
Node and Bun repeated the same demo result on one machine. There was no independent clean checkout, Linux/CI run, real provider run or production load test.
Финальный исход#
- Outcome:
partial - Обоснование: AC-01–AC-06 прошли на локальном воспроизводимом runtime prototype, full repository gate завершился exit 0, но dedicated Adventure/Map authoring contracts не компилируются в этот runtime bundle. Cross-study interoperability не доказана.
- Что результат не доказывает: arbitrary-genre narrative quality, production reliability/durability/concurrency, real LLM correctness, authoring-to-runtime interop, non-inferiority, latency, token usage или USD cost.