0bd254cf18
fix(gulika): end the night segment at the real next Hindu sunrise
...
Upstream 9f9f16b3 and 872eaecf. Saham, Gulika, and Shayanadi opt into Hindu rising. The default window used by rectification and Panchanga stays the apparent-disk one. BUG-1388.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:49:12 +08:00
2f8263b6ac
fix(saham): add 30 degrees when the third operand misses the B-to-A arc
...
Upstream ce9fed15. The exception now tests C on the forward arc from B to A, in both the value and the trace. BUG-1387.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:44:43 +08:00
aa87c0f127
fix(argala): keep equal occupancy unresolved until the two-level tiebreak
...
Upstream e7301feb, 86935c0a, and 4f1536f2. Ketu reverses the count, the ninth is the fifth's obstruction, and a remaining tie stays strength_comparison_required so the consultation card shows 待定. BUG-1386.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:41:30 +08:00
6cbae4ce23
fix(bhava): use the named mirrored equal-house strength profile
...
Upstream a4d4a249. Dig tables, Capricorn's first half, the sputa formula, and the benefic set now match jyotishganit_mirrored_equal_house_v2. Mercury is neutral. The result names that profile and does not call it a classical ruling. BUG-1385.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:32:26 +08:00
e8a7f3ac22
fix(ashtakavarga): sum Pinda from the shared Sodhita reduction
...
Upstream 30b43643. Yoga Pinda multiplied only the bindu in the planet's own sign. It now uses the Trikona and Ekadhipatya rows, with PVR table 28 including Virgo 6. PVR example 43 is 152. BUG-1384.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:27:18 +08:00
b5eb72343a
fix(kp): place exact angular boundaries on the opening subdivision
...
Upstream 8eec9a54. Floating accumulation and a 120-degree remainder put star, pada, and sub-lord on different sides of the same boundary. Random longitudes away from those boundaries are unchanged. BUG-1383.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:20:35 +08:00
5be864a8e4
fix(dasha): judge antardasha sandhi from the unclipped start
...
Upstream 3c2dad95, rewritten for this tree. A birth-clipped antardasha start was reported as a transition. The first mahadasha start stays, because BUG-1268 already stores the real pre-birth boundary there. BUG-1382.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:17:47 +08:00
d11ee6f0dd
fix(dasha): measure nakshatra index and progress on one grid
...
Upstream 3c2dad95, 8643bc9a, and the lon_to_nakshatra part of 9e04f0db. Exact star starts were split across int-division and modulo, so 16 of 27 openings reported a zero balance and skipped the mahadasha. Off-boundary longitudes keep the old modulo. BUG-1381.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:15:48 +08:00
68762ccec5
fix(nakshatra): keep the first mahadasha's antardashas on the full clock
...
Upstream 8643bc9a. The nakshatra breakdown was restarting the nine antardashas from the birth remainder, so mid-Ashwini reported Ketu instead of Rahu. Reuse cmd_dasha and clip to birth. BUG-1380.
Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:08:31 +08:00
Jesse_Chen and Claude Opus 5.5
e7bf60c1f2
docs(tasks): board row for #83
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:31:32 +08:00
Jesse_Chen and Claude Opus 5.5
5622a2dbf1
docs(tasks): synastry chat must fetch report evidence and fact-check answers
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:31:12 +08:00
Jesse_Chen and Claude Opus 5.5
04a70923f1
docs(tasks): synastry report → chat brief
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:19:45 +08:00
Jesse_Chen and Claude Opus 5.5
b49643ca07
docs(tasks): technical summary title without audience tagline
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:14:00 +08:00
Jesse_Chen and Claude Opus 5.5
2b234493c6
docs(tasks): synastry analysis logic folded; technical summary follows upstream appendix
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:09:36 +08:00
Jesse_Chen and Claude Opus 5.5
a801985d4f
docs(tasks): synastry report shows reasons inline and a dasha timeline
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:01:27 +08:00
Jesse_Chen and Claude Opus 5.5
ec30f4193e
docs(tasks): synastry report as relationship portrait; #79 backend-only
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 14:41:08 +08:00
Jesse_Chen and Claude Opus 5.5
128b5e25b0
docs(tasks): board rows for #81 #82
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:29:26 +08:00
Jesse_Chen and Claude Opus 5.5
a84136b362
docs(tasks): full-reading module parity brief (5 upstream modules)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:20:38 +08:00
Jesse_Chen and Claude Opus 5.5
47b4a23174
docs(tasks): synastry full report brief; #79 becomes engine + picker (no billing)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:15:51 +08:00
Jesse_Chen and Claude Opus 5.5
c4c983cf2a
docs(tasks): marriage match follows upstream bde5d615 (35-point core, order-independent)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:04:46 +08:00
Jesse_Chen and Claude Opus 5.5
bafa296829
docs(tasks): marriage match engine ports upstream marriage_match.py
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 22:09:33 +08:00
Jesse_Chen and Claude Opus 5.5
edf25918b2
docs(tasks): link sync8 to issue #80
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-17 18:35:50 +08:00
Jesse_Chen and Claude Opus 5.5
b5e0f9c215
docs(tasks): upstream sync8 brief from author fix branch caf1ed4e
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-17 18:34:39 +08:00
Jesse_Chen and Claude Opus 5.5
53608d8bcd
docs(tasks): point marriage match brief at prototype v4
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 17:07:00 +08:00
Jesse_Chen and Claude Opus 5.5
d4e5ca3207
docs(tasks): marriage match rules switch to practitioner consensus
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 17:03:44 +08:00
Jesse_Chen and Claude Opus 5.5
e077667c08
docs(tasks): people archive limit 20 + marriage match phase 1 briefs
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 16:47:36 +08:00
Jesse_Chen and Claude Opus 5.5
f95eb670bc
docs(tasks): rectification narrower delivery fix brief (issue #77 )
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-17 09:48:58 +08:00
Jesse_Chen and Claude Opus 5.5
712a0fd2a1
docs(rectification): narrower delivery brief + width funnel and karaka-interval research
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-16 23:21:23 +08:00
Jesse_Chen and Claude Opus 5.5
9b7509155f
docs(research): upstream notice for skill author 3c2dad95
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-16 21:13:14 +08:00
Jesse_Chen and Claude Opus 5.5
1eb504d3e0
merge origin/staging into beta safety net (只碰文档;安全网 BUG-1358~1364 顺延为 1360~1366, issue #75 )
...
Independent Staging Quality Gate / validate (push) Successful in 13m11s
Independent Staging Quality Gate / publish (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 14:33:45 +08:00
Jesse_Chen and Claude Opus 5.5
d6c1304c50
按产品选 B 删除跨机器不可复现的拆类金样测试,采集脚本留作手动工具(issue #70)
...
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 15m33s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 14:17:39 +08:00
Jesse_Chen
df09c4431a
merge origin/staging into api-server service extract (只碰文档, issue #70 )
2026-10-16 14:16:47 +08:00
Jesse_Chen and Claude Opus 5.5
e1e60b1a97
docs(tasks): api-server service extract second fix brief (issue #70 )
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 12:23:18 +08:00
jesse-ux and Grok (agent loop)
a7fe7e9dd5
修复拆类金样换机器就对不齐的问题,避免测试删掉共用排盘缓存。
...
指纹不再包含仓库绝对路径;采集时关闭缓存而不是删除目录。基线与本分支 8 个哈希一致,定向 pytest 11 通过。
Co-Authored-By: Grok (agent loop)
2026-10-16 11:48:27 +08:00
jesse-ux
14ad076fe4
Merge remote-tracking branch 'origin/staging' into codex/api-server-service-extract-20261013
2026-10-16 11:30:31 +08:00
Jesse_Chen and Claude Opus 5.5
187fa375f5
docs(tasks): api-server service extract fix brief (issue #70 )
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 11:10:12 +08:00
jesse-ux and Grok (agent loop)
c7350bcafb
把星盘接口的计算和 HTTP 拆成两个类,离线入口不再伪造请求对象。
...
方法体未改。定向测试 383 通过;1 条校正回归在基线上同样失败,断言未改。快速门和全量 pytest 未跑。
Co-Authored-By: Grok (agent loop)
2026-10-16 10:24:42 +08:00
jesse-ux and Grok (agent loop)
fbf04f0b5f
把被逐字锁定的年运函数改回原样,历史清单不再要求已删除的占位文件。
...
Independent Staging Quality Gate / validate (push) Successful in 14m11s
Independent Staging Quality Gate / publish (push) Successful in 3m43s
年数表字面量留在 calc_mudda_with_dasha_balance 里。调用矩阵测试改为确认这两个路径已删并由现行模块接替。pytest 三条文件 187 通过、1 跳过、0 失败。
Co-Authored-By: Grok (agent loop)
2026-10-16 09:02:20 +08:00
jesse-ux
e96de24721
merge origin/staging into dasha unify (issue #69 )
2026-10-16 08:56:34 +08:00
Jesse_Chen and Claude Opus 5.5
ef9ee62a6b
docs(tasks): dasha unify fix brief (agent loop, issue #69 , bounce 1)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 08:35:02 +08:00
jesse-ux and Grok (agent loop)
5ac88e58f5
让大运接口走完整解读的同一套算法,不再返回编出来的周期。
...
Ashtottari 在适用时把出生前已经走过的部分算进时间线。
Co-Authored-By: Grok (agent loop)
2026-10-16 00:52:29 +08:00
Claude
b9cbe9aa76
merge origin/staging into python hygiene (issue #68 )
...
Independent Staging Quality Gate / validate (push) Successful in 14m1s
Independent Staging Quality Gate / publish (push) Successful in 5m22s
Docs-only catch-up; agent-loop rule A.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 23:30:28 +08:00
jesse-ux and Grok (agent loop)
a7162db271
让免费层限流的报告跟真实限流一致,并给少一块结果的静默失败留下函数名和错误类型。
...
Co-Authored-By: Grok (agent loop)
2026-10-15 23:12:56 +08:00
Claude
5d452a4ff1
merge origin/staging into contracts helpers dedupe (issue #72 )
...
Independent Staging Quality Gate / validate (push) Successful in 17m49s
Independent Staging Quality Gate / publish (push) Successful in 4m18s
Docs-only catch-up; agent-loop rule A.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 22:44:45 +08:00
jesse-ux and Grok (agent loop)
d2296c2654
把前后端共用的请求契约和小工具收成一份,避免再各抄一份。
...
报告创建请求、校正入口和同名类型改从 contracts 推导;同义的对象判断与 sha256 改走共享函数。调用处用 import 别名保留原名,使 diff 低于 1500 行。行为、哈希和状态字符串不变。
Co-Authored-By: Grok (agent loop)
2026-10-15 22:22:44 +08:00
Claude
e4ff62c738
merge origin/staging into pl9 render split (issue #67 )
...
Independent Staging Quality Gate / validate (push) Successful in 14m16s
Independent Staging Quality Gate / publish (push) Successful in 4m9s
Docs-only catch-up; agent-loop rule A.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 21:23:23 +08:00
jesse-ux and Grok (agent loop)
dbba127e71
拆分报告渲染函数的第一阶段,把 34 个无外层依赖的辅助函数搬到 report_render。
...
同一份真实盘包在屏蔽与不屏蔽 PyJHora 下新旧渲染 sha 都一致,各 24 项且退出码 0。指定 pytest 233 通过、3 跳过。
Co-Authored-By: Grok (agent loop)
2026-10-15 20:59:11 +08:00
jesse-ux and Grok (agent loop)
cd7e0a3493
把普通对话的预留、取消、追加、寒暄结算和用量计算收进结算工厂。
...
Independent Staging Quality Gate / validate (push) Successful in 13m51s
Independent Staging Quality Gate / publish (push) Successful in 4m6s
完成回答、直达校正、输出审核和开流前加载仍留在路由里,使 diff 停在 1500 行以内。
Co-Authored-By: Grok (agent loop)
2026-10-15 19:12:44 +08:00
jesse-ux and Grok (agent loop)
9455fbfc4f
fix(release): keep daily backups from stalling when the disk fills
...
Expired daily files are pruned before a new backup, a verify older than 36 hours raises an alert, and the host monitors call sudo with the production env file. The Linux 0600 check is on the staging quick list.
Co-Authored-By: Grok (agent loop)
2026-10-15 17:24:26 +08:00
jesse-ux and Grok (agent loop)
14897f0bf3
merge origin/staging into the beta safety net branch
...
Safety-net records move to BUG-1358 through BUG-1361 because staging already uses BUG-1355 through BUG-1357 for capacity.
Co-Authored-By: Grok (agent loop)
2026-10-15 17:13:57 +08:00