feat(train)!: every project rides the release train #2035
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/train-everywhere"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
All 21 project CRs now carry
integrationMode: release— thebyteypilot graduates to the fleet. A green PR no longer merges on its own: declaring a release merges every open green change in PR order, then freezes the result. Trunk merge whitelist admits only pipeline-bot (R6); machine PRs propose instead of merging (R9).The trap this PR also closes: a bare release integrates nothing (the train queue is built from
spec.integrate/integrateAllGreen). The dashboard and MCP set neither field, so on a release-gated project they would forever re-release stale trunk while green changes wait. The release API now declaresintegrateAllGreen: trueexactly when the project is release-gated;pipectl release --change Nstays the precise instrument. Test:TestReleaseAPIDeclaresAllGreenIntakeForReleaseGatedProjectscovers both directions.Surfaces updated to tell the truth: MCP
releasetool description, embeddedoverview.md/releasing.mdresources, dashboard confirm text, AGENTS.md item 6 (was "accepted but not started" — false since 08-07), RELEASING.md rule 5 (merge serialization now belongs to the Release act), RELEASE-TRAIN status header (fleet flip + R7 graduation + R10 supersession recorded).Known risk, boarded deliberately:
zelnet,zdns,zeroteahave a release leg that failed on its last attempt (2026-08-07). On the train that blocks merging, not just releasing. Fix their ship leg next.Pre-existing defect flagged, not fixed here: the checked-in pipelinedeploys CRD has a CEL rule on
resolvedTarget.kubernetesImagereferencing a top-levelnamespacethe schema does not define — envtest 1.30/1.31 apiservers refuse to compile it, so the controller suite cannot run on a laptop. Green in CI; deserves its own fix.Verification:
go build/vetclean; 13 Go test packages pass locally; 129/129 guards pass — including one honest catch: the lexicon guard rejected the word "land" in my own new prose, which I corrected to "merge". Render gate covers all 21 flipped CRs.This is the last change that lands through continuous mode. Every change after this one rides the train it builds.