Skip to content

Complete forward-delete and batched-transaction compatibility coverage - #58

Merged
haoranyu merged 1 commit into
mainfrom
49-close-compatibility-gaps
Aug 24, 2026
Merged

Complete forward-delete and batched-transaction compatibility coverage#58
haoranyu merged 1 commit into
mainfrom
49-close-compatibility-gaps

Conversation

@haoranyu

Copy link
Copy Markdown
Member

Summary

  • add an explicit real-CM6 delete.forward regression that locks the legacy d wire shape and v2 playback state
  • pass the exact packaged CM6 forward-delete payload through both the published CM5 and packaged CM6 players at every natural operation boundary
  • dispatch two sequential CM6 transactions in one real ViewUpdate, then replay the resulting payload through both players with explicit timestamp, document, and selection oracles

Refs #49.

Why

The final #49 audit found two narrow coverage gaps: forward deletion was only implied by the generic delete.* implementation, and a genuine multi-transaction ViewUpdate was only checked at serialization time. These tests make both behaviors part of the release compatibility gate without changing runtime code or package contents.

Verification

  • npm run test:all
  • npm run test:coverage — 126/126 tests; 76.84% statements, 70.33% branches, 90% functions, 76.75% lines
  • npm run test:compat after the final forward-delete addition
  • exact published CM5 1.1.5 and maintained 1.1.8 compatibility checks
  • npm audit --audit-level=moderate — 0 vulnerabilities
  • npm pack --dry-run --json — 31 expected package files
  • independent review — no findings

@haoranyu
haoranyu merged commit b2d4887 into main Aug 24, 2026
6 checks passed
@haoranyu
haoranyu deleted the 49-close-compatibility-gaps branch August 24, 2026 21:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant