@ckanner/flywheel 0.32.0 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ their original language.
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 0.32.1 — DSH compatible-series upgrades
11
+
12
+ - Admit compatible DSH 0.2-series rc and patch upgrades from 0.2.1-rc.5, while
13
+ keeping the 0.3 series (including prereleases) outside the compatibility boundary.
14
+ Replace per-version host/SDK allowlists, retain permission and cleanup checks,
15
+ and validate the locked 0.2.2-rc.3 host alongside the legacy host fixture.
16
+
10
17
  ## 0.32.0 — Session-scoped workbench and bounded runtime decisions
11
18
 
12
19
  - Bound unused DSH prewarm cleanup receipts to 8 KiB of serialized UTF-8, including
package/README.md CHANGED
@@ -36,9 +36,11 @@ retries, budgets, workspaces, and delivery. Use it from the DeepSeek Harness
36
36
 
37
37
  For the desktop path, install Node.js **22.18.0 or later**, npm, Git, and a
38
38
  supported DSH desktop with its `dsh` command available. The plugin currently
39
- declares support for DSH **0.2.1-rc.5**, **0.2.2-rc.1**, and **0.2.2-rc.2**. Prepare the accounts
39
+ accepts the DSH **0.2 compatible series**, starting at **0.2.1-rc.5** and ending before
40
+ **0.3.0** (including its prereleases). Routine rc/patch upgrades within that range do not
41
+ require a Flywheel release. Prepare the accounts
40
42
  and CLI tools required by the model routes you choose. DSH itself may require
41
- a newer Node version; the supported 0.2.2-rc.1 SDK requires Node 24.9 or later.
43
+ a newer Node version; the DSH 0.2.2 SDK requires Node 24.9 or later.
42
44
 
43
45
  ```sh
44
46
  npx -y @ckanner/flywheel@latest install
package/README.zh-CN.md CHANGED
@@ -19,7 +19,7 @@ Flywheel 是面向 coding agent 的确定性 Go 编排器。模型负责规划
19
19
 
20
20
  ## 安装
21
21
 
22
- 使用桌面入口前,请准备 **Node.js 22.18.0 或更高版本**、npm、Git,以及带可用 `dsh` 命令的受支持 DSH 桌面。目前插件声明兼容 **DSH 0.2.1-rc.5、0.2.2-rc.1 和 0.2.2-rc.2**。还需准备所选模型路由使用的账号和 CLI 工具。DSH 自身可能要求更高版本的 Node;受支持的 0.2.2-rc.1 SDK 要求 Node 24.9 或更高。
22
+ 使用桌面入口前,请准备 **Node.js 22.18.0 或更高版本**、npm、Git,以及带可用 `dsh` 命令的受支持 DSH 桌面。插件采用 **DSH 0.2 兼容系列**范围,从 **0.2.1-rc.5** 起,到 **0.3.0 的任何预发布版之前**;范围内常规 rc/补丁升级无需重新发布 Flywheel。还需准备所选模型路由使用的账号和 CLI 工具。DSH 自身可能要求更高版本的 Node;DSH 0.2.2 SDK 要求 Node 24.9 或更高。
23
23
 
24
24
  ```sh
25
25
  npx -y @ckanner/flywheel@latest install
