chore(ci): stop this fork from publishing over the real @wave-av/adk - #64
chore(ci): stop this fork from publishing over the real @wave-av/adk#64yakimoto wants to merge 1 commit into
Conversation
This repo does not publish @wave-av/adk. npm serves 1.0.14, built from wave-av/sdks -> sdk-typescript/packages/adk. This repo is at 1.0.2 with a single-entry build and none of the six subpath exports consumers import. The trigger was push: tags: [v*]. A version bump plus a tag here would have published a single-entry build over the real package -- a breaking release shipped by accident from a repo nobody realised was live. Two changes, both reversible: - trigger is now workflow_dispatch only, so it cannot fire on its own; - a guard refuses any version not strictly ahead of the registry. Verified: 1.0.2 vs published 1.0.14 REFUSE, 1.0.14 vs 1.0.14 REFUSE, 0.9.0 REFUSE, 1.0.15 and 1.1.0 allow. Also SHA-pins actions/checkout and actions/setup-node to the revisions lint.yml already uses; the mutable @v4 tags tripped the supply-chain scanner on a file that mints an npm token. See wave-av/sdks#42.
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_48daccd0-df72-4fc8-a5fb-0a3fddf53e62) |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
|
Correction to this PR's body, which I wrote: it says npm serves 1.0.14 "built from That attribution is wrong. The definitive test is the That commit resolves to the private monorepo, not to Nothing about the change here is affected. The hazard is that this repo can publish over a package it doesn't own, and that remains true regardless of which repo does own it. The fix is still correct as written. One addition worth making while this is open: revoking Full audit context: wave-av/sdks#42. |
Mitigated —
|
Closes the one item on wave-av/sdks#42 that needs no decision: this repo can currently publish over the real package, and shouldn't be able to.
The hazard
publish.ymltriggered onpush: tags: ['v*']and rannpm publish --access public.This repo does not publish
@wave-av/adk. npm serves 1.0.14, built fromwave-av/sdks→sdk-typescript/packages/adk. This repo is at 1.0.2, builds single-entry (tsup src/index.ts), and ships none of the six subpath exports (@wave-av/adk/tools,/agents,/adapters,/templates,/types) that the real package builds and that consumers import.Publishing 1.0.2 would simply fail — npm rejects a duplicate version. The real hazard is a bump: anyone who sets
versionto something ahead of 1.0.14 here and tags it ships a single-entry build over a package whose consumers rely on those subpaths. A breaking release, from a repo nobody realised was live, with no review step in between.The change
Two things, both reversible:
workflow_dispatchonly — it cannot fire on its own.Verified against the real values:
I also SHA-pinned
actions/checkoutandactions/setup-nodeto the revisionslint.ymlalready uses. The mutable@v4tags tripped the supply-chain scanner, which matters more than usual on the one workflow that mints an npm token.What this does not decide
Nothing about which repo should be the home — that's wave-av/sdks#42. If this repo wins, restore the tag trigger, but sync forward from 1.0.14 first or the first publish re-buries twelve versions of work. The comment block in the file says so, so whoever restores it reads it.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Low Risk
CI-only changes to publish triggers, a version guard, and action pinning; no application or package runtime code is modified.
Overview
Hardens the npm publish workflow so this stale fork cannot accidentally ship
@wave-av/adkover the real package built fromwave-av/sdks(npm 1.0.14 vs local 1.0.2).The tag push trigger (
v*) is removed; publish runs only viaworkflow_dispatch, with a long comment explaining the fork hazard and pointing to wave-av/sdks#42.A new step Refuse to publish behind the registry compares
package.jsontonpm view @wave-av/adk versionand fails if the local version is not strictly ahead—so manual dispatch cannot clobber the registry either.checkout and setup-node are SHA-pinned to the same revisions as
lint.yml(replacing mutable@v4tags).Reviewed by Cursor Bugbot for commit 975f7ea. Configure here.
Summary by cubic
Disable automated npm publish from this fork and add guardrails to prevent publishing over the real
@wave-av/adk. Removes tag-based publishing, requires manual dispatch, and blocks versions that are not ahead of the registry.Bug Fixes
workflow_dispatchonly; remove tag trigger.@wave-av/adk.Dependencies
actions/checkoutandactions/setup-nodeto SHAs to avoid mutable tags.Written for commit 975f7ea. Summary will update on new commits.