Files
seaweedfs/sw-block
pingqiu 050c3ff875 G6 mini-plan v0.1 (kickoff draft for architect ratification)
Per architect ruling 2026-04-28 on G6 scope (post-G5-5C close):

Bindings absorbed:
- G6-T-WALRECYCLE-ESCALATE folded into G6 main acceptance, not
  a separate sub-batch (architect ruling #1).
- §1 AC = single closed-loop covering retention-OK catch-up +
  recycle-triggered escalation in ONE hardware scenario
  (architect ruling #1, "现象上是一件事, 不重复跑 sustained").
- §1.A = WAL retention policy options (α config knob / β
  pin-window / γ replica-watermark-driven). sw recommends α for
  smallest diff + fastest ratification; β/γ are richer, naturally
  G6-followup territory if escalation path proves clean first.
- §1.H = audit-then-decide on code surface; do NOT pre-declare
  "zero code". Three possible verdicts: verify-only /
  minor-patch / engine-evolution-batch (halt condition).

§2 acceptance criteria (8 items):
- #1 §1.H audit published as commit note before any production
  code.
- #2 §1.A bound + landed.
- #3 engine-layer dispatch test pinning RecoveryFailureWALRecycled
  → RebuildPinned=true → next decide() emits StartRebuild.
- #4 hardware retention-OK catch-up GREEN.
- #5 hardware recycle-escalation GREEN (rebuild dispatch within
  deadline OR documented operator-failure-mode if §1 binds
  rebuild-as-NON-GOAL — architect's product-句 escape clause).
- #6 #4 + #5 pass in SAME hardware run (one closed-loop AC).
- #7 no regression on G5-5C 6-step suite.
- #8 zero diff under master/authority/proto (carries
  INV-G5-5C-NO-MASTER-PROTOCOL-CHANGE discipline).

§3 INVs to inscribe at close (4 always + 1 conditional):
- INV-G6-WALRECYCLE-DISPATCHES-REBUILD
- INV-G6-CATCHUP-CONVERGES-WITHIN-RETENTION
- INV-G6-RETENTION-POLICY-OPERATOR-VISIBLE (only if α)
- INV-G6-RETENTION-POLICY-REPLICA-AWARE (only if β/γ)
- INV-G6-ENGINE-NO-REBUILD-PINNED-ON-OTHER-FAILURES

Forward-carry from G5-5C consumed (§5):
- G6-T-WALRECYCLE-ESCALATE — primary scope of this batch.
- Evidence: V:\share\g5-test\logs\bcd-20260428T072539Z.log D-section.
- QA wait_until_rebuild_dispatched helper held until §1-§6
  ratified.

§7 sign table awaits architect §1-§6 ratification (especially
§1.A α/β/γ pick) before sw runs §1.H audit.

Standing by for architect ratification.
2026-04-28 01:31:54 -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