# 六爻排盘核心算法修复 ## 背景 经过六爻算数大师审查,发现排盘核心算法存在多个P0致命问题和P1严重问题。 审查报告详见: `docs/plans/liuyao-algorithm-audit.md` ## 修复范围 ### Phase 1: P0致命问题(必须修复) 1. **空亡判断混入时柱空亡** - 文件: `backend/src/core/divination/derivation.py:254-259` - 问题: 将日空亡和时空亡合并使用 - 修复: 仅使用日柱空亡 2. **暗动判断逻辑根本性错误** - 文件: `backend/src/core/divination/derivation.py:262-276` - 问题: 仅判断空亡爻被冲;月冲标注为暗动 - 修复: 暗动=静爻+旺相+日冲;月冲=月破 ### Phase 2: P1严重问题(建议修复) 3. **月破未单独标注** 4. **动不为空、旺不为空规则未实现** 5. **三合局未实现**(可选,后续迭代) 6. **反吟伏吟未实现**(可选,后续迭代) ## 验收标准 1. 空亡仅从日柱计算,时柱空亡不参与判断 2. 暗动判断正确:静爻+旺相+日冲 3. 月破独立标注,不与暗动混淆 4. 动爻不标空亡,旺相爻不标空亡 5. 所有修改通过单元测试 6. 排盘准确率提升至90%+ ## 技术约束 - 遵循 `backend/AGENTS.md` 规范 - 使用 `uv run` 执行Python命令 - 修改后运行 `ruff` 和 `basedpyright` 检查 - 不破坏现有API接口 ## 古法依据 - 《增删卜易》:"空亡者,旬空也,以日干支论之。" - 《增删卜易》:"暗动者,旺相之爻,日辰冲之是也。" - 《增删卜易》:"动不为空,旺不为空。"