release: prepare Desktop 0.13.16
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s

Package approved bilingual notes for history upgrade reclamation, continuous
Supervisor reviews, and clearer review/activity layouts. Align feature lists
and retain published notes. Agent remains 0.13.4; no schema bump or LoongArch.

Update two stale layout assertions to match removed repetitive copy.
Record candidate validation and the isolated Mermaid rerun without claiming
a clean full-suite result. Require main CI and production build before tagging.
This commit is contained in:
mesalogo
2026-09-26 13:43:53 +08:00
parent 325b702934
commit 0759d5dcff
7 changed files with 96 additions and 15 deletions
+11 -6
View File
@@ -324,7 +324,7 @@ records are listed separately and do not introduce another feature status.
failure, Agent `SIGKILL`/restart, and recovery from a reopened Desktop SQLite
database. Successful tool START/END events appear exactly once, with no
Prompt, provider, or tool replay observed. The current Agent source lock is
`0.13.4`, while the current Desktop release candidate is `0.13.15`; formal
`0.13.4`, while the current Desktop release candidate is `0.13.16`; formal
publication status follows the separate Agent and Desktop
release channels. Previous macOS validation covered native package installation,
detached lifecycle, Attach, real Ask/Execute, and cancellation of tools in
@@ -759,9 +759,11 @@ records are listed separately and do not introduce another feature status.
Automatic stages process only new, changed, or unprocessed source portions;
no-change checks skip model calls. Manual review pages through the selected history
and saves batches with their facts and sources. Runs can pause and resume from
saved progress; settings expose concurrency, timeouts, batch sizes, execution
budgets, and response capacity. Activity shows execution stages and saved batch
details. Work review and activity use the available panel width.
saved progress, without fixed-duration automatic pauses; settings expose
concurrency, per-request timeouts, batch sizes, and response capacity.
Activity emphasizes connected stages and saved-batch coverage, with secondary
statistics in expandable details. Work review uses a vertical full-width
flow with a separate run status and correctly placed empty state.
Calls remain read-only without tools and may incur model charges. See the
[implementation and evidence](./docs/features/conversation-supervision/progress.md).
- [ ] **Further supervision capabilities** (planned): Full event-by-event replay,
@@ -853,13 +855,16 @@ records are listed separately and do not introduce another feature status.
### Open source, builds, and releases
- The current Desktop candidate is `0.13.15`; Agent `0.13.4` is published, with
- The current Desktop candidate is `0.13.16`; Agent `0.13.4` is published, with
OpenCode pinned to `1.18.29` and Continue to `1.5.47`. Publication status follows the independent
Desktop and Agent release channels.
- Desktop `0.13.15` carries forward the unpublished `0.13.14` changes to paged Supervisor reviews and resume behavior,
native ripgrep searches, to-do layouts, and explicit remote follow-up after an
uncertain result. Database schema 47 requires a complete pre-upgrade backup
for rollback to older clients.
- Desktop `0.13.16` separates structure upgrades from legacy history reclamation,
removes fixed-duration review pauses, and clarifies Supervisor layouts.
It adds no schema change over `0.13.15` and requires no Agent update.
- Agent `0.13.3` reclaims idle Runtimes and retires displaced Agents after existing
work drains. Its packages require Desktop `0.13.12`;
update Desktop first, then the Host environment. Node remains `24.19.0`.
@@ -874,7 +879,7 @@ records are listed separately and do not introduce another feature status.
packaging, and publication verification remain separate acceptance steps.
No local production build, packaging, or LoongArch preview is requested.
Current validation status is recorded in the
[recovery preparation record](./docs/development/release-preparation-0.13.15.md).
[release preparation record](./docs/development/release-preparation-0.13.16.md).
- Desktop `0.13.12` and Agent `0.13.3` have completed their native release jobs;
this does not replace development-time real-Host scenario coverage.
- Validation records remain separate from implementation status. Current-source
+5 -4
View File
@@ -50,7 +50,7 @@
- [x] **高效直连模型工作区工具**:直连模型使用随包 ripgrep 的原生参数发现文件和搜索内容,按行分页读取大型 UTF-8 文件,并在 Execute 中应用多文件补丁。Ask 限于工作区只读搜索和读取,Execute 按当前账号权限搜索;用户无需另行安装 ripgrep。搜索保留原生输出与退出码,大结果通过 `output_read` 完整续读,可处理的参数错误允许模型调整后继续。
- [x] **长上下文与工具输出分页**:历史消息、长回复和文档解析文本不再采用旧的固定截断限制。直连模型可分页续读已保存的搜索、命令和 Subagent 输出;所选模型的上下文窗口及传输边界仍然有效。
- [x] **OpenCode 与 Continue**:使用隔离子进程、环境变量白名单、统一配置、取消、启动与控制请求时限、有界流式输出和活动记录;共享进程回收逻辑保留 Windows 完整进程树终止,并对采用独立进程组的 POSIX 子进程执行组回收。聊天状态检查使用一次性探测 Runtime 并在返回后立即回收,不进入按模型与项目隔离的执行 Runtime 缓存;本机 GoodBuddy 管理的 OpenCode 在该被动检查中只确认所选路径和模型凭据,不启动用后即毁的 Server,设置中的显式连接测试和原生能力清单仍执行完整启动及健康检查,原生能力清单随后与首次实际请求复用同一个执行 Runtime,不再重复冷启动;执行 Runtime 仍按项目复用,但 OpenCode 配置依赖和按内容摘要生成的 Skill 快照在所有本机项目间全局复用,会话数据、工具输出及请求级 MCP 状态继续隔离。本机 GoodBuddy 管理的 OpenCode 只对同一会话内的请求保持顺序,不同会话即使属于同一项目也可并行,不同项目同样可并行;请求级动态 MCP 通过默认通配禁用和当前请求精确放行保持隔离。托管的本机和远端 OpenCode 跳过界面未使用的自动 Git 快照,避免同步差异计算拖住会话,文件工具、子代理与工作区 Git 差异保留;Continue 持续排空不用展示的宿主 stdout,防止控制台输出填满管道。这些调整随新启动的 Runtime 生效,不改写外部 OpenCode Server 配置。OpenCode 与 Continue 不再按固定工具调用数或活动数中止单次运行,已观察到的工具与 Subagent 活动全部保留在本地会话,不再在原生任务继续执行时丢弃后续详情。交互提问只由前台对话回答,定时任务、远程通道和委派等后台执行遇到提问时会立即失败并提示改为前台运行,避免无限等待。本机 OpenCode 启动时直接使用已选择的绝对路径,不预先检查文件或运行 `--version`,路径失效时由实际启动返回错误;托管 Linux ARM Host 激活 Runtime 时复用准备阶段已验证的 registry 和 manifest,不重新哈希或检查完整 OpenCode 二进制。
- [x] **托管 SSH OpenCode 与 Continue**:该能力由“设置 > 平台功能”中的独立“远程项目”页签控制并默认关闭;关闭时不影响本地项目、普通桌面功能或桌面发布。支持 Linux x64、Linux arm64 和 macOS arm64 Host,不支持 Intel Mac;通过 SSH 按需启动 detached Agent,不要求开机服务。Ask 在 Runtime 工具边界保持只读,Execute 使用所选 SSH 账号的完整权限。Agent 持有 Prompt、模型和工具轮次、Runtime 进程及语义 transcript,Desktop 断开后重新 Attach 原操作而不重发 Prompt;模型凭据仅在当前操作内存中使用,不写入 Renderer、SSH 参数、环境或磁盘。当前 Agent 可以常驻,更新替换的旧 Agent 排空活动任务后退出。任务完成后回收空闲 Runtime,共享进程仍有任务或待答问题时保留;下一轮重建 Runtime 并恢复对话历史。设置页按平台和架构显示包状态,用户显式下载、更新或导入/导出包含 Agent、固定 Node、OpenCode 和 Continue 的签名 `.gbagent`;三个目标共用一个签名 catalog,继续校验签名和 SHA-256。Continue 需要更新后的联合包与配套 Desktop。首次发布混合 catalog 前需先升级 Desktop,旧版 Linux-only 目录读取器无法解析包含 Darwin 的目录。历史 macOS OpenCode 原生安装、生命周期、Attach、真实 Ask/Execute 和独立进程组工具取消已在真实 Host 验证,不代表 Continue 的同等实机覆盖。Agent `0.13.4` 已发布,当前 Desktop 候选为 `0.13.15`;详细运行边界和 Linux 历史回归证据见[远程主机技术设计](docs/features/remote-host/technical-design.md),正式发布状态以独立发布渠道为准。
- [x] **托管 SSH OpenCode 与 Continue**:该能力由“设置 > 平台功能”中的独立“远程项目”页签控制并默认关闭;关闭时不影响本地项目、普通桌面功能或桌面发布。支持 Linux x64、Linux arm64 和 macOS arm64 Host,不支持 Intel Mac;通过 SSH 按需启动 detached Agent,不要求开机服务。Ask 在 Runtime 工具边界保持只读,Execute 使用所选 SSH 账号的完整权限。Agent 持有 Prompt、模型和工具轮次、Runtime 进程及语义 transcript,Desktop 断开后重新 Attach 原操作而不重发 Prompt;模型凭据仅在当前操作内存中使用,不写入 Renderer、SSH 参数、环境或磁盘。当前 Agent 可以常驻,更新替换的旧 Agent 排空活动任务后退出。任务完成后回收空闲 Runtime,共享进程仍有任务或待答问题时保留;下一轮重建 Runtime 并恢复对话历史。设置页按平台和架构显示包状态,用户显式下载、更新或导入/导出包含 Agent、固定 Node、OpenCode 和 Continue 的签名 `.gbagent`;三个目标共用一个签名 catalog,继续校验签名和 SHA-256。Continue 需要更新后的联合包与配套 Desktop。首次发布混合 catalog 前需先升级 Desktop,旧版 Linux-only 目录读取器无法解析包含 Darwin 的目录。历史 macOS OpenCode 原生安装、生命周期、Attach、真实 Ask/Execute 和独立进程组工具取消已在真实 Host 验证,不代表 Continue 的同等实机覆盖。Agent `0.13.4` 已发布,当前 Desktop 候选为 `0.13.16`;详细运行边界和 Linux 历史回归证据见[远程主机技术设计](docs/features/remote-host/technical-design.md),正式发布状态以独立发布渠道为准。
- [x] **SSH Host 手动环境准备源码链路**:Host Key、认证和系统探针成功后先保存 Host,并只读探测共享 Agent/Runtime;保存 Host、打开项目都不自动安装。Host 卡片只有一个按版本事实显示“安装远程环境”“更新远程环境”或“重新安装”的主按钮,次级 SegmentedControl 选择默认且不持久化的“自动”、Host 下载或 GoodBuddy 传输;“版本匹配”badge 不等同环境健康。自动模式只在 operation/prepare 前探测并择一,显式选择保持有效,任何 prepare、commit 或 adoption 失败都不跨 acquisition 自动 fallback。两种方式把同一签名 compound `.gbagent` 交付到固定 staging 后,共用 control-plane prepare、commit、Agent activate/health、Runtime activate、finalize 与显式 cleanup。GoodBuddy 路径可在同一次操作下载并验证缺失候选、缓存并取得 lease,再有界流式 SFTP 上传一个归档和其中已验证的 bootstrap Node,不把约 294 MiB 整包读入 Main `Buffer`;Host 在解包时完成一次完整 payload 校验。未完成操作只记录暂存 cleanup 所需的 operation ID;下次更新尽力清理旧暂存后重新 prepare,不保存远端 metadata 副本,也不让 cleanup 失败阻塞新更新或回滚健康环境。已有项目在实际使用 Workspace/Runtime 时按需解析 Host current identity 并执行固定 `attach-or-bootstrap`,注册后的 health、capabilities 和 prompt 启动不扫描完整 payload。详见 [设计说明](./docs/features/remote-host/environment-provisioning-technical-design.md)。
- **SSH Host 环境准备验证记录**:当前源码已在隔离 Linux x64 环境通过包安装、Ask/Execute、原生子代理工作区外写入、重连及 stop/bootstrap。现有记录未覆盖 Host 卡片的完整 GitHub、北京镜像、Linux x64/arm64、取消和离线 GoodBuddy 传输矩阵,候选 CI/原生打包与系统休眠唤醒也尚未验证;开发记录不代表版本已经发布。
- [x] **远程工作区与长任务更新**:Agent `0.11.23` 新增远程文件/Git 管理和可选模型限额,随包 Runtime 不再施加固定十分钟 Prompt 时限;无限请求时长仍保留独立连接超时。请先升级 Desktop 至 `0.12.11`,再下载并更新 Host 上的 Agent。
@@ -116,7 +116,7 @@
任务中心通过状态数量和筛选定位运行中及待处理任务,审批操作保留在对应任务卡片中。
- [x] **自动监督设置与范围**:“监督者 > 自动监督”统一管理计划、自动监督报告和建议,支持创建和编辑 Global 或指定一个、多个 Project 的每日、每周计划;工作回顾阅读带日期的统一监督结果及历史。旧单项目配置无损迁移,项目级记忆与行动输出必须显式指定范围内的 Project。Task Center 和设置中心不再复制心跳表单;按分区回顾、候选生成和唤起条件仍待设计。详见 [智能心跳 PRD](./docs/features/smart-heartbeat/prd.md)。
- [x] **监督者回顾、故事线图谱与活动**:按范围和时间回顾工作,查看保存结果的图谱及来源,确认或修订实体,预览写入本地知识库实体。侧栏可跟随或固定 Conversation、Task,并打开匹配结果。活动合并心跳报告与下游监督的阶段状态,保留失败和旧结果入口。自动阶段只处理新增、修改及未处理的来源片段,无变化时跳过模型;手动回顾重新整理有界历史。回顾只读且禁止工具,模型调用可能产生费用,详见[实施与验证记录](./docs/features/conversation-supervision/progress.md)。
- 手动回顾分页处理所选历史,并按批保存事实与来源;支持暂停和从保存进度继续。设置提供并发、超时、批次大小、执行预算和响应容量,活动记录显示实际阶段与已保存批次详情;工作回顾和活动记录使用面板可用全宽。
- 手动回顾分页处理所选历史,并按批保存事实与来源;不再按固定时长自动暂停,仍支持主动暂停和从保存进度继续。设置提供并发、单次请求超时、批次大小和响应容量;活动记录突出相连阶段、已保存批次与剩余来源,次要统计可展开查看。工作回顾采用全宽纵向布局,运行状态单独显示,空态不再挤在控件旁。
- [ ] **监督后续能力**(规划中):逐事件完整回放、Experiment 目标、人工修改时间序列审计、事件触发及更完整的执行观察仍未完成。当前自动回顾受输入预算和滚动窗口限制,删除报告不会重置处理进度或重建图谱。详见 [会话监督 PRD](./docs/features/conversation-supervision/prd.md)。
- [ ] **批量运行与对比实验室**(规划中):对模型、Prompt、角色和工作流配置执行批量对比,汇总质量、耗时、Token、费用、失败率和成果差异。
- [ ] **时态记忆与事实冲突检测**(规划中):为记忆和知识图谱增加有效期、当前事实、过期与矛盾检测、事实核验及证据回溯。
@@ -143,11 +143,12 @@
### 开源、构建与发布
- 当前 Desktop 候选为 `0.13.15`,Agent `0.13.4` 已发布,OpenCode 固定为 `1.18.29`、Continue 为 `1.5.47`;正式发布状态以独立发布渠道为准。
- 当前 Desktop 候选为 `0.13.16`,Agent `0.13.4` 已发布,OpenCode 固定为 `1.18.29`、Continue 为 `1.5.47`;正式发布状态以独立发布渠道为准。
- Desktop `0.13.15` 承接未发布的 `0.13.14`,改善监督者分页回顾与续跑、ripgrep 原生搜索、待办布局和远程结果未知后的显式续聊。数据库升级至 schema 47,回退旧客户端需使用升级前完整备份。
- Desktop `0.13.16` 分离结构升级与旧历史回收,移除回顾固定时长自动暂停,并改善监督者布局。相较 `0.13.15` 不新增 schema 变更,也不要求更新 Agent。
- Agent `0.13.3` 回收空闲 Runtime,并使被替换的 Agent 等已有工作结束后退出;复合包要求 Desktop `0.13.12`,请先升级 Desktop,再更新 Host 环境。Node 保持 `24.19.0`。
- Agent `0.13.4` 在完成前等待模型交付确认,空闲 Runtime 回收失败不改变已完成结果,并在环境更新后清理已确认停用的旧程序及所属孤儿进程;保留历史、活动及状态不明的安装。独立包要求 Desktop `0.13.14` 或更新版本;因 `0.13.14` 未发布,请先升级至 Desktop `0.13.15`,再更新 Host。
- 发布准备要求全量测试、发布说明校验、类型检查及 lint;候选主分支 CI、生产构建、原生打包及公开发布核验为独立验收步骤。本轮不做本地生产构建、打包或龙芯预览,当前验证状态见[恢复版准备记录](./docs/development/release-preparation-0.13.15.md)。
- 发布准备要求全量测试、发布说明校验、类型检查及 lint;候选主分支 CI、生产构建、原生打包及公开发布核验为独立验收步骤。本轮不做本地生产构建、打包或龙芯预览,当前验证状态见[发布准备记录](./docs/development/release-preparation-0.13.16.md)。
- Desktop `0.13.12` 和 Agent `0.13.3` 已完成原生发布流程,但不替代开发期真实 Host 场景覆盖。
- 验证记录与功能状态分开。存储已有本地及 Linux x64 Host 真实工具任务、多项目多会话、取消和无损迁移验证;进程复用有 Windows 完整 App 与 Linux x64 Host 证据,PPTX OCR 与空闲内存释放有 Windows 真实文件证据。图片工具已有真实服务商生成/编辑及 Host 传输证据,这些记录未覆盖完整界面自然语言调用和本地/远程切换。候选仍需主分支 CI 及原生发布打包,详见[Runtime 验证记录](./docs/features/assistant-workbar/progress.md)与[图片工具验证记录](./docs/features/conversation-media-generation/progress.md)。
- 发布准备前,`9836a4c` 已通过本地 4,858 项测试(67 项跳过)、完整类型检查和 lint;真实服务商画布分析仍未验证。该提交的三个原生 Agent CI 构建通过;桌面 CI `35485936807` 为 4,875 项通过、8 项 Electron 测试失败,均因 Linux 沙箱辅助程序未配置,在页面断言前退出。候选配置该程序并在 Xvfb 下运行测试,不关闭沙箱;候选本地验证、主分支 CI 与原生标签打包分别记录,不在发布准备中运行本地生产构建或打包。
@@ -0,0 +1,43 @@
# Desktop 0.13.16 发布准备
日期:2026-09-26。当前为候选,不代表已发布。
## 范围与批准
- 用户确认 Desktop 0.13.16、Agent 保持 0.13.4、不构建 LoongArch 预览。
- 基线为 `325b702934ba0f0c076f27e926a897267262ab55`,用户明确批准纳入新提交的
Supervisor 界面修改。相对已发布 `v0.13.15` 包含:
- `e6ac073`:监督回顾持续分批处理,保留主动暂停、单次模型超时和并发。
- `4c7193e`:结构升级不自动回收正常空闲页,准确显示操作状态及保留同启动重试。
- `325b702`:监督回顾空态、运行状态与活动阶段布局修复。
- 用户已批准中英文三项问题修复及两项升级提示,写入 `resources/release-notes.json`;
已发布版本说明保留。最终候选 SHA 需另行确认,主分支 CI 通过后才创建新标签。
- `FEATURES.md` 和 `FEATURES.zh-CN.md` 已核对并更新当前版本、持续回顾、
结构升级及界面行为,删除过时的执行预算暂停描述。
## 数据与 Agent 边界
相对 0.13.15 不提高 schema,仍为 47。不新增持久化迁移标记,不改写用户数据库。
旧格式仍执行必要转换;普通结构升级不因空闲页执行全库 VACUUM。
监督回顾仍只读、无工具,模型调用可能收费;取消固定时长暂停后可连续处理更多批次。
本轮没有 Agent、Runtime、模型桥、部署锁或远程协议修改;本机与远程历史共用桌面升级
实现。监督通过桌面 Ask 编排,不改变 Host 运行路径,不要求 Agent 更新或新 Host 部署。
本轮实际模型请求数为 0。
## 验证
在独立工作树准备,避免其他工作修改影响候选,复用相同锁定依赖,未复制本机私有环境文件。
候选第一轮全量发现 `HeartbeatCenter.test.tsx` 的两种语言仍要求已移除的重复说明存在;
改为断言说明不存在,保留范围、操作、标题及页面内容校验,专项 **42 项通过**。
最终候选完整测试:**5,128 通过、84 跳过、1 失败**。唯一失败为未修改的
`mermaid-viewer.electron.test.ts` 子进程退出码 null;首次单独复跑被工具的 150 秒
上限中断,随后按用例原有时间窗口复跑 **1 项通过**,覆盖九种显示场景和十次实际 PNG
导出。未修改该用例、提高其自身超时或弱化断言,独立复跑不替代全量结果。
`npm run typecheck`、`npm run lint`、`npm run release:notes:verify` 均通过。
先前迁移定向 47 项通过;最终开发期全量为 5,137 通过、74 跳过、两项 Electron
失败,失败用例独立复跑两项通过。该记录不是本候选的全量或 CI 通过证明。
未运行本地生产构建、打包或安装包启动。主分支 CI、六目标原生打包和公开发布核验待完成。
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "goodbuddy",
"version": "0.13.15",
"version": "0.13.16",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "goodbuddy",
"version": "0.13.15",
"version": "0.13.16",
"license": "0BSD",
"dependencies": {
"@agentclientprotocol/sdk": "0.25.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "goodbuddy",
"version": "0.13.15",
"version": "0.13.16",
"private": true,
"description": "Secure desktop AI workspace with controlled Agent Runtimes",
"desktopName": "GoodBuddy",
+32
View File
@@ -1,6 +1,38 @@
{
"formatVersion": 1,
"releases": [
{
"version": "0.13.16",
"releasedAt": "2026-09-26",
"notes": {
"zh-CN": {
"highlights": [],
"features": [],
"fixes": [
"**避免重复整理历史**:普通数据库结构升级不再因为存在空闲页而重新整理历史或执行全库空间回收。启动页会区分结构更新、旧内容转换和实际空间回收,真正需要转换的旧数据仍按原流程处理并保留已有内容。",
"**监督回顾持续处理**:回顾较长历史时,不再每隔固定时长自动暂停,减少反复点击继续的操作。仍可主动暂停并从已保存批次继续,单次模型请求的超时和并发设置保持有效。",
"**监督页面布局更清楚**:修复工作回顾空态挤在控件旁的问题,运行状态单独显示,减少顶部重复说明。活动记录突出处理阶段、已保存批次和剩余来源,次要统计可展开查看。"
],
"notices": [
"本次仅更新 Desktop,Agent 保持 **0.13.4**,无需为这些修复更新 Host 环境。从 Desktop **0.13.15** 升级不新增数据库格式迁移;从更早版本升级时,仍应备份完整用户数据,包括数据库和相邻 `notes/` 目录。",
"监督回顾只读且不调用工具,但会使用已配置模型并可能产生费用。取消固定时长自动暂停后,较长回顾可能连续执行更多批次;可主动暂停,模型结果仍需结合保存的来源核对。"
]
},
"en-US": {
"highlights": [],
"features": [],
"fixes": [
"**Avoid repeated history cleanup**: Ordinary database structure upgrades no longer reorganize history or reclaim the entire database merely because free pages exist. The startup page distinguishes structure updates, legacy data conversion, and actual space reclamation, while older data that genuinely needs conversion still follows the existing process without losing its contents.",
"**Keep Supervisor reviews running**: Reviews of longer histories no longer pause automatically at fixed time intervals, reducing repeated manual continuation. You can still pause and resume from saved batches, and per-request model timeouts and concurrency settings remain effective.",
"**Clearer Supervisor layouts**: Fixes the Work review empty state appearing beside its controls, gives run status its own area, and removes repeated introductory text. Activity emphasizes processing stages, saved batches, and remaining sources, with secondary statistics available in expandable details."
],
"notices": [
"This release updates Desktop only. Agent remains at **0.13.4**, with no Host update required for these fixes; upgrading from Desktop **0.13.15** adds no database format migration. When upgrading from older versions, back up complete user data, including the database and adjacent `notes/` directory.",
"Supervisor reviews are read-only and cannot call tools, but use the configured model and may incur charges. Without fixed-duration automatic pauses, longer reviews may process more batches continuously; you can pause manually, and results should still be checked against their saved sources."
]
}
}
},
{
"version": "0.13.15",
"releasedAt": "2026-09-26",
+2 -2
View File
@@ -202,7 +202,7 @@ describe('HeartbeatCenter', () => {
expect(screen.getByRole('heading', { name: t('supervisor.latest') })).toBeVisible()
expect(screen.getByRole('button', { name: t('supervisor.run') })).toBeEnabled()
expect(screen.getByRole('combobox', { name: t('supervisor.scope') })).toBeVisible()
expect(screen.getByText(t('supervisor.sourcesHint'))).toBeVisible()
expect(screen.queryByText(t('supervisor.sourcesHint'))).not.toBeInTheDocument()
for (const key of ['supervisor.recap', 'supervisor.graph', 'supervisor.automatic', 'activity.title', 'supervisor.settings']) {
fireEvent.click(screen.getByRole('tab', { name: t(key) }))
const panel = screen.getByRole('tabpanel', { name: t(key) })
@@ -224,7 +224,7 @@ describe('HeartbeatCenter', () => {
}
if (key === 'activity.title') {
await screen.findByText(t('activity.empty'))
expect(within(panel).getByText(t('activity.description'))).toBeVisible()
expect(within(panel).queryByText(t('activity.description'))).not.toBeInTheDocument()
expect(panel.querySelector('.scope-badge')).toBeVisible()
}
}