Skip to content

Certify pm CLI 2026.9.17 - #110

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 2026.9.17, pm-ops to 2026.9.13, and pm-changelog to 2026.9.16.

CI runs the repository-pinned binaries, so the pin decides what every gate exercises. 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. pm-changelog 2026.9.16 derives release dates in UTC. pm-ops 2026.9.13 publishes the canonical lifecycle policy contract.

Tracking item: https://github.com/unbraind/pm-starter/blob/main/.agents/pm/chores/pm-starter-o6xh.toon

release:check: 189/189 tests passed, all gates passed.

Summary by Sourcery

Pin the repository’s PM tooling to the certified 2026.9.17 release set.

Enhancements:

  • Certify the repository against the 2026.9.17 PM toolchain by pinning the CLI, changelog, and operations utilities to their approved releases.

Chores:

  • Record the certification chore and add an unreleased changelog entry.

Summary by cubic

Pins the repository's PM toolchain to the 2026.9.17 certified releases so CI gates run the updated binaries.

  • @unbrained/pm-cli goes from 2026.9.12 to 2026.9.17, pm-changelog from 2026.9.13 to 2026.9.16, and pm-ops from ^2026.9.11 to an exact 2026.9.13 pin.
  • The new CLI 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.
  • pm-changelog 2026.9.16 derives release dates in UTC.
  • pm-ops 2026.9.13 publishes the canonical lifecycle policy contract.
  • Adds the certification chore, its history, and an Unreleased changelog entry.
  • npm run release:check passes 189/189 tests with all gates green.

Written for commit 54136e3. Summary will update on new commits.

Review in cubic

CI runs the pinned binaries, so the pin decides what every gate exercises. 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. pm-changelog 2026.9.16 derives release dates in UTC. pm-ops 2026.9.13 publishes the canonical lifecycle policy contract.

@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.

Sorry @unbraind, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 3 days and 19 hours by commenting @sourcery-ai review. Upgrade to get a review now.

@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: 192345ea-e5d7-4c2a-be2b-ea6b734abdff


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 commented Sep 17, 2026

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

Reviewer's Guide

Certifies the repository against the 2026.9.17 pm toolchain by updating exact development-tool pins and the lockfile, with PM tracking metadata documenting the completed release check. The pinned releases provide the CI gates with fixes for telemetry handling and queue concurrency, lock reclamation, oversized reads, merge-driver compatibility, UTC release dates, and the canonical lifecycle policy contract; the reported release check passed all 189 tests and gates.

File-Level Changes

Change Details Files
Update the repository-pinned package versions that determine which tooling CI and release gates execute.
  • Pin the pm CLI to 2026.9.17.
  • Pin pm-ops to 2026.9.13 instead of using a range.
  • Pin pm-changelog to 2026.9.16.
  • Refresh the lockfile to match the dependency pins.
package.json
package-lock.json
Record the tracking item and its completion history for the certification update.
  • Add the chore metadata for the pm CLI certification.
  • Add the corresponding PM history entry.
.agents/pm/chores/pm-starter-o6xh.toon
.agents/pm/history/pm-starter-o6xh.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

The closed pm-starter-o6xh chore must appear in the Unreleased section so changelog:check passes in CI.
@greptile-apps

greptile-apps Bot commented Sep 17, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge with no actionable correctness, security, or repository-rule violations identified.

Summary

This PR certifies the repository against updated, exactly resolved PM tooling.

  • Pins @unbrained/pm-cli to 2026.9.17, pm-changelog to 2026.9.16, and pm-ops to 2026.9.13.
  • Updates the lockfile to the corresponding package artifacts and transitive yaml release.
  • Records the completed certification item and matching history.
  • Adds the certification to the Unreleased changelog section.

Reviews (1) · Last reviewed commit: "Regenerate changelog after closing certi..."

@unbraind
unbraind merged commit d4b7f49 into main Sep 17, 2026
9 checks passed
@unbraind
unbraind deleted the chore/certify-pm-cli-2026-9-17 branch September 17, 2026 19:28
@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