Files
seaweedfs/sw-block/prototype
pingqiuandClaude Opus 4.6 c89709e47e feat: add WAL history model and recoverability proof (Phase 04 P3)
Adds minimal historical-data prototype to enginev2:

- WALHistory: retained-prefix model with Append, Commit, AdvanceTail,
  Truncate, EntriesInRange, IsRecoverable, StateAt
- MakeHandshakeResult connects WAL state to outcome classification
- RecordTruncation execution API for divergent tail cleanup
- CompleteSessionByID gates on truncation when required
- Zero-gap requires exact equality (FlushedLSN == CommittedLSN)
- Replica-ahead classified as CatchUp with mandatory truncation

15 new tests: WAL basics, provable recoverability, unprovable gap,
exact boundary, truncation enforcement, WAL-backed end-to-end
recovery with data verification.

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

V2 Prototype

Experimental WAL V2 prototype code lives here.

Current prototype:

  • fsmv2/: pure in-memory replication FSM prototype
  • volumefsm/: volume-level orchestrator prototype above fsmv2
  • distsim/: early distributed/data-correctness simulator with synthetic 4K block values

Rules:

  • do not wire this directly into WAL V1 production code
  • keep interfaces and tests focused on architecture learning
  • promote pieces into production only after V2 design stabilizes

Windows test workflow

Because normal go test may be blocked by Windows Defender when it executes temporary test binaries from %TEMP%, use:

powershell -ExecutionPolicy Bypass -File .\sw-block\prototype\run-tests.ps1

This builds test binaries into the workspace and runs them directly.