Commit Graph
945 Commits
Author SHA1 Message Date
jesse-uxandGrok (agent loop) bd09485243 fix(arudha): sign-only coordinates, no invented degree (BUG-1477, upstream 8b55630a)
Arudha, A10, and Upapada report the sign and house only. Rectification still reads Bhava, Hora, and Ghati degrees plus frozen jaimini padas. Sealed 20-case replay and 900 reported-offset windows match the sync8 metrics line for line. Frozen-file hash matched.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:39 +08:00
jesse-uxandGrok (agent loop) c1bd59e97a test(dasha): keep the upstream boundary contract (upstream 07fc5be3)
A8 is tests only. dasha_analyzer.py is frozen and was not edited. Both contract tests passed.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:09 +08:00
jesse-uxandGrok (agent loop) 7bede9c99a fix(darakaraka): sort with the existing Jaimini tables (BUG-1478, upstream 45b3b66b)
Calls calc_chara_karaka_7 and calc_chara_karaka_8. jaimini.py is not edited.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:08 +08:00
jesse-uxandGrok (agent loop) 96312893b7 fix(kalachakra): classical sign periods when the Moon longitude is present (BUG-1476, upstream f353a096)
Without a Moon longitude the simplified table remains. Exact pada starts use a local boundary table because shared find_nakshatra misclassifies 50 of 108 starts. Two existing child-period assertions now expect antardasha; original, new value, and reason are in the test comments. 116 source tests passed.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:08 +08:00
jesse-uxandGrok (agent loop) b35c424945 fix(ashtottari): source arcs and a shifted sub-period clock (BUG-1475, upstream 0712f98f)
Rahu uses the circular unique start. Output keys are unchanged. Upstream arc and clock tests passed.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:07 +08:00
jesse-uxandGrok (agent loop) 16bae00615 fix(saham): apply Table 74 before legacy rows (BUG-1474, upstream cb8a1ca7)
Directed-arc sign stays as BUG-1387. formula_traces remains the 36-row report list. Book rows are no longer overwritten by the old house approximation.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:06 +08:00
jesse-uxandGrok (agent loop) 9d3f59a872 fix(tithi): use the source lord order (BUG-1473, upstream 33537b31)
Tithi lords follow tithi_seed. No new scripts/tithi_ashtottari.py. Upstream source tests passed.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:06 +08:00
jesse-uxandGrok (agent loop) d226b0e538 fix(yogini): full balance on an exact nakshatra start (BUG-1472, upstream d268d519)
An exact star start belongs to the new nakshatra. Non-finite Moon longitude or year length raises. 31 boundary tests passed. 10000 random longitudes matched the previous balance formula, 0 mismatches.

