Files
seaweedfs/sw-block/design
pingqiu 54feecb31d G5-5 §close: 3 of 4 verify steps GREEN on m01 hardware; #4 carry → G5-5C
§close summary per v3-batch-process.md §12 template:

  Done:
    - #1 verify_cluster_ready
    - #2 verify_byte_equal — live iSCSI replicated write, byte-equal
      verified via storage-aware m01verify (LBA[0]=0xab on cross-host
      hardware)
    - #3 verify_network_catchup — iptables disconnect+heal, replica
      converges to LBA[1]=0xcd byte-equal in 8s via engine-driven
      catch-up
    - 14 bugs surfaced+fixed across 14 m01 self-iteration rounds
    - 5 INV-BIN-WIRING-* invariants in v3-invariant-ledger.md from
      G5-4 still load-bearing; G5-5 hardware run is Integration backstop

  Not done:
    - #4 verify_restart_catchup — kill replica + write while down +
      restart: replica's LBA[2]=0xef does NOT converge in 30s. Per
      architect ruling 2 (round 13): real recovery-path finding,
      surface as G5-5C carry-forward.
    - #5 verify_race_stress + #6 verify_full_suite — gated on #4 fix
      or test sequencing rework.

  Product level reached: L3 (Replicated IO) per v3-architecture.md §13.
  Falls short of full L4 (Failure/recovery under IO) — process-restart
  recovery is the gap, scoped as G5-5C.

  Next gate that makes it usable: G5-5C Peer Recovery Trigger After
  Replica Restart — fix engine-driven catch-up re-trigger when a
  degraded peer becomes reachable again. After G5-5C: re-run #4 #5 #6
  in this same harness; full L4 reached.

Forward-carries to G5-5C (architect-bound 2026-04-27):
  - Reuse existing engine-driven recovery primitives (T4d-4); no
    ad-hoc re-ship from replication layer.
  - Define trigger source first: observation reappearance, periodic
    probe loop, or stream/transport reconnect signal.
  - Pass criterion: exactly the failed hardware case from G5-5 #4.
  - Seed evidence: seaweed_block@5c4718f primary-fail.log shows the
    gate-degraded + stale-barrier-ack pattern.

Forward-carries to opportunistic future hardening:
  - Unit test for EnsureStorage→assignment-arrives→first-Open
    Identity-latch path (would have caught round-10/11 bug pre-m01).
  - Generalize start_cluster() pre-flight stale-state cleanup pattern
    for future hardware harnesses.

Forward-carries to G5-6:
  - G5-DECISION-001 (Path A vs Path B) — engine-state serializability
    pinned in T4d still holds; G5-5 doesn't change posture.

Pending: architect single-sign on §close per v3-batch-process.md §5
+ §8C.2.

Refs: 24 commits in seaweed_block@phase-15 spanning rounds 1-14
(documented in §close.evidence.commits table).
2026-04-27 02:23:24 -07:00
..

V2 Design

This directory currently contains both the active V2 design canon and a large set of working notes, migration packs, and historical comparison material.

Use this README as the navigation layer. If a document is not listed under Core Canon, treat it as supporting or historical context rather than the current source of truth.

Core Canon

These are the documents that define the current V2 model and should be read first.

  • v2-protocol-truths.md — the stable semantic rules
  • v2-sync-recovery-protocol.md — sync, keepup, catchup, and rebuild protocol meaning
  • v2-rebuild-mvp-session-protocol.md — rebuild session contract and data/control lanes
  • v2-automata-ownership-map.md — assignment, session, and projection ownership
  • v2-protocol-claim-and-evidence.md — claims and current proof posture
  • v2-validation-matrix.md — Rebuild Ready, Restore Ready, and V2 Ready gates
  • v2-capability-map.md — capability-to-proof-tier mapping
  • v2-proof-and-retest-pyramid.md — proof layering and retest strategy

Implementation Guides

These help maintainers understand how the current model maps into code.

  • v2-engine-maintainer-tutorial.md
  • v2-protocol-aware-execution.md
  • v2-session-protocol-shape.md
  • v2-two-loop-protocol.md
  • v2-assignment-translation-unification.md
  • v2-reuse-replacement-boundary.md

Validation And Rollout

These define how the active design is validated, staged, or operationalized.

  • v2-validation-matrix.md
  • v2-acceptance-criteria.md
  • v2-product-completion-overview.md
  • v2-first-launch-supported-matrix.md
  • v2-legacy-runtime-exit-criteria.md
  • v2-controlled-rollout-review.md
  • v2-bounded-internal-pilot-pack.md
  • v2-pilot-preflight-checklist.md
  • v2-pilot-stop-conditions.md

Working Reference

These are still useful, but they are not the shortest route to the current truth.

  • v2-open-questions.md
  • v2-phase-development-plan.md
  • v2-execution-muscles-inventory.md
  • v2-scenario-sources-from-v1.md
  • v2_scenarios.md
  • v1-v15-v2-comparison.md
  • v2-algorithm-overview.md
  • v2-algorithm-overview.zh.md
  • v2-detailed-algorithm.zh.md
  • v2-semantic-methodology.zh.md
  • v2-protocol-closure-map.zh.md

Migration And Historical Working Set

These files are mostly valuable for reconstruction of design history, migration intent, or earlier prototype shapes. They should usually not be the first docs opened during current development.

  • v2-first-migration-batch.md
  • v2-first-migration-task-pack.md
  • v2-second-migration-batch.md
  • v2-second-migration-task-pack.md
  • v2-third-migration-batch.md
  • v2-third-migration-task-pack.md
  • v2-phase14plus-semantic-framework.md
  • v2-pure-runtime-rf1-bootstrap.md
  • v2-volumev2-single-node-mvp.md
  • v2-loop1-surface-draft.md
  • v2-rf2-runtime-bounded-envelope.md
  • v2-rf2-runtime-bounded-envelope-review.md
  • v2-separation-port-layer-audit.md
  • v2_mini_core_design.md
  • 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
  • v1-v15-v2-simulator-goals.md
  • protocol-version-simulation.md

Process

  • protocol-development-process.md
  • agent_dev_process.md

Cleanup Rule

When a document is superseded, prefer:

  1. keeping one canonical file in Core Canon
  2. leaving older reasoning in Migration And Historical Working Set
  3. avoiding duplicate "read first" lists across many files

Future cleanup should physically move or archive files only after their inbound references are reviewed.

Execution Note

  • active development tracking lives under ../.private/phase/
  • current phase contract and slice packages live there rather than in this directory

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