Repository navigation
本次修复梅花易数的变卦与互卦计算错误,并补强从爻位计算到实际 MCP 输出的回归验证。
梅花易数正确性修复
- 统一八卦数组与反向映射的爻序:从下到上排列,动爻 1 为初爻、6 为上爻。数字起卦和时间起卦均生效。
- 修复初/三爻、四/六爻动时变卦位置颠倒的问题,以及互卦取爻错误。例如:天泽履四爻动为风泽中孚,六爻动为兑为泽;山雷颐初爻动为山地剥,互卦为坤为地。
- 按项目现有取互规则,旧实现中 384 种变卦组合有 256 种错误,64 卦的互卦有 60 种错误。乾、坤、既济、未济的互卦原本正确。
输入参数、输出文本结构、本卦、动爻编号与本卦体用关系保持兼容。升级后,曾使用旧版梅花互变卦生成解读的用户,应重新排盘并复核相关解读。
计算约定与来源见 README:互卦取第 2、3、4 爻为下卦,第 3、4、5 爻为上卦;乾、坤沿用相同规则。
回归与维护
- 纠正旧测试中随错误实现写入的期望值;通过独立位运算检查全部 384 种变卦与 64 种互卦。
- 将报告中的六组输入及古籍观梅占纳入实际 MCP 输出验证,stdio、Worker HTTP 和部署后的 smoke 均检查具体卦象。
- 修复六爻辅助函数
getGua64InfoByYao的同类爻序反转,澄清编码注释,并遍历 64 卦校验爻值、阴阳入口及卦名的一致性。六爻编码表原值不变;现有liuyao_basic主流程未调用该辅助函数,其排盘结果不受这项修复影响。
致谢
特别感谢 @1270643866(Wang) 在 Issue #2 中提交真实卦例、线上复现步骤、准确的根因分析和修复建议,并指出旧测试期望值本身也有错误。这份细致的报告帮助我们修正了核心计算,也改进了验证方式。