diff --git a/CHANGELOG.md b/CHANGELOG.md index e895365..278b80d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## 0.1.5 - 2026-09-09 (Meldwork-V1.0.5 prerelease) + +### Local Agent Reliability + +- Accept validated OpenClaw gateway configuration migrations without disabling path, permission, or credential isolation checks. +- Keep installed Agents visible when credential or capability checks fail; isolate failed probes and refresh the catalog after current readiness settles. +- Refresh native shell settings before manual detection and preserve supported proxy, CA, cloud Provider, and model-region settings without silently replacing a selected Provider. + +### Group Conversations + +- Route peer requests through explicit Agent decisions instead of interpreting prose mentions or media keywords as commands. +- Persist AI task completion separately from individual invocation success and human adoption; support single-Agent automatic work and exact visible answers. +- Resume human clarification gates after restart, reject conflicting responses, and prevent repeated responses from replaying calls. +- Serialize workspace writers, recover interrupted writes through bound approvals, retain partial results, and send acknowledged session context incrementally. +- Preserve completed and stopped task states after restart and show healthy contributions alongside failed participants. + +### Verification And Distribution + +- Frontend 343/343, desktop 1562/1562, and deterministic evaluation 6 cases / 18 results passed. +- Web and desktop builds, packaging, real packaged Codex/OpenClaw group execution, cancellation, and restart acceptance passed on Apple silicon macOS. +- DMG and ZIP are ad-hoc signed, without Apple Developer ID signing or notarization. No installed user application is replaced automatically. +- Live coverage is limited to observed CLI versions and configurations; cloud credential forwarding is not cloud-account certification. Full evidence: `docs/releases/Meldwork-V1.0.5.md`. + ## 0.1.4 - 2026-09-01 (Meldwork-V1.0.4 prerelease) ### Natural Group Discussions diff --git a/desktop/package-lock.json b/desktop/package-lock.json index 759965c..4fe2a64 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "meldwork-desktop", - "version": "0.1.4", + "version": "0.1.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meldwork-desktop", - "version": "0.1.4", + "version": "0.1.5", "license": "Apache-2.0", "dependencies": { "@agentclientprotocol/sdk": "0.23.0", diff --git a/desktop/package.json b/desktop/package.json index 808cc83..eb68ca4 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "meldwork-desktop", - "version": "0.1.4", + "version": "0.1.5", "private": true, "description": "A local-first desktop workspace for multi-Agent collaboration", "author": "Ryder-MHumble", diff --git a/docs/README.md b/docs/README.md index a64f56e..5e6b3d4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -35,6 +35,7 @@ Meldwork 的候选定位是 **本地优先、跨 Agent 的任务与交付工作 ## 发布、演示与传播 +- [V1.0.5 版本说明](releases/Meldwork-V1.0.5.md):CLI 检测、群聊恢复与本地预发布验收。 - [发布与分发清单](public-mvp-release.md):预览版和公开分发门槛。 - [macOS 签名与公证](macos-signing.md):Developer ID、Notarization 和 Gatekeeper 验收。 - [核心演示场景](demo-recording-scenarios.md):当前产品证明与未来概念素材的边界。 diff --git a/docs/releases/Meldwork-V1.0.5-progress.md b/docs/releases/Meldwork-V1.0.5-progress.md index ead2753..d74548b 100644 --- a/docs/releases/Meldwork-V1.0.5-progress.md +++ b/docs/releases/Meldwork-V1.0.5-progress.md @@ -1,6 +1,6 @@ # V1.0.5 开发记录 -日期:2026-09-09。分支:`feature/1.0.5`。状态:开发中,尚未完成整体目标;包版本仍为 `0.1.4`。 +日期:2026-09-09。分支:`feature/1.0.5`。当前包版本:`0.1.5`。本地预发布验收完成,见[最终版本说明](Meldwork-V1.0.5.md)及末节;以下早期检查点保留当时状态,不代表当前仍待实施。 ## 已复现与修复 @@ -30,7 +30,7 @@ - `/tmp/meldwork-105-provider-readiness.cjs`:独立 Electron 配置 `/tmp/meldwork-105-provider-rr3C5L` 使用合成不可解密数据,验证 Hermes 安装记录保留、不可调用且凭证状态未知,Codex 仍可用;设置页显示 `Provider credentials unavailable`,截图 `/tmp/meldwork-105-provider-readiness.png` 已查看。移除合成 Provider 后刷新,Hermes 恢复 `native-credential` 可用。未改日常配置、未调用模型;这验证解密失败处理,不是实际锁定用户 Keychain 的实验。 - 最新全量前端测试 36 个文件、328/328 通过;全量桌面仍待最终重跑。 -## 待完成 +## 早期待办(历史快照) 1. 群聊写权限:自然讨论的实际写入与未知结果恢复已完成本轮检查点,见末节;仍需纳入最终全量测试与打包验收。 2. 群聊收尾:自然讨论已使用 AI 完成判断,`needs-human` 已接入可恢复输入 Gate。严格一行输出曾导致真实 Codex 漏回执;澄清回执与可见答案的边界后,Codex/OpenClaw 原要求复测均通过,见末节。仍需最终综合验收;人类采用与 AI 完成继续分开。 @@ -266,3 +266,17 @@ nextKinds 使用最多 32 个唯一标识,与现有 V4 成员上限一致; - 最终 `/tmp/meldwork-105-region-electron.cjs` 使用真实 Electron 与隔离合成配置 `/tmp/meldwork-105-region-wJecRY` 验证动态键、空值、无 NODE_OPTIONS 透传及 Provider 隔离,采集约 15ms,退出 0;未调用外部模型。这是该次采集耗时,不是启动提速结论,也不是 AWS/Azure/Vertex 账户认证验收。 上述两项尚未纳入新的全量桌面/前端构建与打包,包版本仍为 0.1.4,整体版本目标继续开发。 + +## 最终本地版本验收 + +2026-09-09:前端、桌面与对应 lockfile 的项目版本更新为 0.1.5,没有升级依赖。最终全量桌面 1562/1562、跳过 0、退出 0,约 311 秒;前端 37 文件 343/343;确定性评测 6 案例、18 结果。日志分别为 `/tmp/meldwork-105-final-desktop.log`、`/tmp/meldwork-105-final-frontend.log`、`/tmp/meldwork-105-final-eval.log`。测试启动后未修改产品源码。 + +Web 与 desktop 构建、pack 和 dist 全部退出 0。产物为 desktop/dist 下 0.1.5 arm64 DMG/ZIP,归档检查与 codesign strict 通过。app.asar 中 116 个源码/JSON 文件与最终工作树一致,Info.plist 和包元数据版本均为 0.1.5。Developer ID 缺失、未公证及 chunk 体积提示保留,不把 ad-hoc 完整性校验称为 Apple 信任认证。 + +`/tmp/meldwork-105-packaged-acceptance.cjs` 直接启动打包应用,不更改 fuse,通过 Chromium 调试端口连接窄 preload。已验证 --user-data-dir 指向隔离目录;首次路径检查因 /tmp 被标准化成 /private/tmp 而断言失败,改用 realpath 比较后通过。最终配置 `/tmp/meldwork-105-packaged-NMVmMY` 连续两轮刷新保留 12 个 Agent;真实 Codex/OpenClaw 手动群聊两次调用 completed。后续自动任务进入活动调用后取消,stopped 且一次调用;关闭重开后两个任务的运行标识、状态、调用数完全一致。脚本退出 0,自己启动的进程均已退出。已查看 packaged-completed 和 packaged-restarted 截图。 + +`/tmp/meldwork-105-isolation-ui.cjs` 在开发版 Electron 的隔离配置 `/tmp/meldwork-105-isolation-1LGae5` 注入 OpenClaw 成员的进程错误,Codex 仍使用真实模型。进程错误按既有 protocol 重试策略共尝试四次,然后隔离;两次 Codex 调用完成、答案保留、成员仍在、整项 partial。此为受控故障注入,不能描述为真实 OpenClaw 本身发生故障或断言不可重试错误被多次执行。脚本退出 0,已查看 failure-isolation 截图,应用正常关闭。 + +原生写入/readback、等待人类输入重启续跑、无副作用媒体路由和精确输出证据见前述检查点;最终全量包含这些路径。未使用真实云账户认证、未修复用户损坏的 Pi 安装、未认证所有 CLI 组合或其他操作系统,也没有宣称普遍启动提速。以上是明确的验证边界,不以增加未验证环境作为本地版本已完成的证据。 + +最终版本说明及 CHANGELOG 已同步。构建产物不提交 Git;未推送、合并或替换日常应用。 diff --git a/docs/releases/Meldwork-V1.0.5.md b/docs/releases/Meldwork-V1.0.5.md new file mode 100644 index 0000000..8e2ba4a --- /dev/null +++ b/docs/releases/Meldwork-V1.0.5.md @@ -0,0 +1,48 @@ +# Meldwork V1.0.5 + +日期:2026-09-09。分支:feature/1.0.5。包版本:0.1.5。状态:本地预发布版本已完成验证,未推送或公开发布,未替换日常客户端。 + +## 本次修复 + +- OpenClaw 网关正常迁移配置后,不再因旧文件身份直接触发 OPENCLAW_RUNTIME_UNSAFE_PATH;迁移后的语义、路径、权限、Provider 和凭据边界仍校验。真实 OpenClaw 2026.9.1 与 Codex 群聊已完成执行。 +- 安装、能力、认证和当前运行结果分别判断。单个探测失败不使其他 Agent 消失;已安装但不可用的 Agent 保留入口、原因和历史。选定 Provider 凭证不可用时不静默切换原生登录。 +- 手动刷新先重新读取原生 shell,再检测并刷新目录。保留受支持的代理、CA、原生云配置和动态模型区域;缓存跟随配置变更,不只依赖 PATH。 +- 群聊使用 Agent 明确的 nextKinds 协作请求,正文 @、否定或历史提及不再直接派发。外层不再按媒体关键词调用共享服务或改写 Agent 回答,生成任务由原生工具或选中 Skill 处理。 +- 单 Agent 可以启动自动任务。交付负责人由 AI 判断完成、继续、阻塞或需要人类输入;任务终态独立于一次 CLI 调用是否正常退出。回执与用户可见答案分离,精确文本要求不会要求展示控制标记。 +- 人类输入 Gate 可跨重启恢复,同一回复重复提交不重复调用;取消停止任务。明确写入者、目录锁、绑定审批和恢复检查点避免重复写入,历史结果按持久化任务状态显示。 +- 自然讨论历史有界,并按原生 Session 的送达确认增量传递;换 Session 或无法证明已送达时重新提供必要上下文。 + +## 验证结果 + +| 检查 | 结果 | +| --- | --- | +| 前端全量测试 | 37 文件,343/343 | +| 桌面全量测试 | 1562/1562,跳过 0 | +| 确定性评测 | 6 案例,18 结果 | +| Web、桌面渲染构建 | 均通过;保留既有 chunk 体积提示 | +| pack、dist | Apple silicon macOS 应用、DMG、ZIP 生成成功 | +| 产物完整性 | DMG verify、ZIP test、codesign strict 均通过;app.asar 中 116 个源码/JSON 文件与当前工作树逐字节一致,包版本 0.1.5 | +| 打包应用启动 | 隔离配置连续刷新均有 12 个 Agent 条目,Codex/OpenClaw 可用 | +| 打包应用群聊 | 两个真实 Agent 完成 PACKAGE_105_OK;任务 completed | +| 打包应用取消与重启 | 新任务有活动调用后取消,状态 stopped;关闭重开,两个任务的状态与调用数不变 | +| 失败成员隔离 | 开发版 Electron 对一个成员注入进程错误,另一个成员使用真实 Codex;健康回答保留,群成员不删除,整项 partial | +| 精确输出与人类输入 | 真实 Codex/OpenClaw 精确答案完成;真实 Codex 待输入任务重启后继续,重复响应不增加调用 | + +完整命令、隔离目录、失败样本与检查点见[开发记录](Meldwork-V1.0.5-progress.md)。失败隔离中的进程错误按既有策略最多尝试四次;本次不是对 OpenClaw 实际故障的再现。取消验证发生在已记录活动调用的阶段,不声称已经观测到 sleep 子命令启动。 + +## 使用边界 + +- 本地保存会话不等于模型调用无数据出站;外部 Agent 仍依赖自己的安装、账号、网络和能力。 +- 本机 Pi 包装脚本损坏、MiMo 未登录被准确保留为不可用,没有替用户修改安装或凭据。 +- AWS/Azure/Vertex 环境转发通过合成配置测试,没有验证真实云账号、配额及模型权限。未知未来 CLI 迁移或协议不在本次认证范围。 +- 完成仍是 AI 基于实际交付的判断,不等于系统独立验收或人类采用。模型若仍缺少有效回执,不会被强行标为成功。 +- 没有启动耗时普遍下降的测量结论。修复的是检测一致性、配置继承与可恢复性。 +- 应用采用 ad-hoc 签名,未进行 Developer ID 签名或公证;首次打开可能需要 macOS 的“仍要打开”。 + +## 本地产物 + +- `desktop/dist/Meldwork-0.1.5-arm64.dmg` +- `desktop/dist/Meldwork-0.1.5-arm64.zip` +- `desktop/dist/SHA256SUMS-0.1.5.txt` + +产物不进入 Git;本次只提交源码、版本元数据和文档,不推送、不合并、不替换 /Applications 中的应用。 diff --git a/docs/tests.md b/docs/tests.md index 2d48aa9..f34c749 100644 --- a/docs/tests.md +++ b/docs/tests.md @@ -1,6 +1,22 @@ # Verification And Test Coverage -This page records the V1.0.3 prerelease evidence available on 2026-08-18 for Apple silicon macOS. Repository tooling and CI require Node.js 22.12 or newer; the packaged desktop uses Electron's bundled runtime. +Current verification is V1.0.5 / package 0.1.5 on 2026-09-09 for Apple silicon macOS. Repository tooling and CI require Node.js 22.12 or newer; the packaged desktop uses Electron's bundled runtime. + +## V1.0.5 Results + +- `npm --prefix frontend test`: 343/343 across 37 files. +- `MELDWORK_TEST_CLAUDE_EXECUTABLE=... npm --prefix desktop test`: 1562/1562, no skips. +- `npm --prefix desktop run eval:deterministic`: 6 cases, 18 results. +- Web build, desktop renderer build, `pack`, and `dist` passed. +- DMG/ZIP integrity and strict ad-hoc signature verification passed; 116 packaged source/JSON files matched the working tree. +- Actual packaged Codex/OpenClaw group execution, active-task cancellation, repeated detection, and restart without replay passed in an isolated profile. +- Development Electron acceptance additionally covers bound human input recovery, exact answers, and injected peer failure with a real healthy Codex participant. + +See [V1.0.5 release evidence](releases/Meldwork-V1.0.5.md) and [detailed progress](releases/Meldwork-V1.0.5-progress.md) for limitations and actual commands. These results do not certify every supported CLI, cloud account, or operating system. + +## V1.0.3 Historical Baseline + +All evidence below retains its original 2026-08-18 scope; it is not the current V1.0.5 result. The candidate is ad-hoc signed, not signed with an Apple Developer ID, and not notarized. Passing `codesign` proves bundle integrity only. Gatekeeper acceptance is not claimed, and `spctl` rejection is expected for this candidate. diff --git a/frontend/package-lock.json b/frontend/package-lock.json index a9c9e96..972b4b3 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "meldwork-frontend", - "version": "0.1.4", + "version": "0.1.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meldwork-frontend", - "version": "0.1.4", + "version": "0.1.5", "license": "Apache-2.0", "dependencies": { "@vicons/ionicons5": "^0.12.0", diff --git a/frontend/package.json b/frontend/package.json index a040b5c..f90c810 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "meldwork-frontend", - "version": "0.1.4", + "version": "0.1.5", "private": true, "description": "Meldwork local-first multi-Agent collaboration workspace", "author": "Ryder-MHumble",