fix(chart): skip VedAstro on chart-page first paint
Independent Staging Quality Gate / validate (push) Canceled after 2m16s
Independent Staging Quality Gate / publish (push) Canceled after 0s

The natal /api/chart request from the chart page now sends skip_vedastro_main_entry_overview, matching the ephemeris page. Mapper and contract never read that evidence. BUG-718 recurs from BUG-161. Tests lock both foreground natal paths.
This commit is contained in:
jesse-ux
2026-09-16 00:22:00 +08:00
parent ce1939b074
commit 62be52dacf
8 changed files with 99 additions and 3 deletions
+16
View File
@@ -11157,3 +11157,19 @@
- 相关记录:BUG-707、BUG-715、BUG-716、TASK-chart-page-blocking-open-20260915
- 复发自:无
- 修复版本:待发布
## BUG-718 | 星盘页首屏 `/api/chart` 同步挂上 VedAstro 外部证据,页面却不读它
- 状态:resolved
- 首次发现:2026-09-15
- 最近更新:2026-09-15
- 影响面:`frontend/src/lib/chart-view-load.ts``GET /api/chart-view``/chart`
- 用户现象:打开星盘要等零点几秒到数秒;生产上缓存未命中时会同步等外部占星服务。盘面本身用的是本站 Swiss Ephemeris。
- 触发条件:登录后打开 `/chart`,出生资料齐全,引擎缓存未命中。
- 根因:`/api/chart` 默认会 `_attach_vedastro_main_entry_overview`(完整 snapshot + 三领域扫描)。跳过要显式传 `skip_vedastro_main_entry_overview`。BUG-161 只给 `/api/consult` 装了这个标志。星历页传了,2026-09-15 新建的星盘页没传。`chart-view-mapper` / `chart-view-contract` 不读这份证据。
- 修复:`birthPayload()` 带上 `skip_vedastro_main_entry_overview: true`,与星历页同一写法。不改引擎默认行为,解读链仍取外部证据。
- 验证:合同测试锁住星盘 BFF 与星历两处 natal/transit 请求都带该标志;删掉 `birthPayload` 那一行测试必须红。
- 防复发:任何前台页面路由调 `/api/chart` 必须显式声明外部证据策略,并有合同测试覆盖;新增页面路由时按此检查。
- 相关记录:BUG-161、BUG-065、BUG-715、BUG-716、BUG-717、ERR-107、ERR-108、TASK-chart-page-blocking-open-20260915
- 复发自:BUG-161
- 修复版本:待发布