Initiative Brief: First-Class Release Planning and Cutting in Orchestrator
COMPLETEDIntent— the specification (2,954 chars); the plan below decomposes it into work items. Click to expand.
# Initiative Brief: First-Class Release Planning and Cutting in Orchestrator ## Desired outcome Create a release-management capability that allows an operator to: * Identify completed work that has not yet been released. * Group one or more completed initiatives into a logical release. * Determine which repositories participate in that release. * Review initiative and repository readiness before release. * Capture the exact repository state that will be released. * Assign or propose release versions/tags. * Generate editable release notes. * Explicitly cut/publish the required GitHub Releases. * Observe the outcome of the release operation. * Retry or recover from partial failures safely. * Preserve a durable record of what was included in each release. The feature should integrate naturally with Orchestrator's initiative lifecycle without making releases mandatory during initial initiative planning. ## Rejected / deferred alternatives - The initial implementation does not need to provide: - A general-purpose CI/CD platform - Full environment promotion pipelines - Release trains - Scheduled release windows - Automated production rollback orchestration - Package-registry management - Automatic semantic-version calculation from conventional commits - Public changelog publishing - Customer communication workflows - Organization-wide change-management governance - Strict transactional release across multiple repositories These may be considered future roadmap items if experience demonstrates a need. ## Expected behavior - The initiative is complete when: - Orchestrator has a first-class Release domain model. - Releases can contain multiple initiatives. - Releases can span multiple repositories. - Repository-specific versions/tags and release status are represented. - Completed/unreleased initiatives can be identified for release planning. - Initiative assessment state contributes to release readiness. - Reasonably complete initiatives with deferred roadmap work can remain releasable. - Release preparation captures immutable repository SHAs/refs. - Release notes can be generated and edited. - The UI provides release list, release detail, readiness, and explicit release actions. - Orchestrator can create/publish GitHub Releases against the intended repository refs. - Existing GitHub Release-triggered deployment workflows remain the downstream deployment mechanism. - Multi-repository partial failures are persisted accurately. - Failed release operations can be safely retried without duplicating successful releases. - Released records preserve an auditable snapshot of initiatives, repository refs, versions, actors, and timestamps. - Appropriate automated tests cover release lifecycle, readiness, snapshotting, GitHub integration, idempotency, and partial-failure recovery. - Existing initiative planning/execution behavior continues to function without requiring every initiative to be assigned to a release.
Repository scope
targets the work spans — independent of where the brief was authoredPrimary repository: orchestrator
- orchestratoractive · primary
brief revision 1 assessed as delivered
assessed with 73% confidenceEnd-to-end release planning and cutting exists and is wired through Orchestrator: a first-class Release aggregate with persistence, APIs, and UI lets an operator assemble multiple completed initiatives, include/exclude multiple repositories, assign per-repo tags, and capture immutable refs/SHAs via the GitHub ref resolver. Readiness is surfaced from initiative assessment state. Notes can be generated and edited. Publishing is an explicit action that transitions PREPARED → PUBLISHING and is executed off-request by the review loop using an idempotent GitHub integration that cuts (or adopts) GitHub Releases at the captured SHAs; outcomes are persisted per repository so partial failures are accurately recorded and safe to retry without duplicating successes. A durable audit trail (including a frozen publish snapshot) and telemetry are provided, with an audit API. UI pages for list/detail/readiness/preparation/notes/publish are present and tested, and releases remain optional in initiative workflows with initiative-side association/unlinking. Automated tests exercise the lifecycle, snapshotting, idempotency, partial-failure handling, audit/telemetry, and the GitHub integration. No material scope from the brief appears unmet.
Plan waves — 1 approved wave
planning closed- Wave 1completeAPPROVED8 work items
Build first-class Release planning and cutting in Xyence/orchestrator: model Releases, plan and prepare multi-initiative, multi-repo releases, capture immutable SHAs, propose/assign repo-specific tags and editable notes, publish GitHub Releases with idempotent retry and partial-failure persistence, surface UI for planning/execution, integrate with existing initiative lifecycle, and preserve durable, auditable records. Existing GitHub-release-triggered deployments remain downstream; releases are optional during initial initiative planning.
Work items
| # | Title | Repository | State | Issue | PR / CI | Review | |
|---|---|---|---|---|---|---|---|
| 0 | Introduce Release domain model, persistence, and basic queries | orchestrator | COMPLETED | #378 | #387merged · CI passed | c1: approve | |
| 1 ⛓ | GitHub integration service for release operations (idempotent, mocked tests) | orchestrator | COMPLETED | #379 | #388merged · CI passed | c1: approve | |
| 2 ⛓ | Release preparation APIs: create draft, select initiatives/repos, snapshot refs/SHAs, and edit notes | orchestrator | COMPLETED | #380 | #389merged · CI passed | c1: approve | |
| 3 ⛓ | Publish execution and retry: background job to cut GitHub Releases per repo with partial-failure persistence | orchestrator | COMPLETED | #381 | #390merged · CI passed | c1: request_changes, c2: approve | |
| 4 ⛓ | UI: Release list, detail, readiness, preparation, notes editing, and publish controls | orchestrator | COMPLETED | #382 | #391merged · CI passed | c1: approve | |
| 5 ⛓ | Initiative lifecycle integration: surface ‘completed but unreleased’ and association to Releases | orchestrator | COMPLETED | #383 | #393merged · CI passed | c1: approve | |
| 6 ⛓ | Telemetry and durable audit enhancements for release lifecycle | orchestrator | COMPLETED | #384 | #392merged · CI passed | c1: approve | |
| 7 ⛓ | Operator documentation: Release planning and cutting guide | orchestrator | CANCELLED | #385 | — | — |
Release candidate
ELIGIBLEAll work complete — merged, reviewed, and unblocked. Release and deployment remain manual.
43f515fba3 · review approve9fb7720903 · review approve17fa510180 · review approve0001cc855a · review approve90b7c57378 · review approve26ef130df6 · review approvee99568da23 · review approven/a · review n/aRelease planning
Releases are cut in the Release planning section. Associating this initiative requires an admin role.
Associating an initiative to a release only records the link — it never changes the initiative’s own state or work. Releases are optional.
Timeline
No events yet.