π Description
versioningService.ts labels indexed records by contract/event-schema version. There is no test asserting the service rejects a downgrade β ingesting an event tagged with an older schema version than already recorded for that stream must be refused or explicitly handled, never silently overwriting newer-version data.
Why this matters: version downgrades during a replay or a misconfigured indexer can corrupt newer state with stale schemas. A focused test pins the monotonic-version guarantee.
π― Requirements & Context
Context & constraints
- TypeScript, jest, better-sqlite3 in-memory. Reuse the version labels in
contract.ts types.
π οΈ Suggested Execution
git checkout -b test/versioning-downgrade-reject
npm --prefix backend test -- versioning
- Edge cases: equal version (idempotent accept); downgrade by one; downgrade after several upgrades; unknown stream first-seen.
Example commit message
test(backend): assert versioningService rejects schema-version downgrades
Pins the monotonic-version guarantee so replays cannot overwrite newer state
with older schemas.
β
Acceptance Criteria & Guidelines
| Requirement |
Target |
| Downgrade rejection asserted |
Required |
| Monotonic version invariant |
Required |
| Coverage of versioning logic |
β₯ 95% |
| jest + lint clean |
Required |
| Timeframe |
96 hours from assignment |
π¬ Community & Support
Join Discord: https://discord.gg/VpngvTjWa β comment to claim. π
π Description
versioningService.tslabels indexed records by contract/event-schema version. There is no test asserting the service rejects a downgrade β ingesting an event tagged with an older schema version than already recorded for that stream must be refused or explicitly handled, never silently overwriting newer-version data.π― Requirements & Context
Context & constraints
contract.tstypes.π οΈ Suggested Execution
git checkout -b test/versioning-downgrade-reject npm --prefix backend test -- versioningExample commit message
β Acceptance Criteria & Guidelines
π¬ Community & Support
Join Discord: https://discord.gg/VpngvTjWa β comment to claim. π