Skip to content

Commit 3cf9860

Browse files
release: prepare v2.1.6 beta (qimen calendar + India map-pick) + batch issue #2
Sync two Mac-side fixes (Mac main 494783d / v2.1.6) into Windows and batch in the Windows-only issue #2 fix committed earlier (98bea3f). - Qimen 奇门 calendar (issue #4, vendored Python vendor/kinqimen): jieqi.py gangzhi corrects the month pillar by sxtwl's precise 交节 time (births before the crossing keep the previous day's pillar; 立春 also corrects the year pillar) + new zhirun_jieqi (超神接气置闰 ju-determination); config.py rewrites qimen_ju_name_zhirun + adds dingju_jieqi; kinqimen.py pan() 節氣 label via dingju_jieqi; test_qimen_calendar.py (11 tests). 拆补 method unchanged. - India chart (issue #3): IndiaChartMain.js changeGeo sends a flat patch matching the parent changeCond (was wrapping lat/lon as {value:...}). No Java change -> astrostudyboot.jar NOT rebuilt; the qimen fix ships in the runtime payload (verified: app-runtime.tar carries zhirun_jieqi). Bump to 2.1.6. Verified: qimen 11/11 on the embedded python; frontend build:file + umi-test 28 suites / 129 tests; service-manager 18/18 (issue #2 env isolation); release_selfcheck.py 5/5 (added qimen + India sentinels). The 4 modified files were byte-identical to the Mac-2.1.5 baseline (zero Windows divergence); the test file is a pure add. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 98bea3f commit 3cf9860

19 files changed

Lines changed: 502 additions & 182 deletions

File tree

.claude/skills/horosa-dev/SKILL.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,19 @@ chart service `astropy/`. On Windows these live under
125125
`$env:PYTHONHOME='C:\anything'` then run the bundled `python.exe -c "import encodings"` (crashes) vs.
126126
`python.exe -E -s -c "import encodings"` (boots).
127127

