diff --git a/sw-block/design/v3-phase-15-g9g-blockmaster-product-loop-mini-plan.md b/sw-block/design/v3-phase-15-g9g-blockmaster-product-loop-mini-plan.md index bcbfb36ab..8d400d941 100644 --- a/sw-block/design/v3-phase-15-g9g-blockmaster-product-loop-mini-plan.md +++ b/sw-block/design/v3-phase-15-g9g-blockmaster-product-loop-mini-plan.md @@ -1,7 +1,7 @@ # V3 Phase 15 G9G - Blockmaster Product Loop To Publisher Mini-Plan Date: 2026-05-03 -Status: close-ready on `p15-g9g/blockmaster-product-loop@7ed9ab2`; QA verification pending +Status: CLOSED; G9G merged to `phase-15@2b90018`, G9G-3 usability follow-up merged to `phase-15@2d13b02` Branch target: `p15-g9g/blockmaster-product-loop` Scope: first live blockmaster loop that turns verified placement into publisher input @@ -122,7 +122,7 @@ Only after that should we wire external API/CLI verbs or CSI create/publish. ## 7. Close Snapshot -Close target: `seaweed_block@7ed9ab2`. +Close target: `seaweed_block@7ed9ab2`; merged to `phase-15@2b90018`. G9G closes the first product-loop assignment path: @@ -157,3 +157,5 @@ Close non-claims: - Create/delete/attach/detach user verbs are follow-up. - Blank-pool replica-id allocation is follow-up. - CSI and M01 hardware smoke are follow-up. + +Follow-up G9G-3 cluster-spec YAML facade closed at `phase-15@2d13b02`; it replaces the seed-file-only QA path with a declarative `--cluster-spec` bootstrap facade. diff --git a/sw-block/design/v3-phase-15-g9g3-cluster-spec-yaml-mini-plan.md b/sw-block/design/v3-phase-15-g9g3-cluster-spec-yaml-mini-plan.md index 2213eb09e..9e0ccd319 100644 --- a/sw-block/design/v3-phase-15-g9g3-cluster-spec-yaml-mini-plan.md +++ b/sw-block/design/v3-phase-15-g9g3-cluster-spec-yaml-mini-plan.md @@ -1,7 +1,7 @@ # V3 Phase 15 G9G-3 - Cluster Spec YAML Facade Mini-Plan Date: 2026-05-03 -Status: implemented at `seaweed_block@4fc0842`; QA verification pending +Status: CLOSED; merged to `phase-15@2d13b02` after QA verification on `seaweed_block@4fc0842` Branch target: `p15-g9g3/cluster-spec-yaml` Scope: declarative bootstrap YAML that feeds existing lifecycle/product-loop stores @@ -69,6 +69,7 @@ placements: ## 6. Implementation Snapshot Close candidate: `seaweed_block@4fc0842`. +Merged target: `phase-15@2d13b02`. Implemented: @@ -84,6 +85,8 @@ go test ./cmd/blockvolume -run TestG9G_L2ProductLoopPublishesAssignmentToBlockvo go test ./core/lifecycle ./core/host/master ./core/authority ./cmd/blockmaster ./cmd/blockvolume -count=1 ``` +QA signed: 2026-05-03. + ## 5. Non-Claims - Not a full product API. diff --git a/sw-block/design/v3-phase-15-pr-review-cadence.md b/sw-block/design/v3-phase-15-pr-review-cadence.md new file mode 100644 index 000000000..2e2159747 --- /dev/null +++ b/sw-block/design/v3-phase-15-pr-review-cadence.md @@ -0,0 +1,47 @@ +# V3 Phase 15 PR / Review Cadence + +Date: 2026-05-03 +Status: active process note + +## Rule + +Use one PR per coherent gate or milestone, not one PR per small commit. + +## Why + +P15 now has many small TDD slices. Opening every slice as a PR causes review +noise and burns CodeRabbit / reviewer attention on intermediate states that are +not meaningful product checkpoints. + +## Cadence + +1. Work on a gate branch, e.g. `p15-g9g/blockmaster-product-loop`. +2. Land small commits freely inside that branch: + - mini-plan / docs; + - red test; + - implementation; + - focused verification; + - close snapshot. +3. Ask QA to verify the branch at a pinned commit. +4. Open or update PR only when the branch has a coherent review target. +5. Merge to `phase-15`. +6. Draft PR `phase-15 -> main` remains the high-level integration visibility surface. + +## Exceptions + +Open an earlier PR if: + +- the change crosses an authority/protocol boundary and needs external review; +- the branch is getting too large to review coherently; +- CodeRabbit feedback is specifically needed before more work continues; +- another developer needs the branch integrated into `phase-15`. + +## Current Application + +G9G used this cadence: + +- `p15-g9g/blockmaster-product-loop` accumulated product-loop slices through QA sign. +- It merged once into `phase-15@2b90018`. +- `p15-g9g3/cluster-spec-yaml` was a distinct usability follow-up and merged once into `phase-15@2d13b02`. + +This is the preferred pattern for the next P15 gates.