Recover npm publication with typed registry state - #70
Conversation
📝 WalkthroughWalkthroughThe release updates package metadata to version 3.2.2 and adds npm publication-state verification. The publish workflow publishes absent packages, accepts matching packages, and fails on unexpected registry responses. ChangesNPM release flow
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant PublishWorkflow
participant VerifyNpmRelease
participant NpmRegistry
PublishWorkflow->>VerifyNpmRelease: resolve publication state
VerifyNpmRelease->>NpmRegistry: fetch package version metadata
NpmRegistry-->>VerifyNpmRelease: return registry response
VerifyNpmRelease-->>PublishWorkflow: return absent, present, or failure
PublishWorkflow->>NpmRegistry: publish when state is absent
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
Exact-head release-recovery clearance for
No npm or MCP Registry publication occurred from the PR. Next gates are squash merge, exact-main credentialed smoke, then immutable v3.2.2 publication and public artifact readback. |
|
Production release receipt:
The first publish attempt successfully created npm 3.2.2 but the npm attestation endpoint propagated just after the bounded readback expired; Registry publication did not run. The idempotent failed-job retry verified the now-public exact tarball and source-bound attestation, then published and read back the MCP Registry entry. No duplicate or divergent artifact was created. |
Summary
npm view ... || truerecovery branch with a built-in typed npm Registry resolver3.2.2Why
The immutable
v3.2.1release run stopped before publication because npm's E404 JSON body was coerced into a nonempty integrity string. npm and the MCP Registry remain unpublished at 3.2.1. The tag/release is retained and marked publication-halted.TDD proof
RED:
node scripts/verify-npm-release-smoke.mjsfailed becauseresolveNpmPublicationStatedid not existnpm view ... || truebranchGREEN at exact head
804961c181aa29ef0a0f90761a44f7c1d73f2569:npm test: 193 passednpm audit --audit-level=low: 0 vulnerabilities3.2.2: green50/day804961c1oilpriceapi-mcp@3.2.2:absent, exit 0git diff --check: cleanRelease gates
v3.2.2, then verify npm latest/integrity/SLSA provenance, MCP Registry exact readback, and cold-installed keyless customer pathsSummary by CodeRabbit
Release
Bug Fixes
Tests