4.3 KiB
4.3 KiB
切片 08:问天、观势、观气与观心
基线:
2919229(切片 07) 回档标签:xiaobai-preservation-slice-08-20260731结论:源码、API、数据库、真实页面、动画与全量回归通过;最终视觉仍等待全站人工验收
1. 原实现归位
本切片只移动原版问天 Agent、历法/卦象引擎、服务、持久化与三个 HTTP 入口,没有从
next/取用代码,也没有改写六爻、安全门、五运六气、个人合参、铜钱起卦、历史去重或
LLM 解读逻辑。
| 原位置 | 新的唯一实现位置 | 兼容方式 |
|---|---|---|
app/heaven_agent.py |
app/backend/features/heaven/agent.py |
根级模块指向同一模块对象 |
app/heaven_engine.py |
app/backend/features/heaven/engine.py |
根级模块指向同一模块对象 |
DashboardService问天方法 |
app/backend/features/heaven/service.py |
HeavenServiceMixin |
| 问天历史持久化 | app/backend/features/heaven/repository.py |
HeavenRepositoryMixin |
| 三个问天 POST 入口 | app/backend/features/heaven/http.py |
HeavenHttpMixin |
历法引擎搬迁后仍从app/vendor及app/data/iching_zh.json读取原资源;这是唯一资源路径适配,
顶层函数与类定义未变。旧测试依赖的根级模块继续有效。
2. 源码等价
heaven_agent.py与原版文件 SHA-256 一致。heaven_engine.py所有顶层函数和类与原版无位置信息 AST 一致。- 20个问天服务方法中19个与原版 AST 一致;
_heaven_reading_identity仅将旧巨型类名DashboardService替换为已归位的MarketServiceMixin静态日期格式化方法。 - 5个问天 Repository 方法与原版 AST 一致。
- 三个 HTTP 方法只把全局
SERVICE改为 Mixin 的self.application_service,状态码、字段和异常语义不变。 DashboardService、ReviewDatabase与RequestHandler不再重复保留已迁移实现。
3. API 与数据库差分
- 原版
8788和迁移版8789使用同一正式数据库的两个临时副本。 - 固定日期的问天初始化、三类历史读取、六爻成卦和个人五行计算共6个接口,状态码与业务 JSON 完全一致。
- 未调用真实
/api/heaven/interpret,避免外部模型波动及测试记录写入;提示词和调用链由源码等价与单元测试覆盖。 - 两版均为62个 schema 对象;
heaven_readings、users、system_settings、llm_usage、user_birth_profiles和sector_phase_overrides逐行一致。 - 差分只在系统临时目录副本运行,正式数据库未写入问天记录或 LLM 用量。
4. 真实浏览器与动画检查
- 1920×1080视口逐页检查观势、观气、观心,无横向溢出,页面滚动边界可用。
- 观势保留星空、三才六爻与八卦待载入场景;观气生成100个星点,五运六气环动画名为
wt-spin, 五行行业默认折叠;观心呼吸波纹、香火燃烧和阶段文字均持续运行。 - 夜间模式问天背景为
rgb(11, 17, 32),全页无控制台错误。 - 没有触发真实解势、解运或解卦调用,加载动画的静态资产及脚本未改动。
- 截图 SHA-256:
heaven-trend-1080.png:9e70d9cbfd741e74d3c4511c0e76ef8e625a6a31fd5d6bde014103f807bcc76eheaven-fortune-1080.png:e4cdf0e0fc1d9325724654a781febed1d509e49ddccecb3355803b5e9f1d2f5cheaven-heart-breathing-1080.png:3493a59b9032c1a8a1ba7da609b499c736170d2c7947b3aa0ac4c8b95d981ff5heaven-heart-dark-1080.png:3d346fea6b593fa4e43037f5fc68eda1a3f3446a223c2022d9084922f646a088
5. 自动验证与保留边界
| 验证 | 结果 |
|---|---|
原版python -m unittest discover -s tests -q |
231项通过 |
迁移版python -m unittest discover -s tests -q |
280项通过 |
python -m unittest tests.test_preservation_slice_heaven -q |
7项通过 |
npx.cmd playwright test --reporter=dot |
45项通过(2.2分钟) |
git diff --check |
通过 |
- 复盘助手、交易日志、自选、笔记与提醒属于切片09,本切片不提前移动。
- 前端 DOM、页面 JS、CSS和移动端行为未改动,统一归档延至切片10。
static/heaven-loading.js是否失效仍不确定,继续保留到切片11试删。- 没有删除待定代码、没有修改正式数据库、没有测试或切换 Docker/NAS。