Реестры флагов/варов + кросс-валидация + pre-commit хук
...
- data/ids.ts: FLAGS/VARS (id = значение, doc — семантика), типы
FlagId/VarId, usedFlag() для used:<id> (была конкатенация в 3 местах).
- Контент и сцена на константах: dialogues/interactables/quests/npcs,
LocationScene (vars), Interactables, GameAgent; QuestStage.effect —
union QuestEffect, doneFlag/flagKey/progressKey типизированы.
- validateReferences(): флаг/вар вне реестра — error, мёртвый ключ —
warn, битые ссылки квестов на NPC/диалоги — error (+3 теста).
- pre-commit хук .githooks/ (check:fast = typecheck+guard+тесты),
автоподключение через "prepare". Доки: CLAUDE.md, practices.md.
Co-Authored-By: Claude Code <noreply@anthropic.com>