Files
seaweedfs/sw-block/design/v2-rf2-runtime-bounded-envelope.md
T
pingqiuandClaude Opus 4.6 044a6d770b feat: Phase 19 — bounded working RF2 block path
Live HTTP evidence transport, continuous Loop2 service, bounded auto
failover trigger, runtime-managed frontend export, bounded replica
repair, end-to-end RF2 handoff with continued I/O on new primary,
bounded operator HTTP surface, and CSI V2 runtime backend adapter.

11 new proof tests covering the full M6-M10 chain plus CSI create/
lookup/publish through the V2 runtime path.

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

128 lines
4.4 KiB
Markdown

# V2 RF2 Runtime Bounded Envelope
Date: 2026-04-05
Status: draft
Purpose: freeze the bounded productionization envelope around the current
`Phase 19` working RF2 block path without overclaiming broad product readiness
## Reading Rule
This document defines the strongest bounded envelope currently justified by the
delivered `Phase 19` path.
It does NOT mean:
1. broad launch approval
2. working block product approval
3. support for broad frontend or transport matrices
4. that remaining runtime/product gaps are minor polish
It means only:
1. the current `masterv2 + volumev2 + purev2` RF2 runtime slice has a named,
reviewable productionization boundary
2. the current support statement, exclusions, and blockers are explicit
3. later pilot or rollout work must stay inside this envelope or explicitly widen
it with new evidence
## Envelope Basis
This envelope is anchored on the delivered `Phase 19` milestones:
1. `M6`: one live loopback HTTP transport now exists behind the evidence seam
2. `M7`: one background Loop 2 service and one bounded auto-failover service now
exist
3. `M8`: one runtime-managed iSCSI export path and one bounded replica repair
wrapper now exist
4. `M9`: one end-to-end RF2 handoff proof now exists with continued I/O on the
new primary
5. `M10`: one bounded operator surface and one bounded CSI runtime backend
adapter now exist
The envelope is therefore about one bounded working RF2 block path, not broad
product readiness.
## Supported Envelope
The current bounded support statement is:
1. one bounded working RF2 block path now exists with:
- `masterv2` identity/promotion authority
- `volumev2` failover, takeover, active Loop 2 service, continuity, repair,
frontend rebinding, and projected RF2 surface ownership
- `purev2` execution adapter reuse
2. one bounded live transport path now carries failover-time evidence and replica
summaries
3. one bounded real client handoff path now exists:
- write through runtime-managed iSCSI export
- bounded repair/catch-up on the runtime path
- lose primary
- auto fail over
- reconnect to the new primary
- continue I/O
4. one bounded outward RF2 surface exists as projection only:
- `RF2VolumeSurface`
5. one bounded operator/CSI adapter layer exists on top of runtime-owned truth
## Explicit Exclusions
The following are OUTSIDE this bounded envelope:
1. broad multi-process or multi-host deployment approval
2. broad transport/frontend matrix approval
3. full rebuild orchestration beyond the current bounded repair/catch-up wrapper
4. broad CSI lifecycle parity beyond the current bounded runtime backend adapter
5. broad operator/API/metrics coverage beyond the current bounded HTTP surface
6. broad launch or external customer support statements
## Current Blockers
The main blockers between this envelope and a working RF2 block product are:
1. the current path is still bounded to the current runtime harness rather than
broad multi-process approval
2. bounded repair/catch-up is not yet broad rebuild lifecycle closure
3. CSI rebinding is still a bounded runtime backend adapter, not full lifecycle
parity
4. the operator surface is still a bounded HTTP view, not a full operational
platform surface
## Allowed Validation Shape
The allowed validation shape inside this envelope is:
1. internal engineering validation only
2. bounded lab/runtime exercise only
3. explicit artifact-driven interpretation only
The following are NOT allowed interpretations:
1. "the system is now production ready"
2. "the system now supports real automatic failover"
3. "the system now supports broad product traffic and rollout"
## Evidence Anchors
Read this envelope together with:
1. `sw-block/.private/phase/phase-19.md`
2. `sw-block/design/v2-kernel-closure-review.md`
3. `sw-block/design/v2-protocol-claim-and-evidence.md`
4. `sw-block/runtime/volumev2/runtime_manager.go`
5. `sw-block/runtime/volumev2/continuity_runtime.go`
6. `sw-block/runtime/volumev2/rf2_surface.go`
7. `sw-block/runtime/volumev2/loop2_service.go`
8. `sw-block/runtime/volumev2/frontend_runtime.go`
9. `sw-block/runtime/volumev2/operator_surface.go`
10. `sw-block/runtime/volumev2/poc_test.go`
11. `weed/storage/blockvol/csi/v2_runtime_backend.go`
## Envelope Output
The correct current reading of this envelope is:
1. runtime-bearing RF2 kernel slice: yes
2. bounded working RF2 block path: yes
3. bounded productionization artifact set: yes
4. pilot-ready broad product path: no