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.

npm replicationPackage registry dataRegistry/feed protocolnpm_replication

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

Source Trail