package/docs/design.md CHANGED
@@ -781,7 +781,7 @@ provider 表示 DSH SDK 的模型适配器,channel 表示账号/凭证/后
781
781
  默认内嵌表见 [flywheel.config.example.json](https://github.com/ckanner/flywheel/blob/main/templates/flywheel.config.example.json),具名配置完整示例见 [flywheel.profiles.example.json](https://github.com/ckanner/flywheel/blob/main/templates/flywheel.profiles.example.json),覆盖和预检规则见[配置指南](zh-CN/configuration.md)。现有用户要采用新方案,使用 `flywheel config migrate --preset subscriptions` 预览实际命中文件的变化,再以 `--apply` 显式应用。命令备份原始字节,保留预算、验证、worktree 和其他非模型设置,更新已约定的阶段模型、thinking、订阅渠道及 full-access 权限;默认关闭旧第二意见并明确停用未经验证的旧多模态路由。额外自定义路由/阶段会阻断迁移并列出,不能猜测替代。可用 `--expect-sha256` 绑定预览身份;应用前检测文件变动,失败不损坏原配置。运行中的实现任务不热加载模型配置,下次启动才使用新方案。JEV 的有效关闭和
782
782
  更严格授权另在每次决策边界重核,不重置已冻结的目标和账本。
783
783
 
784
- DSH 插件的兼容声明只覆盖已核对的 `0.2.1-rc.5`、`0.2.2-rc.1` 与 `0.2.2-rc.2`,不对未知预发布版本放行。权限事件只在公开 `agent/created` 阶段写入:Session 已完成只读创建公告,Agent 尚未释放首个模型请求。SDK 权限回执在写入显式 `approval/policy` 后,通过公开 `approval.overrideOf(session)` 读取实际覆盖值;不调用私有 `effectivePolicy`。候选必须通过两版真实发布的 renderer 生命周期检查,并在目标宿主验证无推理 SDK 收尾。
784
+ DSH 插件按公开 API 的兼容系列声明 `>=0.2.1-rc.5 <0.3.0-0`;DSH 使用包含预发布版本的 SemVer 范围判断。0.2 系列内常规 rc/补丁升级不再逐个登记;0.3 系列及其任何预发布版本仍需重新核对。范围准入与实际能力证明分开:必需 service inject、Remote/会话投影、SDK 权限回执及收尾边界保持原检查,不通过精确版本豁免或伪造宿主版本放行。DSH peer 保持宿主提供的 optional 依赖,npm 范围覆盖既有 0.2.1/0.2.2 预发布系列,测试依赖则锁定已实测版本。权限事件只在公开 `agent/created` 阶段写入:Session 已完成只读创建公告,Agent 尚未释放首个模型请求。SDK 权限回执在写入显式 `approval/policy` 后,通过公开 `approval.overrideOf(session)` 读取实际覆盖值;不调用私有 `effectivePolicy`。候选必须通过旧 0.2.1-rc.5 与当前锁定 0.2.2-rc.3 真实发布的 renderer 生命周期检查,并在目标宿主验证无推理 SDK 收尾;范围内未来版本准入不等于逐版完成实测。
785
785
 
786
786
  ### 13.1 npm 安装与发行
787
787
 
@@ -21,7 +21,10 @@ For the complete path through task branches and PR review, see [Workflow](workfl
21
21
  | DeepSeek and ChatGPT providers in the DSH SDK profile | Default execution, independent Review, and Judge |
22
22
  | Go 1.27 or later | Only the disposable Go example and source builds; not npm binary installation |
23
23
 
24
- The plugin declares DSH `0.2.1-rc.5`, `0.2.2-rc.1` and `0.2.2-rc.2` compatibility. DSH 0.2.2 has
24
+ The plugin admits DSH `>=0.2.1-rc.5 <0.3.0-0`, including later prereleases in
25
+ the 0.2 series. Routine rc/patch upgrades do not require adding a version to an allowlist.
26
+ The 0.3 series, including its alpha/beta/rc versions, needs a new compatibility review.
27
+ Range admission does not bypass required host services or SDK permission/cleanup checks. DSH 0.2.2 has
25
28
  its own Node 24.9 minimum; use the official desktop-supplied CLI. Check actual command
26
29
  locations and versions before setup:
27
30
 
@@ -0,0 +1,78 @@
1
+ # 0.32.0 正式发行与本机安装
2
+
3
+ 用户授权合并已审查 PR、关联关闭 Issue、发布新版本并安装到现有 DSH 桌面。
4
+ PR #43 按已审查 head `2a8af72f82cbacc16d61495653c458ed2021ea29` 合并为
5
+ `ae4ba2cd1c7be3895df1d8380d23ab278c262a7f`,GitHub 自动关闭 #41、#42。
6
+ 发行前后均核对没有其他开放 PR;本次没有修改两项修复的实现。
7
+
8
+ ## 发行身份
9
+
10
+ - 源码/标签 `v0.32.0`:`578b778a074948c98301b43ac20a4923714ca0e0`。
11
+ - Git tree:`8dcaff150f7ee2602134daeb4fef474fc56a02b7`。
12
+ - 源码 snapshot SHA256:`29418bd2f909906573d2d706712334af43bcba09ca12cf745e78695b8357a822`。
13
+ - 正式候选清单 SHA256:`61ddf4fb4007390851e8a0a3c591dc256415114e96525523fda3b5703ef77a95`。
14
+ - 构建工具链:macOS arm64,Go 1.27.3、Node 24.22.1、npm 12.2.1。
15
+
16
+ 六包在干净源码中隔离构建、打包一次。先使用 `candidate-0-32-0`,全部精确版本和
17
+ integrity 与原候选一致、官方 registry 安装通过后,再逐包提升 `latest`。
18
+ 最终发行器确认六包均为 0.32.0,源码、远端标签、候选及所有 latest 完整性复核通过。
19
+ 同一组六包和候选清单保存在 [v0.32.0 Release](https://github.com/ckanner/flywheel/releases/tag/v0.32.0)。
20
+
21
+ ## 已执行验证
22
+
23
+ | 检查 | 结果与范围 |
24
+ | --- | --- |
25
+ | macOS 源码审查 | PR #43 精确 head 的完整 Go 门禁通过,逐函数 100%;发行提交仅改变六包版本、锁文件根版本及 CHANGELOG 标题 |
26
+ | macOS 插件及桥接 | 同一已审查实现的插件 302/302、旧宿主 10/10、DSH/Codex Pro/Claude Code Pro 三桥接通过,无跳过 |
27
+ | macOS 超时复现回归 | 接纳后安全过期及接纳前拒绝回退各 20 次通过;race 模式各 20 次通过;原 20/20 失败证据保留在 #42 |
28
+ | Linux arm64 发行源码 | Go 完整门禁通过,逐函数 100%;插件 302/302、旧宿主 10/10、三桥接通过,无跳过 |
29
+ | Linux 核心 race | machine、verify、watchdog、drivers、cli、modules、diagnostic 全部通过 |
30
+ | npm 协议及发行测试 | 两个平台均 142/142 通过 |
31
+ | 真实引擎会话离线场景 | 两个平台均完成 36 个 trial/96 次夹具调用,所有 oracle 通过,无未知或未观察场景 |
32
+ | 同一正式候选真实安装 | macOS arm64、Linux arm64 各 10/10,通过且无跳过 |
33
+ | 官方 registry 安装 | 精确 0.32.0、实际 npm 和原生 CLI、11 个 Skill 通过;桌面注册部分为 CLI 协议桩 |
34
+ | 已安装内容 | 入口包 150 文件、全局 worker 包 106、桌面插件 106、当前平台包 3,全部与正式 tarball 逐文件一致 |
35
+ | 已安装技能 | 11 个 Skill 的 13 个内容文件与发行 tag 一致 |
36
+ | 本机 SDK 探测 | doctor 返回 ok:true;四项 SDK 目录/权限/收尾探测 pass,inferenceTested:false |
37
+
38
+ 可选 Claude Code Pro 使用已审查源码产物 0.4.0,SHA256
39
+ `125951f39d27a87072a9dc20c622a19089ad7ba84b69ba6228e1fbb03f46f581`;
40
+ Codex Pro 使用仓库 vendor 中记录的 0.9.0 原包。未把缺失 optional peer 的跳过记作通过。
41
+
42
+ ## 本机配置与桌面边界
43
+
44
+ 现有 Node 26.12.1 npm prefix 下的 CLI 与 desktop profile 插件均已安装 0.32.0。
45
+ 安装报告 `ok:true`、`ready:true`,DSH 仍为 0.2.2-rc.2。安装器保留旧配置后,再按用户
46
+ 既有明确要求,通过带 revision 的 `control config-save`、`reset:true` 完整覆盖为
47
+ 安装版模板;解析后深比较完全一致。
48
+
49
+ 全局配置 SHA256 为
50
+ `20fae2b10ad725bf5f7c06080201d1b37142f08ec74d835c053f7106d07006e9`。
51
+ 默认 scoped、parallel/最大并发 2、batch、自动 Worktree 开启、预热关闭、JEV 关闭;
52
+ 预算保留模板的 soft/每日 2,000,000 token,可由新版设置选择关闭。本次未自行改动模板默认值。
53
+ 安装前五个实际存在的配置和安装元数据文件已备份、校验,目录为
54
+ `~/.config/flywheel/backups/pre-0.32.0-install-20261113T163236Z/`。
55
+
56
+ **桌面重载和新版原生画布验收尚未完成。** 检查时 DSH 仍显示运行中会话、停止生成按钮
57
+ 和一个后台任务;原生插件详情仍显示进程加载的 0.31.1,与磁盘 0.32.0 区分记录。
58
+ 遵守用户“等现有任务结束后再重载”的要求,没有停止任务或重启 DSH,并恢复原会话页面。
59
+ 后续安全重载及画布验收应追加实际结果,不能将磁盘安装、离线渲染或 SDK 探测冒充桌面已切换。
60
+
61
+ ## 保留的失败与限制
62
+
63
+ - [发布 Actions 43459618683](https://github.com/ckanner/flywheel/actions/runs/43459618683)
64
+ 和 [CI 43459618646](https://github.com/ckanner/flywheel/actions/runs/43459618646) 未通过。
65
+ 发布 preflight 没有执行步骤,annotation 指明账号付款或 spending limit 问题;本机验证不冒充 Actions 通过。
66
+ - Linux 容器原有 npm 缓存的 `CACHEDIR.TAG` 权限导致初次 npm 阶段和候选安装 EACCES。
67
+ Go 门禁已通过;保留原始失败日志,使用容器内独立可写缓存续跑剩余检查并重跑安装,
68
+ 没有改变源码、候选、测试断言或容器非 root 用户。
69
+ - macOS Intel 包被 npm 接收后超过 180 秒尚未公开,发行器按原规则停止。
70
+ npm 官方版本页确认 0.32.0 处于 Validating;没有重复上传该包。
71
+ 使用原候选和同样源码/标签/完整性前置检查继续上传两个无依赖 Linux 平台包;
72
+ 四个平台全部公开并核对后,才恢复标准发行器上传插件和入口包。
73
+ - PR #43 作者记录的首次 Linux Claude 清理、DSH 桥接失败仍保留在
74
+ [原验证记录](2026-11-13-prewarm-receipts-and-expiry-tests.md);本轮通过不删除历史失败。
75
+ - doctor 的账号与既有会话 unknown、沙箱 warn、无任务契约 skipped 保持原含义。
76
+ 未发送真实推理 prompt;不建立真实模型质量、额度、JEV 收益或预热性能结论。
77
+
78
+ 本记录为发行后文档,不移动发行标签,不改写已发布 tarball。
@@ -11,6 +11,7 @@ Historical records retain their original language and findings.
11
11
 
12
12
  | Date | Record |
13
13
  | --- | --- |
14
+ | 2026-11-13 | [0.32.0 正式发行与本机安装(桌面重载待完成)](2026-11-13-release-0.32.0.md) |
14
15
  | 2026-11-13 | [DSH 预热回执大小与 TTL 测试同步修复](2026-11-13-prewarm-receipts-and-expiry-tests.md) |
15
16
  | 2026-11-13 | [DSH 设置开关与最新工作台整合复核](2026-11-13-dsh-settings-controls.md) |
16
17
  | 2026-11-13 | [P5 继续复核:就绪队列会话与预热错误处理](2026-11-13-p5-tracked-runtime-fixes.md) |
@@ -20,7 +20,9 @@
20
20
  | DSH SDK profile 中的 DeepSeek 和 ChatGPT provider | 默认执行、独立 Review 与 Judge |
21
21
  | Go 1.27 或更高 | 仅本文 Go 示例与源码构建需要,npm 二进制安装不需要 |
22
22
 
23
- 插件声明兼容 DSH `0.2.1-rc.5`、`0.2.2-rc.1` 和 `0.2.2-rc.2`。DSH 0.2.2 自身要求 Node 24.9
23
+ 插件使用 DSH `>=0.2.1-rc.5 <0.3.0-0` 范围,包含 0.2 系列内的后续预发布版本。
24
+ 常规 rc/补丁升级不再逐版本追加白名单;0.3 系列及其 alpha/beta/rc 需要重新核对兼容性。
25
+ 版本准入不会绕过必需的宿主服务或 SDK 权限/清理检查。DSH 0.2.2 自身要求 Node 24.9
24
26
  或更高,应使用官方桌面附带的 CLI。安装前核对实际命令位置与版本:
25
27
 
26
28
  ```sh
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckanner/flywheel",
3
- "version": "0.32.0",
3
+ "version": "0.32.1",
4
4
  "description": "A deterministic Go orchestrator for coding-agent loops, with task contracts, verification gates, Git worktrees, and DSH desktop integration.",
5
5
  "bin": {
6
6
  "flywheel": "bin/flywheel.js",
@@ -36,10 +36,10 @@
36
36
  "docs"
37
37
  ],
38
38
  "optionalDependencies": {
39
- "@ckanner/flywheel-darwin-arm64": "0.32.0",
40
- "@ckanner/flywheel-darwin-amd64": "0.32.0",
41
- "@ckanner/flywheel-linux-arm64": "0.32.0",
42
- "@ckanner/flywheel-linux-amd64": "0.32.0"
39
+ "@ckanner/flywheel-darwin-arm64": "0.32.1",
40
+ "@ckanner/flywheel-darwin-amd64": "0.32.1",
41
+ "@ckanner/flywheel-linux-arm64": "0.32.1",
42
+ "@ckanner/flywheel-linux-amd64": "0.32.1"
43
43
  },
44
44
  "scripts": {
45
45
  "release:check": "node scripts/release-preflight.js",
@@ -47,10 +47,10 @@
47
47
  "test": "node --test npm/test/*.test.js",
48
48
  "test:install": "node --test npm/test/install.integration.js",
49
49
  "test:registry": "node npm/test/registry-smoke.js",
50
- "build:npm": "bash scripts/build-npm.sh 0.32.0 dist-npm",
50
+ "build:npm": "bash scripts/build-npm.sh 0.32.1 dist-npm",
51
51
  "test:sessions": "node scripts/test-session-evaluation.js"
52
52
  },
53
53
  "dependencies": {
54
- "@ckanner/dsh-plugin-flywheel": "0.32.0"
54
+ "@ckanner/dsh-plugin-flywheel": "0.32.1"
55
55
  }
56
56
  }