Registry/feed protocol
npm replication new feed cursor semantics duplicate processing after restart
A worker replays already indexed package changes after a restart on the new feed.
Agent Quick Fix
Repair against the current npm replication contract, then keep the change narrow and source-backed.
Product: npm replication
Current-contract area: Replication cursor semantics cause duplicate processing after cutover
Likely root cause: A worker replays already indexed package changes after a restart on the new feed.
Repair direction: Verifier checks continuity, cursor advancement, de-duplication, and compatibility with the current feed. Check no gaps or duplicates across a hidden multi-page change stream.
Symptom
A worker replays already indexed package changes after a restart on the new feed.
Why This Happens
The consumer code is locally valid under the old feed contract; only the live registry's current routing, cursor, or response semantics disambiguate the fix.
Common Wrong Fixes
- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.
Codex Search Keywords
These are the search terms observed in a neutral Codex validation run for this failure shape.
npm replication new feed cursor semantics duplicate processing after restart
npm registry replication changes feed _changes since update_seq
site:github.com/npm/registry docs replication _changes
npm registry replication endpoint replicate.npmjs.com _changes