Files
seaweedfs/sw-block
pingqiu 774cee5bf4 G5-5 mini-plan v0.3: §2 acceptance criteria rewritten (architect REVISE round 51-followup)
Architect's v0.2 review caught that §1 absorbed the 3 binding revisions
but §2 (the close contract per v3-batch-process.md §2) stayed stale:
  - §2 #2 still said "byte-equal on replica's walstore extent"
  - §2 had old #4 (race stress) instead of new #4 (process restart)
  - §2 #3 didn't name /status/recovery as the R/H source

v0.3 rewrites §2 to match §1, with explicit verifier names:

  #1 verify_cluster_ready
  #2 verify_byte_equal — m01verify Go helper using walstore.OpenReadOnly
     + storage.LogicalStorage.Read(lba) + SHA-256 (NO raw extent peek)
  #3 verify_network_catchup — iptables disconnect + polls
     /status/recovery?volume=v1 for R/H; asserts RecoveryDecision="catch_up"
  #4 verify_restart_catchup — SIGTERM replica + restart same binary +
     same --durable-root; polls /status/recovery same as #3
  #5 verify_race_stress — 10x -race on G5-4.5 integration test
  #6 verify_full_suite — go test ./... clean from m01
  #7 v3-dev-roadmap.md updated at gate-close per v3-batch-process.md §8

§1 file map and §5 forward-carry table already match v0.3 numbering
(grep confirmed no stale references). Implementation scope unchanged
from v0.2 (~310 prod LOC + ~30 unit tests).

v3-batch-process.md §2 single-source-of-truth discipline preserved:
§2 acceptance criteria IS the close contract; §1 scope description
stays in sync but is not load-bearing for close evidence.
2026-04-26 21:09:17 -07:00
..

sw-block

Private WAL V2 and standalone block-service workspace.

Purpose:

  • keep WAL V2 design/prototype work isolated from WAL V1 production code in weed/storage/blockvol
  • allow private design notes and experiments to evolve without polluting V1 delivery paths
  • keep the future standalone sw-block product structure clean enough to split into a separate repo later if needed

Suggested layout:

  • design/: shared V2 design docs
  • prototype/: code prototypes and experiments
  • .private/: private notes, phase development, roadmap, and non-public working material

Repository direction:

  • current state: sw-block/ is an isolated workspace inside seaweedfs
  • likely future state: sw-block becomes a standalone sibling repo/product
  • design and prototype structure should therefore stay product-oriented and not depend on SeaweedFS-specific paths