128+
10. **A Python-only change (`astropy/**`, `vendor/**`) needs NO jar rebuild — but it MUST land in the staged
129+
runtime, and verify it on the EMBEDDED interpreter.** Only `astrostudysrv/**` (Java) triggers the
130+
`astrostudyboot.jar` rebuild (§5). The vendored kin/kentang engines (`vendor/kinqimen`, `vendor/kinwuzhao`,
131+
`kinastro`, …) and `astropy` are pure Python that the chart service (`:8899`) imports; they ship inside the
132+
runtime payload, staged from the workspace by `stage:runtime`/`prepare:runtime` during `dist:win`. So: copy the
133+
`.py` into the workspace (`local/workspace/Horosa-Web-*/vendor/...`), run `dist:win`, and confirm the packaged
134+
payload carries it (`desktop_installer_bundle/build/app-runtime/.../vendor/kinqimen/`). **Verify the engine with
135+
its own test under the EMBEDDED python** (`local/workspace/runtime/windows/python/python.exe` — it already has
136+
`sxtwl`/`swisseph`): `cd <ws>/vendor/kinqimen && <embedded-python> test_qimen_calendar.py`. The v2.1.6 奇门历法
137+
fix (issue #4: 月柱交节边界 + 置闰超神接气定局) is exactly this shape — pure `vendor/kinqimen/*.py`, no Java;
138+
its `release_selfcheck.py` sentinels guard `vendor/kinqimen/{jieqi.py(`zhirun_jieqi`),config.py(`dingju_jieqi`),kinqimen.py}`.
139+
(Mechanism deep-dive: `docs/qimen-calendar-fix-v2.1.6.md`.)
140+
128141
## Commands
129142

130143
```powershell

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cff-version: 1.2.0
22
title: Horosa Web App Comprehensively Improved Windows
33
message: If you use this repository in academic or technical work, please cite it.
44
type: software
5-
version: 2.1.5
5+
version: 2.1.6
66
authors:
77
- given-names: Horace
88
family-names: Maxwell
@@ -11,8 +11,8 @@ repository-code: https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensivel
1111
url: https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows
1212
license: AGPL-3.0-only
1313
abstract: >-
14-
Horosa for Windows v2.1.5 beta is a local-first metaphysics workstation that aligns the
15-
latest Mac-side fixes (AI Analysis page hardeningprovider switching/auth, send-safety, surfaced failures; AI-provider compatibility; BaZi true-solar-time display) and AI Analysis rework, astrology modules, traditional Chinese methods,
14+
Horosa for Windows v2.1.6 beta is a local-first metaphysics workstation that aligns the
15+
latest Mac-side fixes (Qimen 奇门 calendar correctionmonth-pillar 交节 boundary + 置闰超神接气 ju-determination; India chart map-pick; plus prior AI Analysis page hardening and BaZi true-solar-time display) and AI Analysis rework, astrology modules, traditional Chinese methods,
1616
kentang/kin backend integrations, AI-assisted structured export, Python and Java
1717
services, and self-contained Windows desktop delivery into one cross-platform
1818
release line.

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
**把占星与中国术数,收进一个原生 Windows 工作站**<br />
1010
*Western astrology and Chinese metaphysics, in one native Windows workstation*
1111

12-
[![Version](https://img.shields.io/badge/version-2.1.5%20beta-b45309?style=flat-square)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.5)
12+
[![Version](https://img.shields.io/badge/version-2.1.6%20beta-b45309?style=flat-square)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.6)
1313
[![License](https://img.shields.io/badge/license-AGPL--3.0-dc2626?style=flat-square)](LICENSE)
14-
[![Windows](https://img.shields.io/badge/Windows%2010%2F11-x64-111111?style=flat-square&logo=windows&logoColor=white)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.5)
15-
[![Installer](https://img.shields.io/badge/NSIS-bundled%20runtime-1f6feb?style=flat-square)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.5)
14+
[![Windows](https://img.shields.io/badge/Windows%2010%2F11-x64-111111?style=flat-square&logo=windows&logoColor=white)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.6)
15+
[![Installer](https://img.shields.io/badge/NSIS-bundled%20runtime-1f6feb?style=flat-square)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.6)
1616
[![CI](https://img.shields.io/github/actions/workflow/status/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/actions/workflows/ci.yml)
1717
[![Stars](https://img.shields.io/github/stars/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows?style=flat-square)](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/stargazers)
1818

19-
[下载安装包](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/latest/download/Horosa-Setup-2.1.5.exe) ·
19+
[下载安装包](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/latest/download/Horosa-Setup-2.1.6.exe) ·
2020
[完整中文说明](README_ZH.md) ·
2121
[English Guide](README_EN.md) ·
2222
[所有版本](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases)
@@ -35,7 +35,7 @@
3535

3636
> Regular users grab the offline installer and open it like any finished Windows app. No Python or Java to install yourself—the runtime ships inside the package—and updates replace the program and shared runtime without wiping your saved charts. The first launch is a little slower while the runtime is extracted and verified; later launches reuse the local cache.
3737
38-
**[⬇︎ Horosa-Setup-2.1.5.exe](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/latest/download/Horosa-Setup-2.1.5.exe)**
38+
**[⬇︎ Horosa-Setup-2.1.6.exe](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/latest/download/Horosa-Setup-2.1.6.exe)**
3939

4040
适合:Windows 10/11 · `x64` · 弱网 / 离线环境 · 首次安装 · 转发给他人。
4141

@@ -96,18 +96,17 @@
9696

9797
> Charts and cases save locally—tags, snapshots, raw backend payloads, JSON import/export, and full restore on reopen.
9898
99-
## 本次更新 · What's New in v2.1.5 beta
99+
## 本次更新 · What's New in v2.1.6 beta
100100

101-
这一版把 Mac 端最新的 **AI 分析页全面修复** 同步到 Windows(供应商切换 / 鉴权、发送安全、静默失败透出)
101+
这一版把 Mac 端的 **奇门历法底层修复****印度盘地图选点修复** 同步到 Windows:
102102

103-
- **多供应商切换更顺**:供应商卡片可点击 + 「设为当前」按钮;切换供应商类型会清空旧 API key;删除当前供应商自动补选另一个。
104-
- **Gemini 直连修复**:原生 Gemini 走 URL `?key=`,不再误加 `Authorization` 头(此前会报 `ACCESS_TOKEN_TYPE_UNSUPPORTED`);custom 供应商可用 `providerOptions.authHeaderName` / `authPrefix` 自定义鉴权头;推理模型前缀新增 `o5`
105-
- **发送更稳**:流式生成中再按回车不会并发重发;切换 / 删除会话会先中止当前流;新消息自动滚到底部。
106-
- **失败不再静默**:嵌入 / 分块失败有提示;Markdown 解析失败退回纯文本;请求超时可由 `providerOptions.requestTimeoutMs` 配置;本地存储配额超限会记录日志而非吞掉。
103+
- **奇门月柱交节边界**:月柱改为按 sxtwl 精确交节时刻判定——交节当日、交节时刻之前的时间不再被错算进新月(立春同时校正年柱)。例:2005-05-05 16:30 月柱由辛巳更正为庚辰。
104+
- **奇门置闰超神接气定局**:置闰法定局改用「超神接气置闰后的节气」(新增 `zhirun_jieqi`),弃用旧农历启发式(旧实现约 45% 日期误用当日历法节气)。例:2027-10-31 由霜降更正为立冬上元六局;拆补法本就正确,未改。
105+
- **印度盘地图选点修复**:印度盘在地图上选点后排盘不再报错(`changeGeo` 传参对齐父级 `changeCond`)。
107106

108-
后端 `AIAnalysisProxyService` 改动已重新构建并打包进 `astrostudyboot.jar`。仍包含 2.1.4 供应商兼容 / 错误透传 / 脱敏、2.1.3 八字时间修复、2.1.2 AI 分析重做与 2.1.1 干净机器加固。完整改动见 [v2.1.5 Beta Release](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.5)[本地发布说明](docs/releases/2.1.5.md)
107+
奇门改的是随运行时打包的 vendored Python 引擎(`vendor/kinqimen`),**未动 Java,无需重建 `astrostudyboot.jar`**。仍包含 2.1.5 AI 分析页修复、2.1.4 供应商兼容 / 错误透传 / 脱敏、2.1.3 八字时间修复、2.1.2 AI 分析重做与 2.1.1 干净机器加固,并含本轮 Windows 侧 issue #2 修复(隔离内置 Python/Java 运行时不受系统环境污染,修复装有系统 Python 的 Win11 机器无法启动)。完整改动见 [v2.1.6 Beta Release](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.6)[本地发布说明](docs/releases/2.1.6.md)
109108

110-
> This release syncs the latest Mac-side **AI Analysis page hardening** into Windows (provider switching/auth, send-safety, surfaced failures): clickable provider cards + a "set current" button, switching provider type clears the stale API key, deleting the current provider auto-selects another; native Gemini uses the URL `?key=` and no longer adds an `Authorization` header (which caused `ACCESS_TOKEN_TYPE_UNSUPPORTED`), with `authHeaderName`/`authPrefix` overrides for custom providers and an added `o5` reasoning prefix; pressing Enter mid-stream no longer double-sends, switching/deleting a session aborts the stream first, and new messages auto-scroll; embedding/chunking failures are surfaced, Markdown parse failures fall back to plain text, request timeout is configurable via `providerOptions.requestTimeoutMs`, and a localStorage quota overflow is logged instead of silently swallowed. The backend `AIAnalysisProxyService` change was rebuilt into `astrostudyboot.jar`. Still includes the 2.1.4 / 2.1.3 / 2.1.2 / 2.1.1 work. See the [v2.1.5 release](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.5) for the full log.
109+
> This release syncs the Mac-side **Qimen (奇门) calendar fix** and **India chart map-pick fix** into Windows. Qimen month-pillar now respects the precise 交节 (solar-term) crossing time — births before the crossing are no longer pushed into the new month, and 立春 also corrects the year pillar (e.g. 2005-05-05 16:30 月柱 辛巳→庚辰); 置闰 ju-determination now uses the 超神接气置闰 solar term (new `zhirun_jieqi`) instead of the old lunar heuristic that was wrong ~45% of the time (e.g. 2027-10-31 霜降→立冬上元六局), while the 拆补 method was already correct and is unchanged. The India chart no longer errors after picking a location on the map (`changeGeo` now matches the parent `changeCond`). The Qimen changes live in the vendored Python engine (`vendor/kinqimen`) shipped with the runtime — no Java change, no jar rebuild. Still includes the 2.1.5 / 2.1.4 / 2.1.3 / 2.1.2 / 2.1.1 work, plus a Windows-side issue #2 fix isolating the embedded Python/Java runtime from a contaminated host environment (Win11 machines with system Python no longer fail to launch). See the [v2.1.6 release](https://github.com/Horace-Maxwell/Horosa-Web-App-comprehensively-improved-Windows/releases/tag/v2.1.6) for the full log.
111110

112111
## 技术构成 · Under the Hood
113112

@@ -124,7 +123,7 @@
124123
- [desktop_installer_bundle/README.md](desktop_installer_bundle/README.md) — 桌面打包与安装器说明 / installer internals
125124
- [docs/PROJECT_STRUCTURE.md](docs/PROJECT_STRUCTURE.md) — 项目结构说明 / project structure
126125
- [docs/CLEAN_MACHINE_NATIVE_RUNTIME_FIX.md](docs/CLEAN_MACHINE_NATIVE_RUNTIME_FIX.md) — 干净 Windows 运行时修复与发布注意点 / clean-machine runtime notes
127-
- [docs/releases/2.1.5.md](docs/releases/2.1.5.md) · [docs/releases/2.1.4.md](docs/releases/2.1.4.md) · [docs/releases/2.1.3.md](docs/releases/2.1.3.md) · [docs/releases/2.1.2.md](docs/releases/2.1.2.md) · [docs/releases/2.1.1.md](docs/releases/2.1.1.md) · [SECURITY.md](SECURITY.md) · [SUPPORT.md](SUPPORT.md) · [CONTRIBUTING.md](CONTRIBUTING.md) · [CITATION.cff](CITATION.cff)
126+
- [docs/releases/2.1.6.md](docs/releases/2.1.6.md) · [docs/releases/2.1.5.md](docs/releases/2.1.5.md) · [docs/releases/2.1.4.md](docs/releases/2.1.4.md) · [docs/releases/2.1.3.md](docs/releases/2.1.3.md) · [docs/releases/2.1.2.md](docs/releases/2.1.2.md) · [docs/releases/2.1.1.md](docs/releases/2.1.1.md) · [SECURITY.md](SECURITY.md) · [SUPPORT.md](SUPPORT.md) · [CONTRIBUTING.md](CONTRIBUTING.md) · [CITATION.cff](CITATION.cff)
128127
- 源码 / source: `local/workspace/Horosa-Web-*/`(前端 `astrostudyui`,后端 `astrostudysrv` / `astropy`,引擎 `vendor`
129128

130129
## 致谢 · Acknowledgements

0 commit comments

Comments
 (0)