Files
Jyotisha/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md
T
jesse-ux 8d6a4bd065
Independent Staging Quality Gate / validate (push) Failing after 9m31s
Independent Staging Quality Gate / publish (push) Skipped
fix(audit): include /ephemeris in the capability-audit route set
BUG-713: the staging quality gate failed because _scan_app_routes
found the new ephemeris page and the exact allowlist did not.
2026-09-15 18:16:57 +08:00

3.0 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 / siderealMode;CLI 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-node 且 engine_ketu_mode == apogee
新值 请求 descending-node 时两者都是 descending-node,且计都位置相对默认派别改变
原因 原断言把 BUG-710 的错误行为锁成合同

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

门禁补修(BUG-713)

Gitea backend-quality-gate run 2635(a38a9415)失败:

tests/test_api_server_security.py::test_capability_audit_scans_registry_and_local_sources

原值 app_routes 在 chart 后直接 home,无 ephemeris
新值 加入 'ephemeris'
原因 _scan_app_routes 扫到了 frontend/src/app/ephemeris/page.tsx;这是 BUG-454 同类遗漏,不是放宽

门禁数字:1 failed, 765 passed, 1 skipped。本条修完后应回到 766 passed。

合入

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