chore(release): prepare v0.41.0 - #1214
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed August 1, 2026, 2:45 PM ET / 18:45 UTC. ClawSweeper reviewWhat this changesThe branch turns the Unreleased changelog into a dated v0.41.0 section, bumps the Worker package version metadata, and adds a blocked source-authorization record for the later signed-tag release gate. Merge readiness⛔ Blocked until real behavior proof is added - 6 items remain This PR is still necessary for the planned v0.41.0 release, but it cannot merge as-is: its changelog edit conflicts with newer current-main release notes, and the body does not contain after-change evidence that the pending authorization record fails closed before tag authorization. Priority: P2 Review scores
Verification
How this fits togetherCrabbox’s controlled release path combines the changelog and Worker version metadata with a protected record that binds a signed tag object and source commit. That record is checked before the credential-free release producer can create a candidate, followed by separately authorized publication steps. flowchart LR
A[User-visible merged changes] --> B[Changelog and Worker version]
B --> C[Signed v0.41.0 tag]
C --> D[Protected source record]
D --> E[Release-source verification]
E --> F[Credential-free candidate producer]
F --> G[Later authorized publication]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Rebase onto current main, include every current Unreleased entry in the v0.41.0 notes, retain the record’s blocked state, and attach a redacted terminal transcript showing Do we have a high-confidence way to reproduce the issue? Not applicable: this is release-preparation work, so the meaningful validation is a controlled release-gate check rather than an end-user bug reproduction. The current merge conflict is directly reproducible from the three-way merge preview. Is this the best way to solve the issue? No, not in its current form: the blocked-record design matches the existing verifier, but the branch must be rebased and its release notes refreshed against current main before it is a safe release-preparation change. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 0171ae2ee19f. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (4 earlier review cycles)
|
Summary
Release scope includes work tracked in #1208. The late merge #1203 is included and credited to @morluto.
Verification
Fresh local
npm ci --prefix workerwas attempted repeatedly but registry tarball requests timed out. The local Worker proof used a lockfile-identical dependency tree from the adjacent exact-origin-main validation checkout, verified withnpm ls --prefix worker --all. Hosted CI run https://github.com/openclaw/crabbox/actions/runs/30671525807 passed all eight jobs on exact head132b02ee27db382bd3d08c2489191dbbb6b72b86, including its fresh Worker install, Go race/all-modules/coverage gate, scripts, docs, Apple VM, Windows cancellation, connector lifecycles, and GoReleaser snapshot. Dependency freshness was inspected withgo list -m -u -json allandnpm outdated --prefix worker --json; a broad dependency refresh already landed in #1194, and newer post-refresh upstream patch/minor releases were not mixed into this frozen release-preparation diff.The coordinator-backed live smoke was not run because it requires coordinator credentials, which this preparation lane is explicitly forbidden to touch. No tag, producer, signing, draft, publication, npm publish, or Homebrew action was run.
Maintainer handoff
The release contract says:
After this PR merges, run these gates in order from a clean
maincheckout.1. Sign and push the immutable tag
Required credential: the repository-approved SSH signing key must be available through the maintainer's configured Git signing agent. No GitHub Release, Homebrew, Actions, codesign, or notary environment variable is required for tag creation; repository push authentication is required only for the final push.
The annotation subject is deliberately the bare
v0.41.0; never replace it with descriptive text.2. Authorize the exact signed source in a protected PR
Required credential: normal GitHub branch/PR authentication only. No release, Homebrew, Actions, codesign, or notary credential is required. Recompute the IDs from the immutable tag, replace both pending sentinels, set the record to
ready, and remove the blocker:Stop until that record-only PR has required review, green CI, and is merged. Then return to clean
main.3. Run only the credential-free producer
Required platform/tools: Apple Silicon macOS and the exact repository-pinned Go, GoReleaser, Swift, Xcode, macOS, and architecture requirements checked by the producer. Every variable below must be absent, not merely empty:
GH_TOKEN,GITHUB_TOKEN,HOMEBREW_TAP_GITHUB_TOKEN,HOMEBREW_GITHUB_API_TOKEN,ACTIONS_RUNTIME_TOKEN,ACTIONS_ID_TOKEN_REQUEST_TOKEN,CODESIGN_IDENTITY,MAC_RELEASE_CODESIGN_IDENTITY, andNOTARYTOOL_KEYCHAIN_PROFILE.Stop there. Signing/packaging, draft creation, native verification, publication, and Homebrew each require their own later authorization under
docs/RELEASING.md.