Files
Jyotisha/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md
T
jesse-ux a38a941522
Independent Staging Quality Gate / validate (push) Failing after 8m1s
Independent Staging Quality Gate / publish (push) Skipped
fix(qizheng): pass school options into the vendored chart and stabilize gates
BUG-710: call getSevenGovernorsChart with ketuMode/siderealMode so
calculation.ketu_mode is the engine school, not the request echo.
BUG-711: stop forbidding /ephemeris in the sidebar contract.
BUG-712: compare ephemeris event longitudes at 6 decimals and fail
closed when the golden is missing.
2026-09-15 17:54:20 +08:00

2.5 KiB
Raw Blame History

PROGRESS · 三份只读页单验收修复(2026-09-16)

  • 执行分支:codex/readonly-pages-fix-20260916
  • 工作树:.worktrees/readonly-pages-fix-20260916
  • 基线:origin/staging @ 6bb892b8(含 fadb64fb 任务书与 page.tsx 1951 冻结修复)

方案选择

BUG-710 走任务书方案 A。 vendored cli.cjs 里的库函数 getSevenGovernorsChart(date, location, options) 接受 ketuMode / siderealModeCLI main() 调用时不传 options。本单用 scripts/qizheng_seven_governors.js 在内存编译该 bundle、取出库函数并传入 options,不改 vendor/** 字节、不加 CLI 旗标。

做了什么

  • BUG-710 请求派别真正进入引擎。calculation.ketu_mode / sidereal_mode 只写实际生效值。mapper 读 calculation.engine_ketu_mode
  • BUG-711 星历合同不再禁止 sidebar 出现 ephemeris。侧栏「星历」入口保留。
  • BUG-712 浮点量化到 6 位;golden 缺失失败,不自动重建。

测试

结果
node --version v22.23.2
pytest tests/test_qizheng_chart_engine.py tests/test_ephemeris_events.py tests/test_qizheng_api_productization.py 21 passed
pytest tests/test_api_server_growth_contract.py 通过(未改 jyotish_api_server.py
npx tsx --test tests/ephemeris-page.test.tsx 6/6
npx tsx --test tests/chart-view-route.test.ts 8/8(含冻结上限与 mapper 引擎字段)

既有断言变更(AGENTS.md §7.3

frontend/tests/ephemeris-page.test.tsx「the ephemeris page is its own route and never grows page.tsx」:

原值 assert.doesNotMatch(app-sidebar.tsx, /ephemeris/)
新值 不读 sidebar;本测试文件不得 import app-sidebar
原因 chart-page 单按任务书在 sidebar 加了 /ephemeris 入口;文件归属不是产品入口禁止(BUG-711)

tests/test_qizheng_chart_engine.py::test_ketu_mode_request_is_echoed_and_engine_mode_is_visible

原值 请求 descending-node 时 ketu_mode == descending-nodeengine_ketu_mode == apogee
新值 请求 descending-node 时两者都是 descending-node,且计都位置相对默认派别改变
原因 原断言把 BUG-710 的错误行为锁成合同

未改 jyotish_api_server.py 行数契约。未删 sidebar 星历入口。未放宽 dignities / boundary。

合入

git push origin HEAD:staging,核对远端 SHA。部署是否追上见推送后的 /api/health