diff --git a/INSTALL.md b/INSTALL.md index a062f0a..d4a0e72 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -56,9 +56,9 @@ | 平台 | 能力级别 | 包 / 来源 | 安装器指令 | | ---------------- | -------- | --------------------------- | ------------------------------ | | Codex | 完整排盘 | 仓库(已公开) | `docs/installers/codex.md` | -| Qoder / Qoder CN | 完整排盘 | GitHub Release `v0.1.6` ZIP | `docs/installers/qoder.md` | -| WorkBuddy | 完整排盘 | GitHub Release `v0.1.6` ZIP | `docs/installers/workbuddy.md` | -| 豆包电脑版 | 完整排盘 | GitHub Release `v0.1.6` ZIP | `docs/installers/doubao.md` | +| Qoder / Qoder CN | 完整排盘 | GitHub Release `v0.2.0` ZIP | `docs/installers/qoder.md` | +| WorkBuddy | 完整排盘 | GitHub Release `v0.2.0` ZIP | `docs/installers/workbuddy.md` | +| 豆包电脑版 | 完整排盘 | GitHub Release `v0.2.0` ZIP | `docs/installers/doubao.md` | > 四个宿主均为完整版,使用同一份预构建引擎 `scripts/dist/engine.mjs`,排盘输出一致(真机已验证)。 > `reading-lite`(无引擎、需外部 facts)作为未来“不能运行脚本”宿主的降级模式保留(见 `docs/HOST_COMPATIBILITY.md`)。 @@ -75,7 +75,7 @@ ## 当前分发状态 -根清单当前为 `status: "published"`:安装包来自 GitHub Release `v0.1.6`,已提供 Qoder / WorkBuddy / 豆包电脑版的 ZIP、不可变下载地址与 SHA-256。安装器必须先检查所选平台的 `published`,再下载和校验;不能引用历史下载地址或要求用户手动寻找旧包。 +根清单当前为 `status: "published"`:安装包来自 GitHub Release `v0.2.0`,已提供 Qoder / WorkBuddy / 豆包电脑版的 ZIP、不可变下载地址与 SHA-256。安装器必须先检查所选平台的 `published`,再下载和校验;不能引用历史下载地址或要求用户手动寻找旧包。 - **Codex**:可直接克隆 / 下载公开仓库使用(不依赖 Release)。 - **Qoder / WorkBuddy / 豆包电脑版**:完整排盘包已按当前清单发布;更新时仍必须下载清单指定的不可变资产并校验 SHA-256。 diff --git a/README.md b/README.md index 1df9c9c..6bbec96 100644 --- a/README.md +++ b/README.md @@ -49,15 +49,15 @@ | 宿主 | 当前状态 | 最简开始方式 | | ---------- | ------------------------------ | -------------------------------------------------- | | Codex | 可从公开仓库使用完整排盘 Skill | 克隆或下载本仓库后打开项目;不依赖 GitHub Release | -| Qoder | 已发布 GitHub Release `v0.1.6` | 发送上方安装链接;Agent 下载、校验后安装 | -| WorkBuddy | 已发布 GitHub Release `v0.1.6` | 发送上方安装链接;Agent 下载、校验后按宿主流程导入 | -| 豆包电脑版 | 已发布 GitHub Release `v0.1.6` | 发送上方安装链接;Agent 下载、校验后按宿主流程导入 | +| Qoder | 已发布 GitHub Release `v0.2.0` | 发送上方安装链接;Agent 下载、校验后安装 | +| WorkBuddy | 已发布 GitHub Release `v0.2.0` | 发送上方安装链接;Agent 下载、校验后按宿主流程导入 | +| 豆包电脑版 | 已发布 GitHub Release `v0.2.0` | 发送上方安装链接;Agent 下载、校验后按宿主流程导入 | 四个平台的完整排盘能力与真机兼容性记录仍见下方文档;可下载性始终以清单的 `published` 字段为准。 - 详见 [`INSTALL.md`](INSTALL.md) 与 [`docs/INSTALL_BY_PLATFORM.md`](docs/INSTALL_BY_PLATFORM.md);能力矩阵见 [`docs/HOST_COMPATIBILITY.md`](docs/HOST_COMPATIBILITY.md)。 -> 安装包来自 GitHub Release `v0.1.6`:已提供 Qoder、WorkBuddy 与豆包电脑版 ZIP。下载地址与 SHA-256 以 [`install-manifest.json`](install-manifest.json) 和 [`SHA256SUMS.txt`](SHA256SUMS.txt) 为准。 +> 安装包来自 GitHub Release `v0.2.0`:已提供 Qoder、WorkBuddy 与豆包电脑版 ZIP。下载地址与 SHA-256 以 [`install-manifest.json`](install-manifest.json) 和 [`SHA256SUMS.txt`](SHA256SUMS.txt) 为准。 --- @@ -140,7 +140,7 @@ node scripts/ming-chart.mjs interpret --input-file birth-input.json --output-fil ### 🟣 Qoder -Qoder 的完整 ZIP 已发布在 GitHub Release `v0.1.6`。普通用户仍只需使用上方安装入口;Agent 会读取清单、下载不可变资产、校验 SHA-256 后安装,不需要 CLI。 +Qoder 的完整 ZIP 已发布在 GitHub Release `v0.2.0`。普通用户仍只需使用上方安装入口;Agent 会读取清单、下载不可变资产、校验 SHA-256 后安装,不需要 CLI。 ### 🟠 Claude Code diff --git a/SHA256SUMS.txt b/SHA256SUMS.txt index 25913d0..a618d54 100644 --- a/SHA256SUMS.txt +++ b/SHA256SUMS.txt @@ -1,3 +1,3 @@ -dc3149a8353534efb057bdd3850b2abbd1904c24860be010a968a875a8f8936b ming-engine-qoder.zip -07c84ad056a08ba3c74efbd0ce30855f77d37f4567b0df0301506c3d0cd48ed8 ming-engine-workbuddy.zip -eabfda68616bed95dc3b54d6d212d80e68c4994ade23f5b8052e8a2f0eb21012 ming-engine-doubao.zip +6a5f58194b0468ea1e72cd1757ec4d030c2b15c29631588eca029f2182ddae22 ming-engine-qoder.zip +0ea8bf93126f6dcf2b0ade555217547c52ac8c3e2b9791b9ca0cfb8b9b420011 ming-engine-workbuddy.zip +1163f4d403b94c1e47c10c7fe27e6d21af94edd9f3ea7cfa2041aa4e1bf9fe7c ming-engine-doubao.zip diff --git a/docs/HOST_COMPATIBILITY.md b/docs/HOST_COMPATIBILITY.md index 4b67198..cac8616 100644 --- a/docs/HOST_COMPATIBILITY.md +++ b/docs/HOST_COMPATIBILITY.md @@ -1,6 +1,6 @@ # 宿主兼容性审计 -> 当前分发状态:安装包来自 GitHub Release `v0.1.6`;Qoder、WorkBuddy 与豆包电脑版已有公开 ZIP。可下载性以 `install-manifest.json` 的 `published` 字段及 SHA-256 为准。 +> 当前分发状态:安装包来自 GitHub Release `v0.2.0`;Qoder、WorkBuddy 与豆包电脑版已有公开 ZIP。可下载性以 `install-manifest.json` 的 `published` 字段及 SHA-256 为准。 > > 本文档记录 Ming Engine(`calculate-birth-charts`)在四个目标宿主平台上的能力与验证状态。 @@ -28,7 +28,7 @@ | Node.js 运行环境 | ≥ 22 | ≥ 22 | ≥ 22 | ≥ 22 | | 能力级别 | full | full | full | full | | 真机验证 | L3 | L3 | L3 | L3 | -| 当前分发来源 | 仓库(已公开) | GitHub Release `v0.1.6` ZIP | GitHub Release `v0.1.6` ZIP | GitHub Release `v0.1.6` ZIP | +| 当前分发来源 | 仓库(已公开) | GitHub Release `v0.2.0` ZIP | GitHub Release `v0.2.0` ZIP | GitHub Release `v0.2.0` ZIP | | Windows 中文 / 空格路径 | 是 | 是 | 是 | 是 | --- @@ -44,14 +44,14 @@ | 宿主 | 当前安装来源 | 能力级别 | 来源类型 | | --------- | --------------------------- | -------- | ------------- | | Codex | 仓库(已公开) | full | repo | -| Qoder | GitHub Release `v0.1.6` ZIP | full | release-asset | -| WorkBuddy | GitHub Release `v0.1.6` ZIP | full | release-asset | -| 豆包 | GitHub Release `v0.1.6` ZIP | full | release-asset | +| Qoder | GitHub Release `v0.2.0` ZIP | full | release-asset | +| WorkBuddy | GitHub Release `v0.2.0` ZIP | full | release-asset | +| 豆包 | GitHub Release `v0.2.0` ZIP | full | release-asset | -- 根清单当前为 `status: "published"`:安装包来自 GitHub Release `v0.1.6`,包含不可变下载地址与 SHA-256。安装器必须先检查所选平台的 `published`;为 `false` 时不读取 URL/hash、不下载、不安装。 +- 根清单当前为 `status: "published"`:安装包来自 GitHub Release `v0.2.0`,包含不可变下载地址与 SHA-256。安装器必须先检查所选平台的 `published`;为 `false` 时不读取 URL/hash、不下载、不安装。 - 静态门禁 `pnpm run verify:install`(L1);真机安装/触发为 L2/L3。 - 版本检查:宿主 Agent 运行 `node scripts/ming-chart.mjs version` 读本地 `BUILD_MANIFEST.json` 回报真实已装版本(区分 legacy / 双层目录),不靠猜、不等于线上最新。 -- 更新迁移:只有线上清单将所选平台标记为已发布时,Agent 才可下载不可变 tag 资产、校验 SHA-256 并用 `migrate` 原子替换旧包。当前更新源是 v0.1.6,不能把本地旧包或缓存称作最新版。 +- 更新迁移:只有线上清单将所选平台标记为已发布时,Agent 才可下载不可变 tag 资产、校验 SHA-256 并用 `migrate` 原子替换旧包。当前更新源是 v0.2.0,不能把本地旧包或缓存称作最新版。 - 候选边界:下一候选构建只供本地验证,且始终 `published:false`;它不是公开安装源。未来发布须创建新的不可变 tag、上传 ZIP、重下验收后再更新根清单。 --- diff --git a/docs/INSTALL_BY_PLATFORM.md b/docs/INSTALL_BY_PLATFORM.md index 9bfb59c..257e68e 100644 --- a/docs/INSTALL_BY_PLATFORM.md +++ b/docs/INSTALL_BY_PLATFORM.md @@ -1,6 +1,6 @@ # Ming Engine 安装指南(按平台) -> 当前分发状态:安装包来自 GitHub Release `v0.1.6`。Qoder、WorkBuddy 与豆包电脑版已有公开 ZIP;以 `install-manifest.json` 的 `published` 字段及 SHA-256 为准。 +> 当前分发状态:安装包来自 GitHub Release `v0.2.0`。Qoder、WorkBuddy 与豆包电脑版已有公开 ZIP;以 `install-manifest.json` 的 `published` 字段及 SHA-256 为准。 > > 本文档帮你用最简单的方式完成安装。不需要编程知识,不需要安装 pnpm 或克隆代码仓库。 @@ -16,9 +16,9 @@ AI 会自动识别你所在的平台,并先检查该平台是否已发布。 | 平台 | 用户需要做什么 | 最终能力 | | ---------- | --------------------------------------- | -------- | -| Qoder | 发一句安装链接;Agent 下载并校验 v0.1.6 | 完整排盘 | -| WorkBuddy | 发一句安装链接;Agent 下载并校验 v0.1.6 | 完整排盘 | -| 豆包电脑版 | 发一句安装链接;Agent 下载并校验 v0.1.6 | 完整排盘 | +| Qoder | 发一句安装链接;Agent 下载并校验 v0.2.0 | 完整排盘 | +| WorkBuddy | 发一句安装链接;Agent 下载并校验 v0.2.0 | 完整排盘 | +| 豆包电脑版 | 发一句安装链接;Agent 下载并校验 v0.2.0 | 完整排盘 | | Codex | 公开仓库可用 | 完整排盘 | > 四个平台的完整排盘能力使用同一份引擎,结果一致;可下载性始终以 `install-manifest.json` 的 `published` 字段与 SHA-256 为准。 @@ -36,7 +36,7 @@ AI 会自动识别你所在的平台,并先检查该平台是否已发布。 > 四个平台功能一致,都能计算八字、紫微、西方占星并给出解读。最省事的方式仍是上面那句“一句话安装”。 -> 当前公开安装源是 GitHub Release `v0.1.6`。候选 ZIP 仍只用于本地验证,不能作为公开“一句话安装”的来源;后续版本必须创建新的不可变 Release、完成重下验收后再更新清单。 +> 当前公开安装源是 GitHub Release `v0.2.0`。候选 ZIP 仍只用于本地验证,不能作为公开“一句话安装”的来源;后续版本必须创建新的不可变 Release、完成重下验收后再更新清单。 --- @@ -71,7 +71,7 @@ AI 会自动识别你所在的平台,并先检查该平台是否已发布。 ### 当前状态 -安装包来自 GitHub Release `v0.1.6`。把顶部安装入口发给 Qoder 后,Agent 会先读取清单,确认 Qoder `published: true` 后下载不可变资产并校验 SHA-256;不要请求旧链接,也不要用本地缓存冒充最新版。 +安装包来自 GitHub Release `v0.2.0`。把顶部安装入口发给 Qoder 后,Agent 会先读取清单,确认 Qoder `published: true` 后下载不可变资产并校验 SHA-256;不要请求旧链接,也不要用本地缓存冒充最新版。 ### 安装流程(推荐:一句话,由 Qoder Agent 代装) @@ -109,7 +109,7 @@ AI 会自动识别你所在的平台,并先检查该平台是否已发布。 ### 当前状态 -安装包来自 GitHub Release `v0.1.6`。安装入口会先读取清单,确认 WorkBuddy `published: true` 后才读取 URL/hash、下载并按宿主流程导入。 +安装包来自 GitHub Release `v0.2.0`。安装入口会先读取清单,确认 WorkBuddy `published: true` 后才读取 URL/hash、下载并按宿主流程导入。 ### 安装流程 @@ -141,7 +141,7 @@ AI 会自动识别你所在的平台,并先检查该平台是否已发布。 ### 当前状态 -安装包来自 GitHub Release `v0.1.6`。安装入口会先读取清单,确认豆包 `published: true` 后才读取 URL/hash、下载并按宿主流程导入。 +安装包来自 GitHub Release `v0.2.0`。安装入口会先读取清单,确认豆包 `published: true` 后才读取 URL/hash、下载并按宿主流程导入。 ### 安装流程 diff --git a/docs/RELEASE_CHECKLIST.md b/docs/RELEASE_CHECKLIST.md index 0d1914b..e84a56d 100644 --- a/docs/RELEASE_CHECKLIST.md +++ b/docs/RELEASE_CHECKLIST.md @@ -47,9 +47,10 @@ - [ ] **C2 提升根清单**:仅在 C1 完整性通过后执行 `pnpm run promote:release -- --confirm-published`(唯一允许覆写根 `install-manifest.json` / `SHA256SUMS.txt` 的工具,且刻意不在 `verify:all` 内)。在同一 - 受审改动中更新 `tools/lib/host-config.ts` 的 `PUBLISHED_RELEASE_VERSION` / - `PUBLISHED_RELEASE_TAG`,然后重跑 `pnpm run verify:install` 与 `pnpm run verify:all` - 通过后再提交。 + 受审改动中更新 `tools/lib/host-config.ts` 的 `ROOT_ENGINE_VERSION`(引擎版本变更时)以及 + `PUBLISHED_RELEASE_VERSION` / `PUBLISHED_RELEASE_TAG`;再将 `CANDIDATE_RELEASE_VERSION` + 推进到下一个与已发布 tag 不同的未发布版本。然后重跑 `pnpm run verify:install` 与 + `pnpm run verify:all` 通过后再提交。 ## 附注 diff --git a/docs/STATUS.md b/docs/STATUS.md index 5c697fe..ad06713 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -186,7 +186,7 @@ never by hand. | `pnpm run validate:docs` | passes (docs consistency: 4 full hosts, render disabled, no wrong-ephemeris attribution, dev Node 24 / run Node 22; self-tests) | | `pnpm run validate:provenance` | passes (no wrong-ephemeris attribution in live source / examples / built engine; VSOP87+NOVAS; self-tests) | | `pnpm run verify:hosts` | real candidate ZIPs: single top dir, no double-nest, doctor/verify/calculate byte-identical to canonical | -| `pnpm run verify:install` | root publishes GitHub Release v0.1.6 with immutable URL/SHA-256; next candidate build remains unpublished/reproducible | +| `pnpm run verify:install` | root publishes GitHub Release v0.2.0 with immutable URL/SHA-256; next candidate build remains unpublished/reproducible | | `pnpm run smoke` | 10 / 10 (offline; source CLI vs isolated Skill byte-identical) | | `pnpm run forward:test` | 41 / 41 (offline; 8 realistic requests incl. horoscope + interpret + synastry) | | `pnpm run example` | regenerates `examples/` (de-identified artifacts; needs build) | diff --git a/install-manifest.json b/install-manifest.json index d32c1c7..63f7f4d 100644 --- a/install-manifest.json +++ b/install-manifest.json @@ -1,15 +1,15 @@ { "skill": "calculate-birth-charts", "product": "ming-engine", - "engineVersion": "0.1.1", - "releaseVersion": "0.1.6", - "releaseTag": "v0.1.6", + "engineVersion": "0.2.0", + "releaseVersion": "0.2.0", + "releaseTag": "v0.2.0", "repo": "https://github.com/Jowitt13/ming-engine", "status": "published", - "statusNote": "GitHub Release v0.1.6 已发布。release-asset ZIP 必须从 downloadUrl 下载,并核对 SHA-256 与本清单及 SHA256SUMS.txt 一致。", + "statusNote": "GitHub Release v0.2.0 已发布。release-asset ZIP 必须从 downloadUrl 下载,并核对 SHA-256 与本清单及 SHA256SUMS.txt 一致。", "canonicalEngine": { - "version": "0.1.1", - "engineSha256": "bb12f64e5593b72ac033fb108beb05dcd5f8204b12d73c247c226795bdd6ef35" + "version": "0.2.0", + "engineSha256": "95d430600c20c3803812fb3075b117a36a8eb7fdc58963211c5347ffd29f0b70" }, "entry": "https://raw.githubusercontent.com/Jowitt13/ming-engine/main/INSTALL.md", "platforms": [ @@ -47,8 +47,8 @@ "realDeviceVerified": true, "releaseAsset": "ming-engine-qoder.zip", "downloadType": "release-asset", - "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.1.6/ming-engine-qoder.zip", - "sha256": "dc3149a8353534efb057bdd3850b2abbd1904c24860be010a968a875a8f8936b", + "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.2.0/ming-engine-qoder.zip", + "sha256": "6a5f58194b0468ea1e72cd1757ec4d030c2b15c29631588eca029f2182ddae22", "published": true }, { @@ -67,8 +67,8 @@ "realDeviceVerified": true, "releaseAsset": "ming-engine-workbuddy.zip", "downloadType": "release-asset", - "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.1.6/ming-engine-workbuddy.zip", - "sha256": "07c84ad056a08ba3c74efbd0ce30855f77d37f4567b0df0301506c3d0cd48ed8", + "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.2.0/ming-engine-workbuddy.zip", + "sha256": "0ea8bf93126f6dcf2b0ade555217547c52ac8c3e2b9791b9ca0cfb8b9b420011", "published": true }, { @@ -87,8 +87,8 @@ "realDeviceVerified": true, "releaseAsset": "ming-engine-doubao.zip", "downloadType": "release-asset", - "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.1.6/ming-engine-doubao.zip", - "sha256": "eabfda68616bed95dc3b54d6d212d80e68c4994ade23f5b8052e8a2f0eb21012", + "downloadUrl": "https://github.com/Jowitt13/ming-engine/releases/download/v0.2.0/ming-engine-doubao.zip", + "sha256": "1163f4d403b94c1e47c10c7fe27e6d21af94edd9f3ea7cfa2041aa4e1bf9fe7c", "published": true } ] diff --git a/tools/lib/host-config.ts b/tools/lib/host-config.ts index 3886989..2bda5a2 100644 --- a/tools/lib/host-config.ts +++ b/tools/lib/host-config.ts @@ -65,17 +65,17 @@ export const REPO_URL = 'https://github.com/Jowitt13/ming-engine'; // --- ROOT / PUBLISHED: live public-release metadata. --- /** Engine semver in the committed, audited source root. */ -export const ROOT_ENGINE_VERSION = '0.1.1'; +export const ROOT_ENGINE_VERSION = '0.2.0'; /** The published Release currently reflected by the root manifest. */ -export const PUBLISHED_RELEASE_VERSION: string | null = '0.1.6'; +export const PUBLISHED_RELEASE_VERSION: string | null = '0.2.0'; /** Immutable tag for the published Release. */ -export const PUBLISHED_RELEASE_TAG: string | null = 'v0.1.6'; +export const PUBLISHED_RELEASE_TAG: string | null = 'v0.2.0'; // --- CANDIDATE: the next unpublished build produced by package:hosts. --- /** Engine semver of the candidate: same audited engine as the source root (no engine change pending). */ export const CANDIDATE_ENGINE_VERSION = '0.2.0'; -/** Install-package release version of the candidate (next packaging release over the 0.1.1 engine). */ -export const CANDIDATE_RELEASE_VERSION = '0.2.0'; +/** Install-package release version of the candidate (next packaging release over the 0.2.0 engine). */ +export const CANDIDATE_RELEASE_VERSION = '0.2.1'; /** Immutable tag the CANDIDATE build targets (never `latest/download`). */ export const CANDIDATE_RELEASE_TAG = `v${CANDIDATE_RELEASE_VERSION}`; /** Sub-directory under `releases/` for the candidate build (gitignored). */