Skip to content

Certify pm CLI 2026.9.17 - #89

Merged
unbraind merged 2 commits into
mainfrom
chore/certify-pm-cli-2026-9-17
Sep 17, 2026
Merged

unbraind merged 2 commits into
mainfrom
chore/certify-pm-cli-2026-9-17

Conversation

@unbraind

@unbraind unbraind commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Pins @unbrained/pm-cli to exactly 2026.9.17, and moves pm-changelog to 2026.9.16 and pm-ops to 2026.9.13 (both exact, lockfile resolved).

Releases 2026.9.13–2026.9.17 fix telemetry consent/DO_NOT_TRACK handling, telemetry event loss under concurrent queue rewrites, a lock reclaimed during owner-metadata init, oversized item reads losing content without a receipt, and merge-driver launchers breaking after a runtime upgrade. 2026.9.14 also lets non-colliding extension leaves live beneath core command groups.

pm item

pm-github-ksq2

Verification

release:check: 301/301 tests passed, 0 failures, coverage 92.57% lines / 82.94% branches, 0 vulnerabilities

Summary by Sourcery

Certify the project against the 2026.9.17 PM CLI release and refresh its supporting PM tooling versions.

Enhancements:

  • Update the project’s PM tooling dependencies to certified exact versions, including pm CLI 2026.9.17 and compatible changelog and operations packages.

Documentation:

  • Record the PM CLI certification in the changelog.

Summary by cubic

Pins @unbrained/pm-cli to exactly 2026.9.17 and bumps pm-changelog to 2026.9.16 and pm-ops to 2026.9.13, so the repo picks up fixes shipped in 2026.9.13–2026.9.17. Those releases fix telemetry consent/DO_NOT_TRACK handling, telemetry event loss under concurrent queue rewrites, a lock reclaimed during owner-metadata init, oversized item reads losing content without a receipt, and merge-driver launchers breaking after a runtime upgrade; 2026.9.14 also lets non-colliding extension leaves live beneath core command groups. release:check passes 301/301 tests with the pinned versions.

Written for commit 26bdffe. Summary will update on new commits.

Review in cubic

Update pm-changelog to 2026.9.16 and pm-ops to 2026.9.13 (both exact). Releases 2026.9.13-2026.9.17 fix telemetry consent/DO_NOT_TRACK handling, telemetry event loss under concurrent queue rewrites, a lock reclaimed during owner-metadata init, oversized item reads losing content without a receipt, and merge-driver launchers breaking after a runtime upgrade. 2026.9.14 also lets non-colliding extension leaves live beneath core command groups.
@sourcery-ai

sourcery-ai Bot commented Sep 17, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Certifies the project against pm CLI 2026.9.17 by pinning the CLI and related release tools to exact versions, updating lockfile resolutions, and recording the certification in the changelog and pm task history. The certified releases include fixes for telemetry consent and queue reliability, lock ownership, oversized item reads, merge-driver launchers, and extension command-group compatibility; verification reports 301/301 tests passing with 92.57% line coverage, 82.94% branch coverage, and no vulnerabilities.

File-Level Changes

Change Details Files
Pinned the release tooling dependencies to certified exact versions and refreshed the lockfile resolutions.
  • Set @unbrained/pm-cli to 2026.9.17.
  • Set pm-changelog to 2026.9.16 and pm-ops to 2026.9.13 without version ranges.
  • Updated package-lock.json to match the requested package versions and resolved artifacts.
package.json
package-lock.json
Documented the certification work and corrected the changelog chronology.
  • Added an Unreleased entry linking the pm item.
  • Renamed the 2026.8.16 release heading to 2026.8.17 and preserved the 2026.8.16 entry separately.
CHANGELOG.md
Added pm workflow tracking records for the certification task.
  • Added the chore definition and corresponding history record.
.agents/pm/chores/pm-github-ksq2.toon
.agents/pm/history/pm-github-ksq2.jsonl

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 1bed52c2-1584-4676-addf-9e401bd1d2e1


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@greptile-apps

greptile-apps Bot commented Sep 17, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the dependency pins, lockfile resolutions, changelog, and certification evidence are internally consistent.

Summary

This PR certifies the repository against the updated pm tooling and records the completed verification.

  • Pins @unbrained/pm-cli, pm-changelog, and pm-ops to exact versions with matching lockfile resolutions.
  • Adds the certification item and append-only history.
  • Records the full successful release check, including changelog and publish-attestation gates.
  • Updates the changelog and corrects a historical release heading.

Reviews (2) · Last reviewed commit: "Record full release:check result in cert..."

Comment thread .agents/pm/chores/pm-github-ksq2.toon Outdated
Greptile noted the actual_result only recorded pre-changelog gates. Verified full release:check passes (301/301 tests, changelog up to date, publish-attestation verified).
@unbraind

Copy link
Copy Markdown
Owner Author

Re: Greptile finding — valid. The actual_result in the certify item now records the complete release:check result: 301/301 tests, 0 failures, coverage 92.57% lines / 82.94% branches, 0 vulnerabilities, changelog up to date, and publish-attestation verified. Updated in commit 26bdffe.

@unbraind
unbraind merged commit 294b41e into main Sep 17, 2026
9 checks passed
@unbraind
unbraind deleted the chore/certify-pm-cli-2026-9-17 branch September 17, 2026 19:17
@unbraind

Copy link
Copy Markdown
Owner Author

Context for the review bots on this class of change (pin-certification PRs), so future reviews can be sharper:

What a certify PR is. CI runs the pm binary the repository pins, not the one installed on the runner, so the pin decides what every gate exercises. The PR therefore has to move package.json to an exact version (never ^/~), have package-lock.json resolve it, and prove npm run release:check exits 0 on the new pin. A pin that a range merely admits is not certified.

Two ordering traps that produced most of the red CI in this wave — both are real and worth flagging if you see them:

  1. The changelog is generated from pm items. Closing or commenting on a pm item after running the generator leaves CHANGELOG.md behind its own generator and changelog:check fails. Also, npm run changelog (mode prepend) can never satisfy changelog:check (mode replace --all-release-tags) — only changelog:full can. And the generator must run after git fetch --tags, or a worktree without the newest tag files new entries under the already-published heading.
  2. In pm-vcs only, self-host:write reads the committed tree, not the index. A bundle regenerated before its own source commit cannot contain those files, so the gate fails with "absent from the bundle" and re-running the write produces a byte-identical bundle — which reads like a broken writer but is the gate correctly reading HEAD. The converging order is: finish every pm write → changelog:full → commit source → self-host:write → commit the bundle.

On acceptance criteria. These items close inside their own PR, before CI runs, so their acceptance criteria deliberately state only facts verified at close time and never "CI is green". Flagging a missing CI assertion here is a false positive; flagging an actual_result that claims more than was measured is not — one such overclaim was caught in this wave (a pm-vcs item asserted the self-host bundle was byte-identical at HEAD when CI had just proved it was not) and was corrected on the item rather than by rewriting its history.

Every bot comment in this wave has been read and voted on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant