sw-block/design/v3-phase-14-s8-assignment.md
Date: 2026-04-19 Status: draft Owner: sw, with architect and tester review Purpose: execute the final bounded P14 close by producing evidence, scenario classification, and a clean P15 handoff
Close P14 as a bounded internal single-active-master topology/control-plane loop, backed by L0/L1/L2 evidence and honest L3/P15 carry-forward.
Included:
Excluded:
Create an evidence table that maps S4-S7 claims to concrete tests and commands.
Must include:
Classify every missing proof as one of:
Any P14 internal blocker must be fixed before S8 close. A P15 product-surface gap must be carried forward, not disguised as P14 closure.
Inspect V2 scenario/test assets and produce a table:
| V2 asset | P14 use | P15 use | Port shape | Blocker |
|---|
Start with:
weed/storage/blockvol/testrunner/weed/storage/blockvol/testrunner/scenarios/public/ha-restart-recovery.yamlweed/storage/blockvol/testrunner/scenarios/public/ha-failover.yamlweed/storage/blockvol/testrunner/scenarios/public/fault-partition.yamlweed/storage/blockvol/test/component/weed/server/qa_block_*learn/test evidence layoutAnswer whether current sparrow hidden smoke surfaces are sufficient for S8 L2 internal close.
If not sufficient, add the minimum internal S8 smoke surface needed to prove the S4-S7 route without inventing P15 external product APIs.
The smoke must check:
VolumeBridgePrepare a 14A checklist for:
14A should review findings first. It should not expand P14 scope.
Produce a P15 handoff table:
| Gap | Why not P14 | P15 owner track | Required first proof |
|---|
Must include:
At minimum run or document blockers for:
go test ./core/engine ./core/adapter ./core/authority -count=1
go test ./cmd/sparrow ./core/authority -count=1
go test ./... -count=1
If sandbox or Windows filesystem behavior blocks durable-store tests, rerun outside the sandbox and record the reason.
If L3 hardware scenarios are not runnable, do not fake them. Record the scenario names and blockers.
Expected docs:
sw-block/design/v3-phase-14-s8-final-bounded-close.md — this scope documentsw-block/design/v3-phase-14-s8-assignment.md — this assignmentsw-block/design/v3-phase-14-s8-closure.md — final closure statement, created after implementation/evidencev3-phase-14-checklist.mdv3-phase-14-log.mdv3-phase-14a-checklist.md if 14A final pass finds coverage gapsExpected code/tests only if needed:
cmd/sparrowcore/authority or a shared component packageS8 can be accepted only when:
Architect should review:
Tester should review: