# 0001：规则引擎是游戏状态唯一裁判

## 状态

已采用。

## 背景

项目同时包含真人输入、mock AI、LLM AI、语音输入、音频播放和服务端持久化。随着功能增加，如果 UI、AI 或 API route 都能直接改变游戏状态，规则会很快失控。

## 决策

`src/game` 中的规则引擎是游戏状态的唯一裁判。

AI、UI、语音输入和 API 只能提交命令或候选动作，最终状态变化必须由规则引擎完成。

## 影响

- AI 不能因为提示词说了什么就越权行动。
- UI 不能直接修正游戏状态。
- API route 应该保持薄，只负责接收请求和调用服务层。
- 新玩法优先补规则测试。
- 旧游戏快照需要通过 `hydrateGameState` 兼容。
