Skip to content

chore(release): prepare v0.41.0 - #1214

Merged
vincentkoc merged 3 commits into
mainfrom
codex/release-v0410
Aug 3, 2026
Merged

chore(release): prepare v0.41.0#1214
vincentkoc merged 3 commits into
mainfrom
codex/release-v0410

Conversation

@steipete

@steipete steipete commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Related: #1208

What Problem This Solves

Crabbox 0.40.0 predates the broker fallback, image reuse, fleet reconciliation, Blacksmith inventory, Daytona snapshot, Azure recovery, and SSH resilience work now required by the live OpenClaw routing policy. The earlier 0.40.1 preparation was never tagged or published, and this release branch had drifted behind current main.

Why This Change Was Made

Prepare v0.41.0 from exact current main with one complete dated changelog, Worker package metadata at 0.41.0, and a deliberately blocked protected source record. The branch preserves the abandoned 0.40.1 preparation as unpublished and carries its user-visible changes into the first actual successor release.

The signed branch history merges 81c0a60d0f062f85561593b77343091a6f9f8968 without rebasing. The effective PR diff remains limited to CHANGELOG.md, worker/package.json, both root lockfile version entries, and release/records/v0.41.0.json.

User Impact

After the later serialized release gates complete, operators can install a Crabbox CLI that exposes all-organization Blacksmith inventory and the current broker recovery/image behavior required by capacity-aware routing. This preparation PR does not create a tag, release draft, published release, or Homebrew update.

Evidence

  • Exact branch head: 933ef0e55aff25e8a1fbe681ce9d02c20f324b9e.
  • Signed merge commit: ab91bc9add291aee0fbcebab42a7b95d2a366724, parents 132b02ee27db382bd3d08c2489191dbbb6b72b86 and current-main 81c0a60d0f062f85561593b77343091a6f9f8968.
  • Live GitHub Releases and remote tags show v0.40.0 as latest and no v0.40.1 tag or release; CHANGELOG.md now records 0.40.1 as unpublished.
  • GOTOOLCHAIN=go1.26.5 node --test scripts/release*.test.js scripts/homebrew-release.test.js: 44/44 passed.
  • Direct REQUIRE_PUBLISHABLE=1 invocation of scripts/verify-release-source.sh rejected the blocked v0.41.0 record with the expected release v0.41.0 is blocked error before tag verification.
  • git diff --check origin/main...HEAD: passed.
  • Fresh branch autoreview: clean, no accepted/actionable findings; patch correct at 0.97 confidence.
  • Current-main CI run https://github.com/openclaw/crabbox/actions/runs/30828489037 passed before this release-only diff; exact-head PR CI is pending.
  • Protected live rotation and image publication evidence: https://github.com/openclaw/crabbox/actions/runs/30690900650 and https://github.com/openclaw/crabbox/actions/runs/30690936947.

No tag, candidate build, signing, notarization, draft creation, publication, or Homebrew mutation was performed. Those remain separate serialized gates under docs/RELEASING.md after this PR merges.

@steipete
steipete requested a review from a team as a code owner July 31, 2026 22:57
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. labels Jul 31, 2026
@clawsweeper

clawsweeper Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed August 3, 2026, 12:38 PM ET / 16:38 UTC.

ClawSweeper review

What this changes

Prepares the v0.41.0 release by dating the changelog, updating Worker package and lockfile versions, and adding a deliberately blocked source-authorization record for the later signed-tag gate.

Merge readiness

Blocked until stronger real behavior proof is added - 3 items remain

Keep open: this active release-preparation PR now incorporates the exact current main revision and corrects the previously reported changelog drift. The patch is coherent and has no source-level correctness finding, but it still needs direct, redacted after-change terminal or log evidence that the protected release-source gate rejects the blocked v0.41.0 record before merge.

Priority: P2
Reviewed head: 933ef0e55aff25e8a1fbe681ce9d02c20f324b9e

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The small, policy-aligned release patch is sound on source review, but direct after-change proof of the protected gate is still absent.
Proof confidence 🦪 silver shellfish (2/6) Needs stronger real behavior proof before merge: The PR describes successful tests and a blocked-gate invocation, but it does not include an after-change terminal transcript, runtime log, or artifact proving the observed rejection; add redacted output before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs stronger real behavior proof before merge: The PR describes successful tests and a blocked-gate invocation, but it does not include an after-change terminal transcript, runtime log, or artifact proving the observed rejection; add redacted output before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 5 items Current-main refresh: The PR head is a descendant of merge commit ab91bc9, whose second parent is the current main SHA 81c0a60; this resolves the earlier finding that release notes must retain current Unreleased entries.
Release surface matches repository checklist: The branch dates the release section and updates both required Worker package-lock root entries plus worker/package.json, matching the checked-in release checklist.
Publication remains fail-closed: The new record intentionally contains placeholders and publicationStatus: blocked; the verifier rejects a blocked record whenever publishability is required, before tag checks proceed.
Findings None None.
Security None None.

