# PROGRESS · 仓库整备修复单(2026-09-03) 工作树:`.worktrees/repo-hygiene-20260903` 分支:`codex/repo-hygiene-fix-20260903` 基线:最新 `origin/staging`(提交前重放) 本轮完成修复与本地验证;交付目标为 `origin/staging`,提交/推送状态以 Git 远端为准;不手动部署。其他工作树的既有脏改动未触碰。 ## 已完成 - BUG-512:Gulika / Upagraha 临时切换岁差后恢复进程原模式;API 与 Prashna 透传同一请求岁差,回执使用实际标准化名称。 - 设置 UI:提示语明确咨询/报告/星盘库/每日星语跟随设置,生时校正目前仍固定 Raman;无样式类名由最新 staging 删除,不重复增加空样式。 - 默认值:修复单列出的 Prashna、校正扫描、Muhurta、Solar Return CLI、ephemeris contract 改用 `DEFAULT_AYANAMSA_NAME`;五个参考/外部对照脚本保留显式 Lahiri 并标注参考口径。 - 仓库卫生:三个 oracle 生成器支持 `--output-dir`,对应测试写入 pytest 临时目录,不再改写 `references/oracle`。 - 记录:新增 `BUG-512`,更新本状态板。 ## 验证 ```text python -m pytest -q \ tests/test_gulika.py \ tests/test_gulika_ayanamsa_mode.py \ tests/test_ayanamsa_mode_ownership.py \ tests/test_prashna_context.py \ tests/test_standalone_ayanamsa_defaults.py \ tests/test_full_technique_invocation_matrix.py \ tests/test_muhurta_factor_only_scoring_packet.py \ tests/test_prashna_sphuta_oss_case_probe.py # 24 passed node --test --import tsx \ tests/ayanamsa.test.ts \ tests/settings-mvp-contract.test.ts \ tests/class-name-definition-contract.test.ts # 8 passed ./node_modules/.bin/tsc --noEmit # exit 0 npm run lint # exit 0; 73 个既有 warning,0 error npm run build # exit 0;5 个既有 Turbopack 动态文件访问 warning JYOTISH_PRE_WORK_PYTHON=/Users/jesse/Downloads/Copse/astrology/yinduzhanxing/.venv/bin/python \ python3 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 # pass ``` 额外 smoke:`_attach_gulika_observation` 输入 `ayanamsa=raman`,回执为 `ayanamsa=raman`、`ayanamsa_display=Raman`。测试后 `git diff -- references/oracle` 为空。 ## 明确未做 - 可选任务 5(机器相关计数测试加 `external` marker):任务书要求产品同意,本轮没有该授权,未改。 - Python quick gate:503 passed、1 skipped。前端全量 `npm test` 在本机数据库/Docker 与缺少 PyYAML 等既有环境项失败;本轮相关的 8 项定向测试通过。 - 最新 staging 另有不在修复单表内的显式 Lahiri:Solar Return / Transit 的独立 helper 仍有现成合同测试要求 Lahiri,VedAstro、PyJHora、三引擎 parity 等为外部参考口径;因此旧的宽泛 grep 验收命令仍会列出这些预存行,本轮没有越界改写其业务口径。