Certify pm CLI 2026.9.23 and adopt the guarded pm-ops merge-driver launcher - #114
Conversation
…uncher - Pins @unbrained/pm-cli 2026.9.21 -> 2026.9.23, pm-changelog 2026.9.18 -> 2026.9.23, pm-ops 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 exercises every branch in isolated git-init checkouts. - The wave's first gate run was cut off by its 40-minute timeout on a saturated 4-core host; this run finished it. pm items: pm-graph-at6i, pm-graph-1k7d. 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 GuideThis PR certifies the 2026.9.23 pm toolchain, adopts the pm-ops-provided guarded merge-driver launcher with comprehensive fresh-checkout tests, and hardens release automation by separating npm publication and GitHub Release success from independently visible Bun mirror verification. Sequence diagram for the guarded merge-driver prepare hooksequenceDiagram
participant NPM
participant Launcher as prepare-merge-driver.ts
participant Resolver as Node module resolver
participant PMOps as pm-ops installer
participant Git
NPM->>Launcher: execute prepare hook
Launcher->>Resolver: resolve pm-ops/merge-driver/prepare
alt pm-ops absent
Resolver-->>Launcher: MODULE_NOT_FOUND
Launcher-->>NPM: print skip notice
else pm-ops present
Resolver-->>Launcher: installer path
Launcher->>PMOps: spawnSync installer
PMOps->>Git: pm merge install
Git-->>PMOps: driver registration result
PMOps-->>Launcher: exit status
Launcher-->>NPM: propagate installer status
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
The wave dropped scripts/prepare-merge-driver.ts from coverageGate.sources (Greptile). It is back where it was on main: Node's test coverage follows the fixture suite's child processes, and npm run coverage reports the launcher at 100/100/100. pm item: pm-graph-at6i.
|
Review round complete before merge. All 1 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 b5a9c61 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 b5a9c61. |
Summary
Fleet wave of 2026-09-25 (companion epic
pm-cli-website-5s6z, launcher rolloutpm-cli-website-xy19), applied by the fleet's wave script, finished by hand where this repository needed it, and verified by its own gates.scripts/prepare-merge-driver.tsis now the template pm-ops 2026.9.23 ships, copied unchanged. 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.test/prepare-merge-driver.test.tscompares it byte-for-byte with the pinned template and runs it as npm's prepare hook would, inside freshgit initcheckouts: the exact driver set.gitattributesdeclares, the omit-dev skip, a stale pm-ops, and failing and signal-killed installers.pm items
Verification
pm health ... --require-merge-drivers), executed from ci.ymlnpm run release:checkok - the flag changes the heading: '## 2026.1.2-1 - 2026-01-02' with it, '## 2026.1.2-1' w)changelog:fullthenchangelog:checkSummary by Sourcery
Certify the 2026.9.23 pm toolchain, adopt its guarded merge-driver launcher, and make release publication and verification outcomes accurately reflect registry and Bun availability.
New Features:
Bug Fixes:
Enhancements:
CI:
Documentation:
Tests:
Chores:
Summary by cubic
Certifies the pm CLI toolchain at 2026.9.23 and adopts pm-ops's guarded merge-driver launcher so a production install of a clone (
npm ci --omit=dev) skips with one notice instead of failing, while a stale or brokenpm-opsstill fails the install. Also hardens release verification so bun mirror lag no longer skips the GitHub Release and a late-visible publish is reported honestly.Bug Fixes
--prefer-onlinereads, and an unseen publish reports "registry shows nothing" instead of a false "failed after 3 attempts".Refactors
scripts/prepare-merge-driver.tsis now the unmodified pm-ops launcher template, kept byte-identical by a new test that exercises full installs, omit-dev installs, stalepm-ops, and installer failures and signal deaths in freshgit initcheckouts.coverageGate.sources, where it was on main;npm run coveragereports it at 100/100/100 through the fixture suite's child processes.Written for commit b5a9c61. Summary will update on new commits.