How this fits together

Crabbox's release-preparation path turns the current mainline changes into versioned release metadata before any candidate build or publication can occur. The changelog and Worker metadata describe the proposed release, while the protected source record controls whether later release tooling may proceed.

flowchart LR
  A[Current main changes] --> B[Release preparation]
  B --> C[Changelog and Worker version]
  B --> D[Blocked source record]
  D --> E[Signed tag authorization]
  E --> F[Candidate build gate]
  F --> G[Draft and publication gates]
Loading

Before merge

  • Add real behavior proof - Needs stronger real behavior proof before merge: The PR describes successful tests and a blocked-gate invocation, but it does not include an after-change terminal transcript, runtime log, or artifact proving the observed rejection; add redacted output before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - Merging advances the v0.41.0 release metadata, while candidate production remains intentionally blocked until the signed tag's object and peeled source commit replace the placeholders and the protected record is made ready.
  • Complete next step (P2) - Request contributor-supplied, redacted after-change gate output before a human merge decision; there is no narrow code repair for ClawSweeper to apply.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Release metadata surface 4 files affected; +38, -15 The branch is limited to the changelog, one protected release record, and both Worker version metadata files.

Merge-risk options

Maintainer options:

  1. Add protected-gate proof before merge (recommended)
    Post a redacted terminal transcript or log showing the v0.41.0 record is rejected with REQUIRE_PUBLISHABLE=1, then let normal CI and merge checks gate the exact head.
  2. Pause the release preparation
    Hold this branch if maintainers do not intend to run the serialized v0.41.0 release sequence after it merges, because the checked-in record intentionally prevents candidate production.

Technical review

Best possible solution:

Attach a redacted terminal transcript or runtime log proving the blocked source gate fails as intended, then land the preparation and perform the documented signed-tag authorization and publication gates separately.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this is a release-preparation PR rather than a report of broken runtime behavior. Current source and ancestry checks do confirm that the branch includes the stated current-main baseline.

Is this the best way to solve the issue?

Yes, subject to proof: rebasing through a merge from current main, preserving all release notes, and keeping the source record blocked until a signed tag exists is the narrow release-safe approach defined by repository policy.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 81c0a60d0f06.

Labels

Label changes:

  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • remove rating: 🧂 unranked krab: Current PR rating is rating: 🦪 silver shellfish, so this older rating label is no longer current.

Label justifications:

  • P2: This is a bounded release-preparation change with normal operator impact rather than an active runtime regression.
  • merge-risk: 🚨 compatibility: The release version transition intentionally leaves main unable to produce v0.41.0 until the later signed-tag authorization replaces the blocked record placeholders.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The PR describes successful tests and a blocked-gate invocation, but it does not include an after-change terminal transcript, runtime log, or artifact proving the observed rejection; add redacted output before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

  • Current-main refresh: The PR head is a descendant of merge commit ab91bc9, whose second parent is the current main SHA 81c0a60; this resolves the earlier finding that release notes must retain current Unreleased entries. (CHANGELOG.md:3, ab91bc9add29)
  • Release surface matches repository checklist: The branch dates the release section and updates both required Worker package-lock root entries plus worker/package.json, matching the checked-in release checklist. (docs/operations.md:757, b77291eab2f3)
  • Publication remains fail-closed: The new record intentionally contains placeholders and publicationStatus: blocked; the verifier rejects a blocked record whenever publishability is required, before tag checks proceed. (release/records/v0.41.0.json:7, 933ef0e55aff)
  • Release provenance: The latest local release tag is v0.40.0; no tag contains the current main SHA or this PR head, so v0.41.0 remains a proposed, not yet shipped, release. (CHANGELOG.md:73, 47f8e45c9a13)
  • Proof remains narrative-only: The PR body and the August 3 follow-up describe a direct blocked-gate invocation and test results, but neither supplies terminal output, a runtime log, or an attached artifact showing the after-change rejection.

