Files
seaweedfs/sw-block/.private/phase
pingqiuandClaude Opus 4.6 600dac6029 feat: Phase 13 CP13-1 — frozen test-first baseline for sync replication gaps
Baseline report (phase-13-cp1-baseline.md) from running 44 existing
replication-gap tests on current code with zero protocol changes:

  37 PASS / 4 FAIL / 3 PASS*

4 FAILs expose real gaps:
- ReconnectUsesHandshakeNotBootstrap: degraded shipper doesn't catch up (CP13-5)
- CatchupMultipleDisconnects: repeated reconnect cycles don't recover (CP13-5)
- NeedsRebuildBlocksAllPaths: stays Degraded after large gap (CP13-5+7)
- CatchupDoesNotOverwriteNewerData: catch-up fails at barrier (CP13-5)

3 PASS* are witness-only (pass but don't prove the property):
- Bug3_ReplicaAddr: documents gap, not fix (CP13-2)
- GapBeyondRetainedWal: asserts barrier failure, not NeedsRebuild (CP13-7)
- MaxBytesTriggersNeedsRebuild: logs "not implemented" (CP13-6)

No protocol code changed. Baseline is test-first evidence only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 17:07:21 -07:00
..

Phase Dev

Use this directory for private phase development notes.

Phase Protocol

Each phase should use this file set:

  • phase-01.md
    • plan
    • scope
    • progress
    • active tasks
    • exit criteria
  • phase-01-log.md
    • dated development log
    • experiments
    • test runs
    • failures and findings
  • phase-01-decisions.md
    • key algorithm decisions
    • tradeoffs
    • rejected alternatives

Suggested naming pattern:

  • phase-01.md
  • phase-01-log.md
  • phase-01-decisions.md
  • phase-02.md
  • phase-02-log.md
  • phase-02-decisions.md

Rule of use:

  1. if it is what we are doing -> phase-xx.md
  2. if it is what happened -> phase-xx-log.md
  3. if it is why we chose something -> phase-xx-decisions.md