docs: record the Goel Jaimini strength regression
Issue #94 T5. Two hundred fixed-seed fictional charts on mean and true nodes all execute, and the Atmakaraka matches chara_karaka_7. Chinese and English full-data markdown for the three fixed fictional charts is unchanged. The frozen-file intersection is empty. Co-Authored-By: Grok (agent loop) Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Grok (agent loop)
Cursor
parent
a769533032
commit
489ae2fb35
@@ -0,0 +1,105 @@
|
||||
# 进度:Goel Jaimini 强度(issue #94,2026-10-22)
|
||||
|
||||
执行分支 `codex/goel-jaimini-strength-20261022`。工作树 `.worktrees/goel-jaimini-strength-20261022`。未 push。Python 用 `G:\Ferti\Jyotisha\.worktrees\agent-loop\.venv\Scripts\python.exe`(本工作树没有 `.venv`)。`core.autocrlf=false`。上游只读仓 `G:\Ferti\yinduzhanxing-ref`,提交 `5fb8379c`。
|
||||
|
||||
## 做了什么
|
||||
|
||||
- T1:四个上游模块放到 `scripts/` 根目录。`ROOT_PY_BUDGET` 448 → 452,常量旁写了三栏。`scripts/*.py` 计数 452。
|
||||
- T2:测试原样搬入,只把 Niryaana 选择器的 import 改到 `scripts.rashi_dashas_native`。`test_bphs_validation_runtime.py` 新增 `test_full_reading_exposes_goel_jaimini_strength`,用文件里已有的虚构 `BASE_BIRTH_ARGS`。
|
||||
- T3:`_goel_jaimini_evidence` 接到 `cmd_jaimini`(`mode` 为 `all` 或 `special`)和 full-reading 写入 `modules.jaimini` 之前。
|
||||
- T4:接线后的口径测试(两种交点政策、七星同度 blocked 且不出 AK / 排序、full-reading 喂给 Goel 的经度)。
|
||||
- T5:三张固定虚构盘与 200 张固定种子虚构盘。没有让步缩盘:三张盘 full-reading 均值 5.212 秒,200 张 × 交点两种口径约 34.74 分钟,低于 40 分钟,mean 与 true 都跑了。
|
||||
- T6:研究笔记、ERR-116、CHANGELOG。Skill 版本不 bump。
|
||||
|
||||
## 四个 blob
|
||||
|
||||
| 文件 | 上游 `5fb8379c` | 落地后 `git hash-object` |
|
||||
| --- | --- | --- |
|
||||
| `scripts/goel_jaimini_strength.py` | `2170f781740affbad7b8ff4e048b88d87f997bcc` | `d13b3f785a86a17970e450f111d60fc8d52108ac` |
|
||||
| `scripts/trikona_raman.py` | `1fc9283396acba98b9113bde7af0e27a80841a30` | 相同 |
|
||||
| `scripts/sthira_brahma_goel_short_method.py` | `6e010b54f5ba480db3e6d8d79e711a1cc2d59fbf` | 相同 |
|
||||
| `scripts/trikona_dasha.py` | `e6c8a27cf5e23e5c686154406ba5183226d12d79` | 相同 |
|
||||
|
||||
`goel_jaimini_strength.py` 相对上游的 diff 只有 `SOURCE` 一行,LF。旧值是上游本地书稿路径,没有入库。新值是 `SOURCE = 'V. P. Goel, Predicting through Jaimini Astrology'`。
|
||||
|
||||
测试文件上游 blob `e29c47182c03c2277cff46e271a7f664c3349601`。相对上游先只改一行:
|
||||
|
||||
```
|
||||
-from scripts.niryaana_shoola_dasha import select_niryaana_shoola_start_sign
|
||||
+from scripts.rashi_dashas_native import select_niryaana_shoola_start_sign
|
||||
```
|
||||
|
||||
T4 在这个文件末尾另加了三条接线测试,不再是单行 diff。
|
||||
|
||||
## 接线与上游的两处差异
|
||||
|
||||
1. 捕获 `(ImportError, KeyError, TypeError, ValueError)` 时 `logger.warning` 记下异常类和信息,`reason` 写成 `f'{exc.__class__.__name__}: {exc}'`。这几类失败在 helper 内返回 blocked,不会抛进 full-reading 外层的 `except Exception`,因此不会把整个 `modules.jaimini` 带掉。
|
||||
2. `cmd_jaimini` 传给 Goel 的经度用 `pd.get('degree_raw', pd['degree'])`。模拟盘只有 `degree` 时回退,上游那条特殊点测试仍过。full-reading 本来的 `planet_lons` 已是 `degree_raw`,原样传给 Goel。上升点仍用原来的 `asc_deg`(`lon`)。
|
||||
|
||||
没有把 `lagna_seventh_strength` / `niryaana_shoola_strength` 接到 Niryaana 选择或大运。没有改冻结文件、报告渲染、API 主文件、数据库。
|
||||
|
||||
## T5 数据(全是虚构盘)
|
||||
|
||||
三张盘是 `tests/test_report_english_edition.py` 的 day / night / south。`PYTHONHASHSEED=0`。
|
||||
|
||||
单独计时的 full-reading:day 6.343 秒、night 4.692 秒、south 4.600 秒,均值 5.212 秒。三张都是 `executed`,Goel AK 与 `chara_karaka_7` 的 AK 都是同一颗星(Venus / Mercury / Jupiter)。四个新键都在。
|
||||
|
||||
改前引擎是接线提交的父本 `eb67962d7`。改前改后:
|
||||
|
||||
| 检查 | 结果 |
|
||||
| --- | --- |
|
||||
| 中文完整数据版 Markdown | 三张 SHA-256 相同(day `1de47056e69f…`,night `0415e1a20dfe…`,south `51eb80c838cf…`) |
|
||||
| 英文完整数据版 Markdown | 三张 SHA-256 相同(day `3e6eaadae15e…`,night `a36abde746d5…`,south `adef6214ebbb…`) |
|
||||
| full-reading 与 `cmd_jaimini` 的 jaimini,去掉四个新键 | SHA-256 相同 |
|
||||
| 改后四个新键 | full-reading 与 `cmd_jaimini`(mode=all)都有,状态 `executed` |
|
||||
| `build_domain_facts` 选出的对话卡 | 12 个域 × 3 张盘,规范化 JSON 相同 |
|
||||
|
||||
`read_full_data_domain` 的原始副本不是逐字节相同。它整份拷贝 `worksheets`,其中 `advanced_systems.jaimini` 多了四个新键;这是任务书已经写明的资料包 JSON 变大,正文不印。另外两边还有运行时噪声:审计耗时、缓存时间、PyJHora 年盘快照、一张盘的 Yogini `reference_date`。去掉四个新键和这些噪声字段后,day / night 还剩 PyJHora 年盘快照差异,south 只剩 `reference_date`。没有为了抹平这些差异去改渲染或对话卡。
|
||||
|
||||
200 张固定种子(`Random(20261022)`,年 1940–2015、日 1–28、纬度 −45~60、经度 −120~150、时区按经度取半小时、岁差在 lahiri / raman / kp 间)。mean 与 true 各 200 次,4 个进程,墙钟 556.6 秒。
|
||||
|
||||
| 项 | 数 |
|
||||
| --- | --- |
|
||||
| 次数 | 400 |
|
||||
| `goel_full_strength.status == executed` | 400 |
|
||||
| blocked | 0 |
|
||||
| AK 与 `chara_karaka_7` 不一致 | 0 |
|
||||
| 单次 full-reading | 均值 5.537 秒,最小 4.839,最大 7.848 |
|
||||
| mean / true 均值 | 5.530 / 5.544 秒 |
|
||||
|
||||
三张盘改前改后的 full-reading 耗时互相重叠(改前均值 5.672 秒,同一次改后 6.069 秒,另一次改后计时 5.212 秒),没有拆出稳定的增量。
|
||||
|
||||
冻结身份交集(`PRODUCTION_FILES` + `RESEARCH_FILES` + `frozen_scoring.files` 对上 `origin/staging...HEAD`)输出是 `[]`。
|
||||
|
||||
## 测试
|
||||
|
||||
工作树内 `pytest -q`。Windows 默认 GBK 标准输出打不出 full-reading 里已有的 emoji(`U+1F4D0`、`U+1F534`),`test_bphs_validation_runtime.py` 两条因此在子进程退出码 1。下面的数字是 `PYTHONUTF8=1` 再跑的结果。屏蔽 PyJHora 用临时目录的 `sitecustomize.py` 放在 `PYTHONPATH` 最前(`import jhora` 变成 `ModuleNotFoundError`),没有卸载包。
|
||||
|
||||
两次都是 238 条收集、237 通过、1 跳过、0 失败。跳过的是 `test_consultation_contract_golden.py` 里未设置 `JYOTISH_LIVE_CONTRACT_GOLDEN=1` 的线上重抓。
|
||||
|
||||
| 文件 | 结果 |
|
||||
| --- | --- |
|
||||
| `tests/test_goel_jaimini_strength.py` | 22 通过 |
|
||||
| `tests/test_bphs_validation_runtime.py` | 3 通过 |
|
||||
| `tests/test_python_hygiene_budget.py` | 2 通过 |
|
||||
| `tests/test_rashi_dashas_native.py` | 18 通过 |
|
||||
| `tests/test_niryaana_shoola_dasha.py` | 3 通过 |
|
||||
| `tests/test_jaimini.py` | 42 通过 |
|
||||
| `tests/test_runtime_jhora_import_scan.py` | 4 通过 |
|
||||
| `tests/test_api_server_growth_contract.py` | 9 通过 |
|
||||
| `tests/test_consultation_contract_golden.py` | 2 通过,1 跳过 |
|
||||
| `tests/test_sealed_holdout_contract_freshness.py` | 9 通过 |
|
||||
| `tests/test_rectification_validation_integrity_gate.py` | 22 通过 |
|
||||
| `tests/test_reported_offset_research.py` | 14 通过 |
|
||||
| `tests/test_rectification_engine_memoization.py` | 25 通过 |
|
||||
| `tests/test_repo_privacy_markers.py` | 62 通过(文档提交前再复跑一次) |
|
||||
|
||||
没有弱化既有断言。没有重冻,没有改冻结记录或 golden。
|
||||
|
||||
## 移交 #91
|
||||
|
||||
本单不印报告。交给 #91:
|
||||
|
||||
- 报告印「Goel Jaimini 强度与特殊点」章,中英标签齐全。`blocked` 的中文写「无法判定」、英文写「Not determinable」,并注明原因(七星度数相同 / 强度相同无唯一选择)。
|
||||
- `jyotish_engine.py` 受限资料 `jaimini_special_points.reason` 里「Brahma/Maheshwara/Rudra still lack a same-profile structured producer」随印章一并改。
|
||||
- 交点两种口径并列印出,标明默认遵循正文(`include_nodes_text`)。
|
||||
Reference in New Issue
Block a user