Files
seaweedfs/sw-block/design
pingqiu edec7098e8 feat: add V2 protocol simulator and enginev2 sender/session prototype
Adds sw-block/ directory with:

- distsim: protocol correctness simulator (96 tests)
  - cluster model with epoch fencing, barrier semantics, commit modes
  - endpoint identity, control-plane flow, candidate eligibility
  - timeout events, timer races, same-tick ordering
  - session ownership tracking with ID-based stale fencing

- enginev2: standalone V2 sender/session implementation (63 tests)
  - per-replica Sender with identity-preserving reconciliation
  - RecoverySession with FSM phase transitions and session ID
  - execution APIs: BeginConnect, RecordHandshake, BeginCatchUp,
    RecordCatchUpProgress, CompleteSessionByID — all sender-authority-gated
  - recovery outcome branching: zero-gap, catch-up, needs-rebuild
  - assignment-intent orchestration with epoch fencing

- design docs: acceptance criteria, open questions, first-slice spec,
  protocol development process

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 10:38:27 -07:00
..

V2 Design

Current WAL V2 design set:

  • wal-replication-v2.md
  • wal-replication-v2-state-machine.md
  • wal-replication-v2-orchestrator.md
  • wal-v2-tiny-prototype.md
  • wal-v1-to-v2-mapping.md
  • v2-dist-fsm.md
  • v2_scenarios.md
  • v1-v15-v2-comparison.md
  • v2-scenario-sources-from-v1.md
  • protocol-development-process.md
  • v2-acceptance-criteria.md
  • v2-open-questions.md
  • v2-first-slice-session-ownership.md
  • v2-prototype-roadmap-and-gates.md

These documents are the working design home for the V2 line.

The original project-level copies under learn/projects/sw-block/design/ remain as shared references for now.

Execution note:

  • active development tracking for the current simulator phase lives under:
    • ../.private/phase/phase-01.md
    • ../.private/phase/phase-02.md