docs: open 0.7.1 unreleased changelog - #188
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: passed. Reviewed August 31, 2026, 12:49 PM ET / 16:49 UTC. ClawSweeper reviewWhat this changesThe PR adds an empty Merge readinessThis is a clean, merge-ready post-release changelog follow-up: the exact introduced delta is limited to the new unreleased heading, and the release-note generator preserves 0.7.0 output while rejecting an undated 0.7.1 section. Priority: P3 Review scores
Verification
How this fits togetherCHANGELOG.md feeds the release-note generator and release workflow. Dated version sections become public release notes, while an undated upcoming version is intentionally not releasable. flowchart LR
A[Changelog source] --> B[Release-note generator]
B --> C{Section has release date?}
C -->|Yes| D[Generated release notes]
C -->|No| E[Reject unreleased version]
D --> F[Published release]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Merge the isolated unreleased heading while retaining the dated-section gate that prevents accidental 0.7.1 publication until notes and a release date are ready. Do we have a high-confidence way to reproduce the issue? Not applicable as a bug reproduction. The PR body nevertheless provides high-confidence exact-head terminal evidence for both affected generator paths, and the source confirms those outcomes. Is this the best way to solve the issue? Yes. Opening an explicit undated next-version section is the narrow, maintainable post-release convention; the existing generator continues to protect against releasing it prematurely. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 054b488dc2f2. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
|
@clawsweeper re-review The main PR body now includes exact-head generated-artifact behavior proof for Please evaluate this concrete CLI/artifact evidence as the relevant changed behavior rather than a runtime-application not-applicable assessment. No code change, test relaxation, new release, tag change, or publishing action is requested. Review only; the coordinating maintainer will arm landing after the remaining gates. |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper automerge Special instructions: Local validation caveat: an unrestricted full-suite attempt was stopped after host-contention timeouts. The four-worker CI-mode rerun passed 6,085 tests with one 5-second PAX timeout; its unchanged isolated suite then passed all 158 tests. Package validation and diff whitespace checks passed. No tests, timeouts, runtime files, package versions, or release artifacts were changed. Hosted full checks on this exact head passed without retries. Do not bypass a missing review/proof gate or change code to satisfy the docs-only proof policy. Preserve the byte-identical 0.7.0 release notes and package version, and do not create tags, publish packages, edit the existing Release, or start any unrelated work. The 0.7.0 release is already public and independently verified. |
|
🦞🧹 Reason: target is no longer an open PR. Draft PRs stay fix-only until GitHub marks them ready for review. Pause with Automerge progress:
|
|
Landed through maintainer-armed ClawSweeper automerge as abad7c213615. The merged tree exactly matches reviewed head Verification: CI and coverage passed, including all configured Node 22/24 OS checks, four native execution targets, package smoke, audit, and merged coverage. No hosted rerun was needed. Local Codex autoreview was scoped-clean. The extra local full run encountered host-contention timeouts; its four-worker rerun passed 6,085 tests with one 5-second PAX timeout, then the unchanged isolated PAX suite passed all 158 tests. After fast-forwarding main, revalidated the real release-note generator and exact full-changelog comparison: only the empty |
Summary
Open
0.7.1 - Unreleasedafter the verified 0.7.0 release. This is a two-line changelog-only follow-up. Package versions stay at 0.7.0, and the released changelog, tag, runtime code, and artifacts are unchanged.Executed artifact proof
The changelog now begins:
Ran the real release-note generator and compared the entire changelog against the immutable v0.7.0 tag, allowing only the new empty section. Actual output:
{"proof":"post-release-changelog","next":"0.7.1 - Unreleased","publishedVersion":"0.7.0","releasedChangelogByteIdentical":true,"releaseNoteBytes":9335,"releaseNoteSha256":"147eaadf28a96fcfe7406b0a402519b89a748c2443e5d2a4da1a6fafbf676899"}Release verification
The release workflow passed all seven native builds, package assembly, publication, provenance verification, and GitHub Release promotion. Independently verified all eight public npm versions, latest tags, publication times, signatures, and Sigstore provenance; downloaded every tarball and matched its actual bytes, size, and SHA-512 integrity against the exact workflow manifest. The public Release body contains the byte-identical approved notes and all eight npm, tarball, integrity, and provenance links.
A fresh root-only install of
@openclaw/fs-safe@0.7.0from public npm selected the real macOS arm64 binding and passed native hashing, Root JSON I/O, bounded temp cleanup, Root-backed lock acquire/verify/release, regular append, strict native-off rejection before child creation, and compatible native-off cleanup. A separate installed-package process passed archive filter/path-limit rejection, hardlink rejection, Root walk pruning/error reporting, publication cleanup outcomes, and directory-sync rollback/preserve behavior. This is macOS arm64 runtime proof, not execution proof for the other six release targets.The first isolated consumer invocation stopped before installation because npm refuses the same empty file for both user and global config. Separate empty configs resolved the harness setup issue; the subsequent public install and runtime proofs passed. No package or release change was needed.
Exact-head live CLI evidence
Executed both release-note paths on this PR head. This is generated-artifact behavior proof, not a runtime-app exemption: 0.7.0 still emits its full published notes; 0.7.1 is refused because it is explicitly unreleased. Commands:
node scripts/release-notes.mjs 0.7.0andnode scripts/release-notes.mjs 0.7.1.{ "proof": "exact-head-release-note-cli", "head": "d875ecfcfe8e179db60f46104003c6e90f80ef47", "releasedVersion": "0.7.0", "releasedNotesExitCode": 0, "releasedNotesBytes": 9335, "releasedNotesSha256": "147eaadf28a96fcfe7406b0a402519b89a748c2443e5d2a4da1a6fafbf676899", "unreleasedVersion": "0.7.1", "unreleasedExitCode": 1, "unreleasedStdoutBytes": 0, "unreleasedError": "Error: CHANGELOG.md section 0.7.1 must have a release date" }Complete actual 0.7.0 generated Markdown output