fix: restore ayanamsa state and keep tests hermetic
Independent Staging Quality Gate / validate (push) Successful in 21m34s
Independent Staging Quality Gate / publish (push) Successful in 2m1s

This commit is contained in:
Jesse_Chen
2026-09-03 23:22:15 +08:00
parent 027e4b0827
commit c1e3f32a0f
30 changed files with 227 additions and 53 deletions
@@ -0,0 +1,57 @@
# PROGRESS · 仓库整备修复单(2026-09-03
工作树:`.worktrees/repo-hygiene-20260903`
分支:`codex/repo-hygiene-fix-20260903`
基线:最新 `origin/staging`(提交前重放)
本轮完成修复与本地验证;交付目标为 `origin/staging`,提交/推送状态以 Git 远端为准;不手动部署。其他工作树的既有脏改动未触碰。
## 已完成
- BUG-512Gulika / 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 个既有 warning0 error
npm run build
# exit 05 个既有 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 gate503 passed、1 skipped。前端全量 `npm test` 在本机数据库/Docker 与缺少 PyYAML 等既有环境项失败;本轮相关的 8 项定向测试通过。
- 最新 staging 另有不在修复单表内的显式 LahiriSolar Return / Transit 的独立 helper 仍有现成合同测试要求 LahiriVedAstro、PyJHora、三引擎 parity 等为外部参考口径;因此旧的宽泛 grep 验收命令仍会列出这些预存行,本轮没有越界改写其业务口径。
+1 -1
View File
@@ -92,7 +92,7 @@
| 任务书 | 进度 | 主题 | 状态 | 落点 |
| --- | --- | --- | --- | --- |
| `TASK-repo-hygiene-20260903.md` | `PROGRESS-repo-hygiene-20260903.md` | 岁差默认 Raman + 用户设置可选、参考集锁口径、发布门本地可复现、注册表白名单、仓库地址、早期日志搬家、远端分支清理 | 已验收(带修复单) | `b6a70aa7``2415e751``01a45363`(BUG-511);验收结论见修复单附录 |
| `TASK-repo-hygiene-fix-20260903.md` | | Gulika 全局岁差泄漏(P1)、设置类名无样式、提示语对齐校正现状、剩余 lahiri 字面量、测试不写仓库 | 待领取 | 分支 `codex/repo-hygiene-fix-20260903` |
| `TASK-repo-hygiene-fix-20260903.md` | `PROGRESS-repo-hygiene-fix-20260903.md` | Gulika 全局岁差泄漏(P1)、设置类名无样式、提示语对齐校正现状、剩余 lahiri 字面量、测试不写仓库 | 修复完成 | 分支 `codex/repo-hygiene-fix-20260903`;交付状态以 Git 远端为准 |
### 上游同步与能力接入