Skip to content

Enforce ordering invariants with typestate - #193

Merged
serprex merged 1 commit into
mainfrom
typesafe
Oct 2, 2026
Merged

serprex merged 1 commit into
mainfrom
typesafe

Conversation

@serprex

@serprex serprex commented Oct 1, 2026 •

Copy link
Copy Markdown
Member
  • Require persistence before publishing durable positions or swapping tables
  • Hold pending rows until swap completes, recover them after restart
  • Require replay and barrier checks before catalog reads and DDL
  • Require completed inserts before ack, verified checksums before plan replay
  • Bind sequence numbers to their ack collector
  • Separate setup from running state, replace flag combinations with enums
  • Distinguish unaligned resume positions from retention floors
  • Fix timeline 1 incorrectly falling back to COPY
  • Expand coverage for corrupt plans, swap recovery and archive replay

- Require persistence before publishing durable positions or swapping tables
- Hold pending rows until swap completes, recover them after restart
- Require replay and barrier checks before catalog reads and DDL
- Require completed inserts before ack, verified checksums before plan replay
- Bind sequence numbers to their ack collector
- Separate setup from running state, replace flag combinations with enums
- Distinguish unaligned resume positions from retention floors
- Fix timeline 1 incorrectly falling back to COPY
- Expand coverage for corrupt plans, swap recovery and archive replay
@serprex serprex changed the title Typesafe Enforce ordering invariants with typestate Oct 2, 2026
@serprex
serprex requested a review from harshil-goel October 2, 2026 17:21
@serprex
serprex merged commit 572223f into main Oct 2, 2026
21 checks passed
@serprex
serprex deleted the typesafe branch October 2, 2026 17:24
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.

2 participants