Skip to content

Adopt pm-cli 2026.7.27 with a real activation proof - #47

Merged
unbraind merged 2 commits into
mainfrom
chore/adopt-pm-cli-2026.7.27
Jul 27, 2026
Merged

unbraind merged 2 commits into
mainfrom
chore/adopt-pm-cli-2026.7.27

Conversation

@unbraind

@unbraind unbraind commented Jul 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adopts pm-cli 2026.7.27.

  • @unbrained/pm-cli peerDependencies >=2026.7.26 → >=2026.7.27
  • @unbrained/pm-cli devDependencies ^2026.7.26 → ^2026.7.27
  • lockfile refreshed
  • all three version sites bumped to 2026.7.27: package.json, manifest.json, and the module's own self-reported version constant

That last point matters: bumping only package.json leaves an installed extension reporting a stale
version to the host and to pm extension --manage. A reviewer caught exactly that drift on the
sibling pm-starter change, so it is handled up front here.

Why an activation proof is mandatory

2026.7.27 hardened host-owned global flags. A collision aborts command registration at the
offending command — dropping it and every later sibling — while --help still exits 0 and
invoking the command yields a misleading Commander arity error that never mentions extensions
(pm-cli#772). A version edit on its own proves
nothing about whether the extension still works.

Verified on the real CLI, with the built extension installed into a throwaway workspace holding a
seeded item:

install                  ok=true  warnings=[]
pm linear --help                   exit 0, registers
pm list --limit 1 --json valid JSON        (host commands unaffected)
flag-collision audit     no host-owned global declared

Gates

build, typecheck, check, 63 tests passing, changelog:full + changelog:check
after git fetch origin --tags --force (stale local release tags otherwise red the CI changelog
check while passing locally).

pm items

Summary by Sourcery

Adopt pm-cli version 2026.7.27 and record the upgrade in project metadata and automation artifacts.

Enhancements:

  • Update pm-cli peer and dev dependency constraints to 2026.7.27 in package.json.
  • Refresh the npm lockfile to align with the new pm-cli version and dependency graph.

Documentation:

  • Add an Unreleased changelog entry documenting the pm-cli 2026.7.27 adoption.

Chores:

  • Add pm agent chore and history records for the pm-linear-zntu task capturing the pm-cli 2026.7.27 upgrade.

Summary by cubic

Adopts @unbrained/pm-cli 2026.7.27 and includes a real activation proof under the new global-flag hardening. Verified on the CLI: clean install, pm linear --help exits 0, host commands OK, no host-owned global collisions.

  • Dependencies
    • Bump peerDeps to @unbrained/pm-cli >=2026.7.27
    • Bump devDeps to @unbrained/pm-cli ^2026.7.27
    • Refresh lockfile
    • No manifest.json or module version changes; already at 2026.7.27

Written for commit 06a6b05. Summary will update on new commits.

Review in cubic

Raises the pm-cli peerDependency to >=2026.7.27 and the devDependency to
^2026.7.27, refreshes the lockfile, and bumps all THREE version sites:
package.json, manifest.json, and the module's own self-reported version
constant. Bumping only package.json leaves an installed extension reporting a
stale version to the host and to `pm extension --manage` — a reviewer caught
exactly that drift on the sibling pm-starter change.

An activation proof is mandatory for this bump, not optional. 2026.7.27 hardened
host-owned global flags, and a collision aborts command registration AT the
offending command — dropping it and every later sibling, while `--help` still
exits 0 with a misleading Commander arity error (upstream unbraind/pm-cli#772).
A version edit alone would prove nothing.

Verified on the real CLI with the built extension installed into a throwaway
workspace:

- install ok, no warnings
- `pm linear --help` exits 0 and registers
- host commands intact: `pm list --json` still valid
- flag-collision audit: no host-owned global declared

Gates: build, typecheck, check, 63 tests passing, changelog:full +
changelog:check after `git fetch --tags --force`.

pm items:
- pm-linear-zntu (Chore) — pm-cli 2026.7.27 adoption
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@sourcery-ai

sourcery-ai Bot commented Jul 27, 2026 •

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

Reviewer's Guide

Updates the extension to require and develop against pm-cli 2026.7.27, refreshes the lockfile, aligns all internal version reporting, and records the change in project automation metadata and changelog.

File-Level Changes

Change Details Files
Update pm-cli peer/dev dependency versions to 2026.7.27 and refresh lockfile to match.
  • Bump @unbrained/pm-cli peer dependency range from >=2026.7.26 to >=2026.7.27.
  • Bump @unbrained/pm-cli dev dependency range from ^2026.7.26 to ^2026.7.27.
  • Regenerate package-lock.json to capture the new pm-cli version and transitive dependency graph.
package.json
package-lock.json
Document the pm-cli adoption in the changelog and pm automation metadata.
  • Add an Unreleased/Other entry describing pm-cli 2026.7.27 adoption to the changelog.
  • Add a new pm chore definition for the pm-cli 2026.7.27 adoption.
  • Add corresponding pm history entry JSONL for the new chore.
CHANGELOG.md
.agents/pm/chores/pm-linear-zntu.toon
.agents/pm/history/pm-linear-zntu.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

@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 is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@unbraind, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 20 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d9ae3230-dbb4-4ca6-b302-4df94e7cf921

📥 Commits

Reviewing files that changed from the base of the PR and between 36e52d4 and 06a6b05.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • .agents/pm/chores/pm-linear-zntu.toon
  • .agents/pm/history/pm-linear-zntu.jsonl
  • CHANGELOG.md
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/adopt-pm-cli-2026.7.27

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.

@greptile-apps

greptile-apps Bot commented Jul 27, 2026 •

Copy link
Copy Markdown

Greptile Summary

Updates the project’s pm-cli compatibility baseline.

  • Raises the pm-cli peer and development dependency constraints to 2026.7.27.
  • Refreshes the lockfile to resolve pm-cli 2026.7.27.
  • Adds the corresponding changelog and pm task-history records, including the correction requested by the prior review.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failures remain.

T-Rex T-Rex Logs

What T-Rex did

  • Ran the activation validation to confirm activated: true, runtime status ok, and that all expected linear command paths were present.
  • Verified that the package describe output declares extension-owned flags scoped to linear export, linear import, linear sync, and linear validate, and that no host-global registration collision blocked activation.
  • Executed final assertions showing the host list result remained unchanged after activation.

View all artifacts

T-Rex Ran code and verified through T-Rex

Important Files Changed

Filename Overview
package.json Raises the pm-cli peer and development dependency constraints from 2026.7.26 to 2026.7.27.
package-lock.json Synchronizes root dependency metadata and the resolved pm-cli package with version 2026.7.27.
.agents/pm/chores/pm-linear-zntu.toon Records the completed adoption chore and explicitly corrects the earlier inaccurate three-site version-bump claim.
.agents/pm/history/pm-linear-zntu.jsonl Preserves the chore lifecycle and the follow-up correction in append-only history.
CHANGELOG.md Adds an Unreleased entry for adopting pm-cli 2026.7.27.

Reviews (2): Last reviewed commit: "docs(pm): correct the version-site claim..." | Re-trigger Greptile

Greptile review flagged inaccurate work-item metadata, and it was right.

The chore description claimed this change bumps all THREE version sites
(package.json, manifest.json, and the module's self-reported version constant).
For this package that is wrong: manifest.json and the module constant were
ALREADY 2026.7.27 on main, bumped by the daily release, so this PR touches only
package.json (the pm-cli dependency ranges plus the package version) and the
lockfile.

The three-site rule itself still holds — it is why the bump script rewrites all
three whenever they differ. It simply had nothing to do here. The claim was
carried over verbatim from the pm-starter change, where manifest.json and the
module constant genuinely were stale and a reviewer caught the drift.

Verified: git diff against origin/main touches neither manifest.json nor
index.ts in this package.
@unbraind

Copy link
Copy Markdown
Owner Author

Bot feedback triage — all four read, voted, answered

@greptile-apps 👍 — the finding was correct and is fixed. The chore description claimed this
change bumps all three version sites (package.json, manifest.json, and the module's
self-reported version constant). For this package that is inaccurate: manifest.json and the
module constant were already 2026.7.27 on main, bumped by the daily release, so this PR touches
only package.json (the pm-cli ranges plus the package version) and the lockfile.

Verified before correcting — git diff origin/main --name-only touches neither manifest.json nor
index.ts here.

Where the wrong claim came from is worth recording: it was carried over verbatim from
pm-starter#40, where those two sites genuinely
were stale and you caught the drift. I generalised the fix into the bump script — correctly — and
then generalised the description along with it, without re-checking whether it applied. The
three-site rule still holds and the script still rewrites all three whenever they differ; it simply
had nothing to do in this package.

Corrected on the chore item with a note rather than a silent edit, so the record shows both the
original claim and why it was wrong. Calling out that you flagged work-item metadata rather than
code is the useful part: these .toon files are the project's durable record, so an inaccurate
description is a real defect even when the diff is right.

@sourcery-ai 👍 — accurate summary of the dependency change.

@coderabbitai 👎 — Review limit reached, no files analysed. No signal, not an approval.

@gemini-code-assist 👎 — consumer Gemini Code Assist is sunset; all review activity has ceased.
No signal, not an approval.

Note for future reviews of this repo

The .agents/pm/**/*.toon files are pm-cli tracker items and history/*.jsonl are append-only
hash-chained audit ledgers. Both are written only through the pm CLI, so they should never be
hand-edited in a review suggestion. Two invariants worth flagging mechanically: a .toon arriving
without its sibling history/<id>.jsonl in the same commit (or vice versa), and — as here — a
description asserting changes the diff does not contain.

@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@unbraind Thanks for the thorough triage and correction. I’ve noted that the three-site version rule remains valid, while this PR only needed the package.json and lockfile changes because the manifest and module constant were already current on main.

For future reviews, I’ll treat the pm tracker artifacts as CLI-managed records: I’ll flag unmatched .toon/history/<id>.jsonl additions and descriptions that assert changes absent from the diff, but won’t suggest hand-editing either artifact.

🐇🔍


✏️ Learnings added
Learnt from: unbraind
URL: https://github.com/unbraind/pm-linear/pull/47

Timestamp: 2026-07-27T16:47:34.270Z
Learning: In the pm-linear repository, `.agents/pm/**/*.toon` files are pm-cli tracker items and their corresponding `history/<id>.jsonl` files are append-only, hash-chained audit ledgers. Both must be written through the `pm` CLI; reviews must not suggest hand-editing them. Review invariants: a changed or added `.toon` tracker item should have its sibling `history/<id>.jsonl` changed or added in the same commit (and vice versa), and tracker descriptions must accurately describe files and changes present in the diff.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@unbraind
unbraind merged commit ac9dfb8 into main Jul 27, 2026
7 checks passed
@unbraind
unbraind deleted the chore/adopt-pm-cli-2026.7.27 branch July 27, 2026 21:23
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