Co-Authored-By: Grok (agent loop)
2026-10-28 09:45:04 +08:00
Jesse_ChenandClaude Opus 5.5 3eeb898071 Copy the full-data packet once per report, not once per domain (issue #122, BUG-1471)
Independent Staging Quality Gate / validate (push) Successful in 15m27s
Independent Staging Quality Gate / publish (push) Successful in 3m43s
read_full_data_domain deep-copied the shared worksheets on every call; a long
report reads five domains twice, so ten copies for read-only use. The shared
part is now copied once (full_data_domain_base) and reused for every domain's
facts and their leaf check; each domain's facts are still copied out so domains
share no objects. Long reports byte-identical on four fictional charts; with
#121, -24–29% end to end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoz1Qk3y9buDv1mkmTu
2026-10-28 07:06:32 +08:00
Jesse_ChenandClaude Opus 5.5 0f0fea325e Sidebar session menu and drag on every page (issue #116)
Independent Staging Quality Gate / validate (push) Failing after 15m9s
Independent Staging Quality Gate / publish (push) Skipped
Rename, delete with confirmation, pin, share and reorder moved from Home's
session hook into the shared (app) shell, so /chart, /ephemeris, /reports
and /people rows get the same menu and drag as /. Home only adds its paging
cursor, what the open conversation does when deleted, and which local chats
are unsaved. BUG-1467.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-28 01:52:47 +08:00
Jesse_ChenandClaude Opus 5.5 941effe803 Chart page data tables and point layers (issue #114, round 2)
Independent Staging Quality Gate / validate (push) Successful in 16m22s
Independent Staging Quality Gate / publish (push) Successful in 4m26s
Adds /api/chart_points, a thin route over existing producers (upagrahas,
Swiss-Ephemeris special lagnas, Yogi points, arudha padas, friendship), and
the chart page's 数据表 (planets, upagrahas, special lagnas, arudhas,
shadbala detail, friendship) plus a 标点 layer that marks every point of one
group on the board. The ashtakavarga matrix gains the ascendant's own row.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-27 13:31:35 +08:00
Jesse_ChenandClaude Opus 5.5 cad28ddc04 报告前面加一段模型写的解读(issue #113 R1)
引擎在同一份 packet 上给出与对话同源卡相同的事实(include_reading_facts),
报告任务交付前用一次结构化模型调用写八节解读,校验不过或失败就不出解读、
报告照常交付。解读存在计算快照里,读接口一起返回,页面放在引擎正文之前,
后面标「计算依据」。用量按实际 token 记账(BUG-1460、BUG-1461)。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-27 11:17:56 +08:00
Jesse_ChenandClaude Opus 5.5 24d6c9414d merge full-data parity (三) independent annual method reference into staging (issue #93, BUG-1430/1431 renumbered to 1442/1443)
Independent Staging Quality Gate / validate (push) Successful in 20m17s
Independent Staging Quality Gate / publish (push) Successful in 9m16s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-26 22:28:00 +08:00
jesse-uxandGrok (agent loop) 1c428d7b6e 跟上已经换过的界面检查,测试环境才能接着发布(BUG-1439)。
Independent Staging Quality Gate / validate (push) Failing after 19m8s
Independent Staging Quality Gate / publish (push) Skipped
Co-Authored-By: Grok (agent loop)
2026-10-25 15:27:14 +08:00
jesse-uxandGrok (agent loop) 19379fbb41 合并 origin/staging,并补上两处测试替身。
研究章仍在六章之后、口径替换之前。独立年度方法参考仍在口径替换之后,来源说明不会被删掉。两条打回测试的替身补上额外参数,不改报告计算,不改原有断言。指纹记录改称 BUG-1430,因为 BUG-1429 已被研究章占用。

跑过两条打回测试、六章与指纹相关测试,以及 200 张英文扫描,退出码都是 0。

Co-Authored-By: Grok (agent loop)
2026-10-24 11:13:26 +08:00
jesse-uxandGrok (agent loop) c899e36509 把独立年度方法参考算进结果指纹,标准版不再白算这一章。
跑了修复单点名的测试、两次真算 PyJHora,以及 200 张英文扫描。

Co-Authored-By: Grok (agent loop)
2026-10-23 23:55:06 +08:00
jesse-uxandGrok (agent loop) a757af6b4e 标出研究章和 PyJHora 的已知差别(#92)。
10 张虚构盘逐体系对照。不一致的方法在标题下写明差在哪一类。本命 Tithi 顺行一致,逆行没有公开函数。Windows 上 1970 年以前的日出不再用 fromtimestamp。

自测:合同与研究章测试通过;200 张英文扫描约 1956 秒通过。未跑全量 pytest、快速门和前端。

Co-Authored-By: Grok (agent loop)
2026-10-23 22:29:52 +08:00
jesse-uxandGrok (agent loop) c644881a30 feat(report): 完整数据版末尾增加独立年度方法参考
PyJHora 只在子进程里计算请求年及后两年。对话、校正和其余章节保持不导入时的结果。结果指纹不算这一章。

Windows 自测:隐私标记、导入扫描、结果指纹和 S7 退出码 0。阅读页、英文和年运章在此之前已通过。虚构盘 0 中英一起最高 59 秒。

Co-Authored-By: Grok (agent loop)
2026-10-23 20:13:28 +08:00
jesse-uxandGrok (agent loop) d45e65a9ec 完整数据版补上研究口径的推运、次小运和细分盘(#92)。
研究章在渲染时计算,不写入资料包。四种星座大运次小运和 Kalachakra 第三层不改原来的主运、子运。D81、D108、D144 只留在研究章。

自测:test_research_timing、星座大运、域读取、卫生预算、真恒星、jhora 扫描、API 增长、六章标题、英文版。三张虚构盘中英出稿都低于 180 秒。PyJHora 已导入但未做逐层对照。

Co-Authored-By: Grok (agent loop)
2026-10-23 18:20:44 +08:00
jesse-uxandGrok (agent loop) 41cbf38531 补上完整数据版 K4:年运新字段放在原键后面,Yogini 缺字段不再整段失败。
pytest tests/test_annual_tajika_pack.py tests/test_dasha_master_children.py tests/test_report_longform_gaps2.py:30 项,退出码 0。

Co-Authored-By: Grok (agent loop)
2026-10-23 15:24:11 +08:00
jesse-uxandGrok (agent loop) cfd0ab68ac 完整数据版补上行星和宫主解释、后两年年运细项,以及 72 年逐年年返。
定向测试和 200 张英文扫描通过。一张虚构盘中英合计约 20 秒。土星和 KP 结果段仍按修复单让步。

Co-Authored-By: Grok (agent loop)
2026-10-23 15:04:25 +08:00
jesse-uxandGrok (agent loop) 39468f126c 行星解释里的六维力量合计改读已经算出的 rupa 总分。有总分时不再写成「未列出」。
Co-Authored-By: Grok (agent loop)
2026-10-23 10:17:34 +08:00
jesse-uxandGrok (agent loop) 355946cd1a 从报告日期所在月起列出 36 个月的九星表。报告口径和 KP 岁差口径各一张,另有五级大运月采样。黄经仍走本系统恒星计算。
Co-Authored-By: Grok (agent loop)
2026-10-23 10:17:29 +08:00
jesse-uxandGrok (agent loop) 4c405d2a51 当年和后两年写出月返照、原生 Patyayini 和 Tithi Pravesha。已有年主、Muntha、Mudda、Sahams、Tajika 不改写。出生地八年总览会算,72 年生命周期年返先不做。
Co-Authored-By: Grok (agent loop)
2026-10-23 10:17:13 +08:00
jesse-uxGrok (agent loop)Cursor
9b2e6aa0b4 年运附表补上整宫、Tripataki 和特殊点公式轨迹。黄经沿用已算好的星盘,不改原有 Saham 数值。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 23:11:48 +08:00
jesse-uxGrok (agent loop)Cursor
6b906f85c4 标准大运表以前只印主运。已有出处的子运写进主包副本并出表,Kalachakra 子运按简化模型挂在现有主运上。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 23:01:40 +08:00
jesse-uxGrok (agent loop)Cursor
1c60926a13 完整数据版的 Yogi / Ava Yogi 以前因缺少模块被记成 blocked。改为读取本命日月黄经计算,空候选和空落入行星不再印一整行未判定。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 23:00:04 +08:00
Jesse_ChenandClaude Opus 5.5 1dd6203883 fix(report): parity yoga category for ayur reads Constitution; only the boundary scan may be prose (#91 fix2)
"Longevity" in the canonical yoga table broke the BUG-1210 lifespan wording
test. Sections other than the dasha boundary scan must carry a table, so a
fixed sentence cannot pass as packet data.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-22 22:01:33 +08:00
Jesse_ChenandClaude Opus 5.5 ac3dccbac8 fix(yoga): Chinese combination text from a Chinese source, not 未判定 (#91 fix2 F3, BUG-1418)
Removing the English-to-Chinese back-translation left every BVR semantic
note and every yogas_doshas raj/dhana "H*_Lord(...) in H*" sentence as
未判定 in the Chinese yoga table and pages.

- yoga_engine: semantic conditions return BiText(Chinese, old note). The
  Chinese comes from references/yoga_semantic_notes_zh.json, one sentence per
  note, so dedup keeps the same equality classes. English-only custom
  templates get the same lookup. combination_en is unchanged.
- yogas_doshas: raj/dhana rows add combination_zh; combination is unchanged.
- chinese_combination prefers a clean combination_zh.

Which yogas fire, their strength and category are unchanged (fictional
charts 0-19, same rows as staging; only set-iteration order differs).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-22 21:55:02 +08:00
Jesse_ChenandClaude Opus 5.5 00c2b4d498 fix(report): six parity chapters read real packet records and sit at ## (#91 fix2 F1/F2/F4)
Eleven sections printed one-column tables of 未判定 and packet key names
(summary, p5, stats ...). They now read the nested records: KP profile and
ruling planets, Tara/Chandra combined rows, lagna vargottamamsa flags, LL/7L
P5/P8/exchange checks, Yoga Pinda planets and summary, Sodhita BAV totals and
Ekadhipatya audit, friendship method and bodies, multi-reference houses,
double-transit PAC targets, congregation houses, seven/eight karaka tables.
Argala, Birth Calendar, Tithi, Tajika candidates, Goel dignity and yoga
categories no longer print bare lower-case keys or enums either.

The six chapters are now ## and their sections ###, so the reader counts
six more chapters instead of seventy.

Tests: a section passes only with a real value outside the label column; no
table cell may be a raw key; heading counts equal the base report plus six.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-22 21:44:51 +08:00
jesse-uxGrok (agent loop)Cursor
92b4e220f2 新六章有 12 节读错公开包字段,整节只剩未判定,而且六章绕过了口径替换。按资料包改读路径,先拼六章再统一替换措辞,并把中文附录实际丢掉的组合句数出来。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 18:51:54 +08:00
jesse-uxGrok (agent loop)Cursor
4020c3958a 按六章补上已有数据的小附录,并把 Goel 强度与两种 Narayana 口径分开印出。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 16:22:45 +08:00
jesse-uxGrok (agent loop)Cursor
8444660f36 中文完整数据附录改为按中文源和结构化字段渲染,不再把英文附录回译成中文。
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 16:22:25 +08:00
jesse-uxGrok (agent loop)Cursor
e006d30df0 合并推进后的 origin/staging,带上 #85、#88、#94。
开工时 staging 是 9a0d5e11。合并期间远端又快进到 0034333b。不带上这三次合入,后面无法快进推送。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 09:59:47 +08:00
jesse-uxGrok (agent loop)Cursor
adfa98bf97 英文漏译改在渲染侧查表,测试不再放行 PyJHora 子进程。
冻结的 jaimini.py 恢复成 staging 原样。缺译单元格写成固定标记,不再留空。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 09:58:09 +08:00
Jesse_Chen 0034333b87 Merge codex/chart-dasha-yogini-20261021 (#88) into staging
Independent Staging Quality Gate / validate (push) Successful in 14m47s
Independent Staging Quality Gate / publish (push) Successful in 4m43s
2026-10-22 09:18:42 +08:00
Jesse_Chen 61462e7e48 Merge codex/synastry-staging-fix-20261021 (#85 T7-T11) into staging
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 1m3s
# Conflicts:
#	CHANGELOG.md
#	docs/BUG_HISTORY.md
#	docs/tasks/README.md
2026-10-22 09:17:02 +08:00
Jesse_Chen a2ebb28244 Merge codex/goel-jaimini-strength-20261022 (#94) into staging
Independent Staging Quality Gate / validate (push) Successful in 15m44s
Independent Staging Quality Gate / publish (push) Successful in 4m27s
# Conflicts:
#	CHANGELOG.md
#	docs/tasks/README.md
2026-10-22 08:53:17 +08:00
jesse-uxGrok (agent loop)Cursor
7876c0b4ac 合并 origin/staging,英文漏译记录改号避开 #86。
staging 已占用 BUG-1410 到 BUG-1412。本分支的英文版记录改为 BUG-1413、BUG-1414。CHANGELOG 与任务索引两边的追加都留下。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 08:24:09 +08:00
jesse-uxGrok (agent loop)Cursor
85567071c7 test(dasha): Yogini 大运对照 PyJHora,小运做内部核对
Presley、Spears、Einstein 走接口。大运主星顺序一致,起止日误差在一天内。小运按比例自洽,不跟 PyJHora 等分比。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 03:37:17 +08:00
jesse-uxGrok (agent loop)Cursor
3490e89403 feat(dasha): 接口 Yogini 副本挂上小运,完整解读不变
大运行深拷贝后再挂 antardasha。虚构盘对照改成去掉小运后与完整解读逐字段相等。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 03:36:59 +08:00
jesse-uxGrok (agent loop)Cursor
6eeb98c774 feat(dasha): Yogini 小运按比例单列,大运输出不变
完整解读仍只看大运。小运从该大运自己的 Yogini 起按年数比例排,出生前的段丢掉。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 03:33:19 +08:00
Jesse_Chen 28dd8df333 Merge codex/chart-subject-table-20261021 (#86) into staging
Independent Staging Quality Gate / validate (push) Successful in 15m56s
Independent Staging Quality Gate / publish (push) Successful in 3m36s
# Conflicts:
#	CHANGELOG.md
#	docs/BUG_HISTORY.md
2026-10-22 03:23:59 +08:00
jesse-uxGrok (agent loop)Cursor
ba1ffeb35f fix(report): keep the English edition when one phrase was untranslated
The English personal report was discarded whenever a Chinese fragment survived the trailing glossary. English sections now render the English fields that were already calculated.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 02:56:00 +08:00
jesse-uxGrok (agent loop)Cursor
413140b40c fix(synastry): 补上 issue #85 第 1 次验收打回的三处
G1 路由清单在 synastry 与 terms 之间加入 synastry/[reportId]。G2 把「同一对已经有报告时,仍打开原来那份」改成「同一对正在生成时,仍打开那份」。G3 删掉永远成立的侧栏断言,改为渲染 /synastry/<id> 并核对当前项是婚恋合盘。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 01:19:45 +08:00
jesse-uxGrok (agent loop)Cursor
a769533032 test: lock Goel node policy, tied degrees, and raw longitudes
Issue #94 T4. Wired jaimini output keeps both node policies, blocks equal seven-planet degrees without an Atmakaraka or a rank, and full-reading passes chart degree_raw into Goel within 1e-6 degrees.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:57:58 +08:00
jesse-uxGrok (agent loop)Cursor
eb67962d70 test: port Goel Jaimini strength checks onto our Niryaana selector
Issue #94 T2. Keep the upstream test and retarget select_niryaana_shoola_start_sign to scripts.rashi_dashas_native. Add test_full_reading_exposes_goel_jaimini_strength using the existing fictional BASE_BIRTH_ARGS.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:54:02 +08:00
jesse-uxGrok (agent loop)Cursor
424f03a4d5 feat: vendor four upstream Goel Jaimini strength modules
Issue #94 T1. Place goel_jaimini_strength, trikona_raman, sthira_brahma_goel_short_method, and trikona_dasha from upstream 5fb8379c under scripts/. The only local edit is the SOURCE book citation. Raise ROOT_PY_BUDGET from 448 to 452.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:52:52 +08:00
jesse-uxGrok (agent loop)Cursor
d2edf8b7a8 fix(chart): 上升的状态格改成「/」
上升不是行星,本命、月亮盘和分盘的状态格不再写「不适用」。悬停或点一下说明原因。报告同一格写「/」,并在表下加中英文说明。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:03:19 +08:00
jesse-uxGrok (agent loop)Cursor
885bd5665f fix(chart): 星盘页可以改出生资料,人名看得出能点,报告行星表不再挤断
报告行星表按内容定列宽,速度显示到 4 位小数,星宿英文名不再从中间拆开。星盘页出生行就地编辑;别人已保存的出生时间仍锁住。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 20:38:23 +08:00