Certify pm CLI 2026.9.23 and adopt the guarded pm-ops merge-driver launcher - #115
Conversation
…uncher - Pins @unbrained/pm-cli 2026.9.21 -> 2026.9.23, pm-ops 2026.9.18 -> 2026.9.23, pm-changelog 2026.9.18 -> 2026.9.23 exactly (package.json and package-lock.json). - scripts/prepare-merge-driver.ts is now the launcher template pm-ops ships, copied unchanged: it imports nothing from pm-ops, so `npm ci --omit=dev` in a clone skips with one notice instead of failing, while a stale or broken pm-ops still fails. A test keeps it byte-identical to the pinned template and proves it registers the drivers. pm items: pm-starter-50az. Companion epic pm-cli-website-5s6z. release:check exits 0.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 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. Comment |
Reviewer's GuideCertifies the pm toolchain at 2026.9.23 and adopts its guarded merge-driver launcher, which dynamically invokes pm-ops, skips cleanly for omit-dev installs, and fails clearly for stale or broken dependencies; new integration tests validate synchronization and all key installation outcomes. Sequence diagram for guarded merge-driver installationsequenceDiagram
participant npm as npm prepare
participant Launcher as prepare-merge-driver.ts
participant Resolver as Node module resolver
participant PMOps as pm-ops installer
participant Git as Git config
npm->>Launcher: execute
Launcher->>Resolver: resolve pm-ops/merge-driver/prepare
alt pm-ops is absent
Resolver-->>Launcher: MODULE_NOT_FOUND
Launcher->>Resolver: resolve pm-ops/package.json
Resolver-->>Launcher: package absent
Launcher-->>npm: print skip notice
else pm-ops is installed
Resolver-->>Launcher: installer path
Launcher->>PMOps: spawnSync(process.execPath, installer)
PMOps->>Git: pm merge install
Git-->>PMOps: drivers registered
PMOps-->>Launcher: exit status
Launcher-->>npm: propagate status
end
alt pm-ops is stale or installer fails
Resolver-->>Launcher: resolution error
Launcher-->>npm: fail install
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
|
@greptileai review |
|
Review round complete before merge. All 2 inline bot threads were answered in-thread, and each was either fixed in this PR or tracked on the companion hub (launcher template: pm-cli-website-dqg7; release-workflow verifier: pm-cli-website-mxrp). Greptile's latest review covers the current head a9fd2ac with Confidence Score: 5/5. Sourcery skipped this head (its weekly diff allowance), so its earlier findings on this PR are the last it gave, and all were answered. CodeRabbit posted only its free-plan notice: this repository has fewer than 10 stars, so it doesn't review automatically, and its one-review-per-hour allowance is kept for PRs that need it. Every required check is green on a9fd2ac. |
Summary
Fleet wave of 2026-09-25 (companion epic
pm-cli-website-5s6z), applied by the fleet's deterministic wave script and verified by this repository's own gates.pm-cli-website-xy19):scripts/prepare-merge-driver.tsis now the template pm-ops 2026.9.23 ships, copied unchanged (it replaces the static-import launcher). It imports nothing from pm-ops, so a production install of a clone (npm ci --omit=dev) skips with one notice instead of dying onERR_MODULE_NOT_FOUND, while a stale or broken pm-ops still fails the install.prepare-merge-driver.test.tscompares the file byte-for-byte withnode_modules/pm-ops/templates/prepare-merge-driver.ts(pm-ops covers every branch of that template with real fixtures) and runs it to prove the drivers register.pm items
Verification
git config --get-regexp '^merge\.pm'afternpm cipm health ... --require-merge-drivers), executed from ci.ymlnpm run release:checkverify-release-publish-attestation: every publish invocation is attested.)changelog:fullthenchangelog:checkSummary by cubic
Certifies the pm CLI toolchain at 2026.9.23 and replaces the static-import merge-driver launcher with the guarded launcher template pm-ops ships.
@unbrained/pm-cli,pm-ops, andpm-changelogto 2026.9.23 inpackage.jsonandpackage-lock.json.scripts/prepare-merge-driver.tsis now a byte-identical copy of the pm-ops template; it imports nothing from pm-ops, so an omit-dev install of a clone skips with one notice instead of failing, while a stale or broken pm-ops still fails the install.test/prepare-merge-driver.test.tsto keep the script byte-identical to the pinned template and prove the drivers register in fresh checkouts.Written for commit a9fd2ac. Summary will update on new commits.