Likely related people:

  • Peter Steinberger: Introduced the current release checklist and verifier gate, and authored the first v0.41.0 preparation commit. (role: release-policy author and original release-preparation author; confidence: high; commits: b77291eab2f3, 132b02ee27db; files: docs/operations.md, scripts/verify-release-source.sh, release/records/v0.41.0.json)
  • Vincent Koc: Merged the exact current-main refresh into the branch and added the final unpublished-v0.40.1 release-note correction; also authored the current main tip. (role: recent release-refresh contributor; confidence: high; commits: ab91bc9add29, 933ef0e55aff, 81c0a60d0f06; files: CHANGELOG.md)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Add a redacted terminal screenshot, copied output, or log showing verify-release-source.sh rejects the blocked v0.41.0 record with publishability required.
  • Keep the proof free of tag objects, credentials, IP addresses, and non-public endpoints; updating the PR body should trigger a fresh ClawSweeper review.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (18 earlier review cycles; latest 8 shown)
  • reviewed 2026-08-02T15:26:36.924Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain current Unreleased entries
  • reviewed 2026-08-02T17:34:06.560Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain both current Unreleased entries
  • reviewed 2026-08-02T18:47:12.251Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain current Unreleased entries
  • reviewed 2026-08-02T19:46:12.352Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain current Unreleased entries
  • reviewed 2026-08-02T21:49:53.162Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain current Unreleased entries
  • reviewed 2026-08-03T01:06:49.230Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain all current Unreleased entries
  • reviewed 2026-08-03T02:50:04.418Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain all current Unreleased entries
  • reviewed 2026-08-03T05:28:04.698Z sha 132b02e :: needs real behavior proof before merge. :: [P2] Rebase and retain all current Unreleased entries

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. labels Jul 31, 2026
@vincentkoc

vincentkoc commented Aug 3, 2026

Copy link
Copy Markdown
Member

Updated the release preparation from exact current main without rebasing.

  • head: 933ef0e55aff25e8a1fbe681ce9d02c20f324b9e
  • current-main parent: 81c0a60d0f062f85561593b77343091a6f9f8968
  • release tests: 44/44 passed with pinned Go 1.26.5
  • blocked source gate: directly proven
  • autoreview: clean, no findings
  • v0.40.1: confirmed never tagged or published; now explicitly marked unpublished and folded into v0.41.0

Exact-head CI is now running. No release mutation beyond this branch push occurred.

@clawsweeper re-review

Direct blocked-gate transcript

$ REQUIRE_PUBLISHABLE=1 scripts/verify-release-source.sh
Error: release v0.41.0 is blocked: Pending signed v0.41.0 tag object and peeled source commit; update both fields and set publicationStatus to ready only after the tag is signed and verified.
exit=1

The proof used redacted 40-character placeholder identities in a temporary copy of the tracked blocked record so execution reached the publication-status gate. It created no tag and performed no remote mutation.

@clawsweeper

clawsweeper Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Aug 3, 2026
@vincentkoc

Copy link
Copy Markdown
Member

The requested redacted after-change gate transcript is now appended to the existing proof comment: #1214 (comment)

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Command router queued. I will update this comment with the next step.

@vincentkoc vincentkoc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed exact head 933ef0e55aff25e8a1fbe681ce9d02c20f324b9e against current main 81c0a60d0f062f85561593b77343091a6f9f8968.

The effective diff is limited to the complete v0.41.0 changelog, Worker version metadata, and an intentionally blocked source record. Release tooling tests pass 44/44, the blocked publishability gate is directly proven in the PR evidence, and fresh autoreview reported no findings. No tag or release mutation has occurred.

@vincentkoc

Copy link
Copy Markdown
Member

Land-ready at exact head 933ef0e55aff25e8a1fbe681ce9d02c20f324b9e against unchanged main 81c0a60d0f062f85561593b77343091a6f9f8968.

  • CI 30832817847: success, including Release Check, Go, Worker, Scripts, Docs, Apple VM, connector lifecycles, and Windows cancellation
  • Connector E2E 30832817844: success
  • CodeQL 30832814291: all analyzers complete with no attention checks
  • release tooling: 44/44 passed with Go 1.26.5
  • direct blocked-source transcript: chore(release): prepare v0.41.0 #1214 (comment)
  • fresh autoreview: clean, no findings
  • maintainer approval recorded on exact head
  • no tag, candidate, draft, publication, or Homebrew mutation performed

Merging with a merge commit to preserve the signed commit series, as requested.

@vincentkoc
vincentkoc merged commit e73b02f into main Aug 3, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants