From 7f21a82b2ad6e50d19a3ed77f4bf36d530a08f40 Mon Sep 17 00:00:00 2001 From: Bindy-lbb <70745012+Bindy-lbb@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:07:02 +0800 Subject: [PATCH 1/2] chore(release): prepare RoleWeave 0.6.0 Refs #623. Consumed revision: R1 (DEC-ROLEWEAVE-623-001). Synchronize release versions, downloads and frozen notes for the six main commits after v0.5.0. Correct the preflight ledger placement and remove a stale changelog conflict marker. --- CHANGELOG.md | 18 ++++++++++-------- README.md | 10 +++++----- apps/desktop/package.json | 2 +- docs/releases/v0.6.0.md | 34 ++++++++++++++++++++++++++++++++++ package-lock.json | 6 +++--- package.json | 2 +- 6 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 docs/releases/v0.6.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dd373e3..01bda75a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,23 +5,26 @@ ## [Unreleased] +## [0.6.0] — 2026-10-21 + ### Added -- #615: Show per-task execution progress in project cards, schedule rows, and the task editor. Reuse live stage events and exact persisted snapshots, recover on reconnect, and keep completed execution separate from delivery acceptance. -- #466:审批队列和详情展示可选 Jev 老化建议(`nudge` / `wait` / `discuss-close`),仅为文案。出站载荷只有 `{ createdAt, now, decision.kind, risk }`。overlay 不得隐藏 pending high,不得 POST decision,点击只打开事项。过期仍走现有 clock helpers。`ROLEWEAVE_LAYA_ENABLED` 默认关。https://github.com/bytefolk/roleweave/issues/422 +- #615: Show per-task execution progress in project cards, schedule rows and the task editor. Reuse live stage events and exact persisted snapshots, recover on reconnect and keep completed execution separate from delivery acceptance. +- #467: Add project-level, opt-in delivery preflight. Explicit versioned document references are checked for structure, broken links, version conflicts and modification time, without reading document bodies, calling Laya, changing goal status/health or issuing an overall acceptance decision. +- #466: Show optional approval aging advice in the queue and details when the default-off Laya integration is enabled. Advice uses only creation time, current time, decision kind and risk; it cannot hide high-risk pending approvals or submit a decision. ### Fixed -- Explain Codex ChatGPT-login model rejections with localized recovery and distinguish model catalog discovery from verified access (#613). -- #615: Validate Windows process ancestry by creation time so reused parent PIDs cannot attach unrelated processes to the packaged-app smoke test or its cleanup tree. -- #611: Preserve complete Codex employee questions and thread context on Windows by sending prompts through stdin. Chinese, multiline and long requests no longer lose their content through `.cmd` launchers; input-pipe failures produce a typed error. -- #609: Refresh the Codex employee model picker from the installed CLI's model catalog, preserve saved selections, and show stale/unavailable fallback status instead of silently relying on an outdated disk cache. +- #613: Explain Codex ChatGPT-login model rejections with localized recovery and distinguish catalog discovery from verified inference access. Keep the saved model and billing mode unchanged. +- #615: Validate Windows process ancestry by creation time so reused parent PIDs cannot attach unrelated processes to packaged-app smoke tests or their cleanup tree. +- #611: Preserve complete Codex employee questions and thread context on Windows by sending prompts through stdin. Chinese, multiline and long requests retain their content through command launchers; input-pipe failures produce a typed error. +- #609: Refresh the Codex employee model picker from the installed CLI catalog, preserve saved selections and show stale or unavailable fallback status when discovery fails. ## [0.5.0] — 2026-10-16 ### Added -- #467:Goals 详情新增项目级 opt-in 的“交付预检”。用户为每条验收标准显式选择带版本 `DocRef` 的文档材料;预检只核对引用结构、断链、版本冲突和 mtime,不读取正文、不调用 Laya、不写 `goal.status` / `goal.health`,也不会产生整体通过结论。Refs #422。- Buyer delivery acceptance details in the existing approval contract; refined shared-resource browsing and image previews; CXO company scenarios, execution teams and collaboration runbooks. +- Buyer delivery acceptance details in the existing approval contract; refined shared-resource browsing and image previews; CXO company scenarios, execution teams and collaboration runbooks. - 网盘面板支持直接选择并上传文件到 Mem,单文件最大 32 MiB,成功或去重后刷新清单;Windows 桌面向 WSL 控制面传送文件字节,文件路径留在桌面主进程。 @@ -73,7 +76,6 @@ - #559:新增协作区人工验收契约,验收通过必须完整覆盖计划中的全部验收项;限制标识符、时间戳和产物路径,拒绝遗漏或越界的裁决。 - #469:可选 Laya 接力停止建议。仅在 `ROLEWEAVE_LAYA_ENABLED` 开启、已完成步骤得到正向建议且仍有未执行步骤时暂停;桌面端由 owner 显式选择“停止剩余步骤”或“继续接力”。30 秒超时、SSE 断连、无效或失败建议均继续原 mention order;Laya 只接收 `status`、`errorCode`、`hasOutput`,不接收输入、输出或 handoff 文本。已接受的消息与 spawn 清单保持不可变。Refs #422。 ->>>>>>> origin/main - #360:工作区 `work/` 领地布局。initialize/create 脚手架 `work/README.md`(已有工作区不加强制迁移)。hire 创建 `work//`,仅给 hire 岗位生成 SKILL.md Territory 段,并把新角色的 `memoryScope` 写成 `./work//`;项目负责人保持 `memoryScope: "/"`,SKILL 不声称不存在的 `work//`。默认 `toolAllow` 只有 Read/Grep/Glob,不含 Write/Edit/Bash。hire 任何 staging 失败都回滚声明文件。employee.json 摘要密封机制不变。Refs #360。 diff --git a/README.md b/README.md index 7211e94d..78fcd50f 100644 --- a/README.md +++ b/README.md @@ -25,20 +25,20 @@ For example, an open-source maintenance team can have a repository owner with th The [CXO reference library and company scenarios](examples/cxo-company/README.md) provide 25 optional functional roles, a three-role starter company, a nine-role product company and a nineteen-role delivery company with fourteen professional roles. Four team runbooks demonstrate product, engineering, marketing and delivery coordination through existing group routes, explicit handoffs and operator-controlled review/repair. The synthetic tasks deliver read-only plans and code drafts, not a deployed product. -The v0.5.0 source adds local WorkBuddy and Qwen Office client connections, improves Agent readiness checks, and refines employee settings, organization search, project layouts and rich conversation replies. See the [v0.5.0 notes](docs/releases/v0.5.0.md) for the release changes and [continuing work with an AI team](docs/thread-context-and-collaboration.md) for usage and limits. +The v0.6.0 source adds per-task execution progress, opt-in delivery preflight and approval aging advice. It also refreshes the Codex model catalog, explains account-specific model rejection, and preserves complete prompts on Windows. See the [v0.6.0 notes](docs/releases/v0.6.0.md) for the release changes and [continuing work with an AI team](docs/thread-context-and-collaboration.md) for usage and limits. Workspace auto-open diagnostics remain best-effort: an unavailable stderr stream does not turn a diagnostic write into a failed startup. The current source restores an accessible workspace you previously opened and honors explicit workspace overrides. Otherwise, it starts without a workspace; it does not create or open a demo automatically. This empty first-launch behavior ships with v0.2.0. ## Download -RoleWeave is an **early preview**. This source targets **v0.5.0**. The versioned downloads below become available when publication completes; use the [latest published release](https://github.com/bytefolk/roleweave/releases/latest) until then. +RoleWeave is an **early preview**. This source targets **v0.6.0**. The versioned downloads below become available when publication completes; use the [latest published release](https://github.com/bytefolk/roleweave/releases/latest) until then. | Platform | Download | | --- | --- | -| macOS, Apple Silicon | [DMG installer](https://github.com/bytefolk/roleweave/releases/download/v0.5.0/roleweave-0.5.0-arm64.dmg) · [ZIP archive](https://github.com/bytefolk/roleweave/releases/download/v0.5.0/roleweave-0.5.0-arm64.zip) | -| Windows, x64 | [EXE installer](https://github.com/bytefolk/roleweave/releases/download/v0.5.0/roleweave-0.5.0-x64.exe) | +| macOS, Apple Silicon | [DMG installer](https://github.com/bytefolk/roleweave/releases/download/v0.6.0/roleweave-0.6.0-arm64.dmg) · [ZIP archive](https://github.com/bytefolk/roleweave/releases/download/v0.6.0/roleweave-0.6.0-arm64.zip) | +| Windows, x64 | [EXE installer](https://github.com/bytefolk/roleweave/releases/download/v0.6.0/roleweave-0.6.0-x64.exe) | -See the [v0.5.0 release notes](docs/releases/v0.5.0.md) for changes and upgrade guidance and [all releases](https://github.com/bytefolk/roleweave/releases) for published packages. Intel Mac and Linux installers are not included in this release target. +See the [v0.6.0 release notes](docs/releases/v0.6.0.md) for changes and upgrade guidance and [all releases](https://github.com/bytefolk/roleweave/releases) for published packages. Intel Mac and Linux installers are not included in this release target. **Installation notes:** macOS packages are not Apple Developer ID-signed or notarized, and the Windows installer is not Authenticode-signed. Your operating system may show a security prompt on installation or first launch. The macOS update manifest has a separate cryptographic signature; this does not provide Apple code-signing trust. Windows updates use the HTTPS release feed and the installer's SHA-512 checksum, without publisher verification. Users of older Org Workbench development builds need to install RoleWeave manually once. Existing unsigned Windows builds that disable in-app installation also need one manual upgrade to a build containing this update change. diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 19c18472..a9873509 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@roleweave/desktop", - "version": "0.5.0", + "version": "0.6.0", "description": "Electron shell for RoleWeave. Spawns the local control plane and renders the org tree via a whitelisted IPC bridge.", "license": "Apache-2.0", "private": true, diff --git a/docs/releases/v0.6.0.md b/docs/releases/v0.6.0.md new file mode 100644 index 00000000..8775c8b9 --- /dev/null +++ b/docs/releases/v0.6.0.md @@ -0,0 +1,34 @@ +# RoleWeave 0.6.0 + +RoleWeave 0.6.0 adds per-task execution progress, opt-in delivery preflight and approval aging advice, and improves Codex reliability. It includes the six commits after v0.5.0 through main revision `8930e45986d2d6f723767f972f536a748e8d136a`; the preparation commit synchronizes release versions and documentation. [Release record #623](https://github.com/bytefolk/roleweave/issues/623) tracks review, exact source checks, publication and independent asset verification. + +## Changes + +- Project progress: follow the latest task attempt in project cards, schedule rows and the task editor. Live execution stages and persisted snapshots recover after reconnect. Stage counts describe execution phases, not a percentage of work completed or time remaining; completed execution still requires delivery acceptance (#615, #616). +- Delivery preflight: enable a project-level check and explicitly select versioned document references for acceptance criteria. The check reports reference structure, broken links, version conflicts and modification time. It does not read document bodies, call Laya, change goal status/health or issue an overall acceptance decision (#467, #508). +- Approval aging: the existing default-off Laya integration can add advisory nudge, wait or discuss-close text to pending approvals. Only creation time, current time, decision kind and risk are submitted. Advice never hides pending high-risk items, grants/denies approval or changes expiry rules (#466, #506). +- Codex models: query the installed CLI catalog, offer explicit refresh, preserve saved model choices and show fallback status when discovery fails. A catalog entry or recommendation does not establish account entitlement. When ChatGPT login rejects a model, the conversation and picker provide recovery guidance; RoleWeave does not silently change the model or switch to API billing (#609, #610, #613, #614). +- Codex prompts on Windows: pass the complete employee prompt and thread context through stdin so command launchers preserve Chinese, multiline and long requests. Input-pipe failures return a typed error (#611, #612). +- Windows package checks: verify process ancestry against creation times so reused parent process IDs cannot bring unrelated processes into smoke-test cleanup (#615, #616). + +## Compatibility and upgrade + +This remains a pre-1.0 preview. No new incompatible workspace migration is introduced. Preserve existing workspaces, conversation history and user settings when upgrading the per-user desktop application. + +Existing local Agent installations, sign-ins and model/service entitlements remain operator-managed. Delivery preflight and approval advice do not replace human delivery acceptance or approval. Laya advice stays disabled unless the existing integration is explicitly enabled. + +## Downloads and validation + +- macOS Apple Silicon: `roleweave-0.6.0-arm64.dmg` and `roleweave-0.6.0-arm64.zip`. +- Windows x64: `roleweave-0.6.0-x64.exe`. +- Intel Mac, Linux and native mobile installers are not included. + +The existing distribution channel is unchanged: macOS packages are not Apple Developer ID-signed or notarized, and Windows packages are not Authenticode-signed. The macOS app verifies a separately signed update manifest, downloads updates in the background and replaces the app on normal exit. Windows verifies the installer checksum against the HTTPS feed and requires confirmation. Publication advances both public update feeds. + +Existing v0.4.0/v0.5.0 clients can use the normal update flow. Older Windows builds that disable in-app installation need one manual upgrade. Native builds, packaged startup/layout, installer metadata and artifact integrity are checked in CI. User-machine installation, uninstallation, cross-version updates and real provider entitlement require separate product validation. + +## Publisher handoff + +Follow the [ByteFolk release process](https://github.com/bytefolk/.github/blob/main/RELEASING.md): independent approval of the final preparation head, protected squash merge, exact merged-commit checks, unused-version and main-ancestry checks, and release-tag protection readback. An eligible actor creates one annotated v0.6.0 tag at the recorded commit after those gates pass. + +The existing release workflow freezes these notes from that commit, builds both native distributions, signs the macOS update manifest, verifies the draft inventory and publishes last. Stop on a failed gate. Before publication, revert preparation through a reviewed source change if needed. After publication, reinstall immutable v0.5.0 if necessary and correct defects in a new patch version; never replace released assets or move/reuse a tag. diff --git a/package-lock.json b/package-lock.json index aa4390db..73a80efc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "roleweave", - "version": "0.5.0", + "version": "0.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "roleweave", - "version": "0.5.0", + "version": "0.6.0", "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [ @@ -87,7 +87,7 @@ }, "apps/desktop": { "name": "@roleweave/desktop", - "version": "0.5.0", + "version": "0.6.0", "license": "Apache-2.0", "dependencies": { "@antv/g6": "5.1.1", diff --git a/package.json b/package.json index 838b0f16..aa967b32 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "roleweave", "private": true, - "version": "0.5.0", + "version": "0.6.0", "repository": { "type": "git", "url": "git+https://github.com/bytefolk/roleweave.git" From 4baa9eaf0284c4637c2ec9d0ea1bf4ece9b16265 Mon Sep 17 00:00:00 2001 From: Bindy-lbb <70745012+Bindy-lbb@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:27:07 +0800 Subject: [PATCH 2/2] test(release): wait for loaded preflight materials Refs #623. Consumed revision: R1 (DEC-ROLEWEAVE-623-001). Wait for the loaded material control before checking criterion text so the assertion cannot retain a node removed by the initial loading render. Preserve the metadata-only resolver and no-body-read/no-goal-write checks. --- apps/desktop/renderer/test/delivery-preflight-panel.test.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/desktop/renderer/test/delivery-preflight-panel.test.tsx b/apps/desktop/renderer/test/delivery-preflight-panel.test.tsx index 06fb6c76..a08c3ec4 100644 --- a/apps/desktop/renderer/test/delivery-preflight-panel.test.tsx +++ b/apps/desktop/renderer/test/delivery-preflight-panel.test.tsx @@ -102,8 +102,9 @@ describe("DeliveryPreflightPanel (#467)", () => { ); expect(await screen.findByTestId("delivery-preflight-panel")).toBeInTheDocument(); - expect(await screen.findByText("criterion-1")).toBeInTheDocument(); - fireEvent.click(await screen.findByRole("checkbox", { name: /Release evidence.*asset-release/ })); + const material = await screen.findByRole("checkbox", { name: /Release evidence.*asset-release/ }); + expect(screen.getByText("criterion-1")).toBeInTheDocument(); + fireEvent.click(material); fireEvent.click(screen.getByTestId("delivery-preflight-run")); await waitFor(() => expect(api.resolveDocRef).toHaveBeenCalledWith(doc.docRef));