[Feature] Make the Release Console guided, resumable, and repository-aware #15

Open
opened 2026-07-22 03:46:14 +02:00 by zemion · 3 comments
Owner

Goal

Turn the Release Console into a versatile, guided operator workflow that supports Core and the different module repository shapes without exposing invalid or unsafe actions.

This is a focused implementation follow-up to #13. Guarded Core source tagging and publication from commit 30f9ed1 are the first integrated foundation.

Acceptance Criteria

  • Model release work as an explicit, resumable sequence: doctor/preflight, target selection, version/contract/migration gates, tag, build/sign/package, publish, catalog update, source publication, and install verification.
  • Derive available steps from repository capabilities so Core, backend-only modules, WebUI modules, documentation, and catalog artifacts receive the right workflow.
  • Show the recommended next action, prerequisites, blocking reasons, and remediation; keep unavailable actions visible but disabled.
  • Provide a complete preview/dry run before mutation and require narrowly scoped confirmations for tag, publish, signing, and catalog changes.
  • Support dependency-ordered multi-repository plans, partial-failure reporting, safe retries, and continuation from durable run state.
  • Distinguish local source state, remote tags, package publication, catalog publication, and installed release state.
  • Record privacy-safe audit events for every mutating step without exposing credentials, signing material, or bearer tokens.
  • Exercise Core and representative module release paths, stale/dirty worktrees, alignment failures, signing failures, publication retries, and interrupted-run recovery in automated tests.

UX Direction

Use the shared Card, DataGrid, status, confirmation, and top-right Save/Discard/action patterns. The console should explain why a step is blocked and guide the operator to the next safe step rather than presenting a flat set of release buttons.

## Goal Turn the Release Console into a versatile, guided operator workflow that supports Core and the different module repository shapes without exposing invalid or unsafe actions. This is a focused implementation follow-up to #13. Guarded Core source tagging and publication from commit `30f9ed1` are the first integrated foundation. ## Acceptance Criteria - [ ] Model release work as an explicit, resumable sequence: doctor/preflight, target selection, version/contract/migration gates, tag, build/sign/package, publish, catalog update, source publication, and install verification. - [ ] Derive available steps from repository capabilities so Core, backend-only modules, WebUI modules, documentation, and catalog artifacts receive the right workflow. - [ ] Show the recommended next action, prerequisites, blocking reasons, and remediation; keep unavailable actions visible but disabled. - [ ] Provide a complete preview/dry run before mutation and require narrowly scoped confirmations for tag, publish, signing, and catalog changes. - [ ] Support dependency-ordered multi-repository plans, partial-failure reporting, safe retries, and continuation from durable run state. - [ ] Distinguish local source state, remote tags, package publication, catalog publication, and installed release state. - [ ] Record privacy-safe audit events for every mutating step without exposing credentials, signing material, or bearer tokens. - [ ] Exercise Core and representative module release paths, stale/dirty worktrees, alignment failures, signing failures, publication retries, and interrupted-run recovery in automated tests. ## UX Direction Use the shared Card, DataGrid, status, confirmation, and top-right Save/Discard/action patterns. The console should explain *why* a step is blocked and guide the operator to the next safe step rather than presenting a flat set of release buttons.
Author
Owner

Progress 2026-07-22: the release workflow now blocks selected WebUI module/version drift at planning, tag mutation, and signed-catalog generation (5447299), including a no-partial-tag regression. A real release exercise published exact annotated tags for Core v0.1.13 and Campaign v0.1.10, built both remote Git references, validated full pip dependency resolution, signed stable catalog sequence 202607220843 with release-key-1, and atomically published website tag catalog-stable-202607220843. Core v0.1.13 also repairs wheel-only Alembic runtime packaging and locks Campaign 0.1.10. Remaining #15 scope includes durable/resumable run state and a first-class deployed/public-catalog state; the production nginx endpoint currently needs an operator rebuild after the catalog repository push.

Progress 2026-07-22: the release workflow now blocks selected WebUI module/version drift at planning, tag mutation, and signed-catalog generation (`5447299`), including a no-partial-tag regression. A real release exercise published exact annotated tags for Core v0.1.13 and Campaign v0.1.10, built both remote Git references, validated full pip dependency resolution, signed stable catalog sequence 202607220843 with `release-key-1`, and atomically published website tag `catalog-stable-202607220843`. Core v0.1.13 also repairs wheel-only Alembic runtime packaging and locks Campaign 0.1.10. Remaining #15 scope includes durable/resumable run state and a first-class deployed/public-catalog state; the production nginx endpoint currently needs an operator rebuild after the catalog repository push.
Author
Owner

Codex State: progress

Summary

  • The mandatory release-composition gate exposed and rejected a stale Campaign backend pin.
  • Aligned requirements-release.txt to Campaign v0.1.10, matching Core's bundled Campaign WebUI and the signed stable catalog.

Changed Files

  • requirements-release.txt

Verification

  • Version alignment passed for all 65 repositories including the release composition; 23 release/version tests passed.

Next / Blocked

  • The larger guided, resumable, repository-aware Release Console work remains open.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - The mandatory release-composition gate exposed and rejected a stale Campaign backend pin. - Aligned requirements-release.txt to Campaign v0.1.10, matching Core's bundled Campaign WebUI and the signed stable catalog. ### Changed Files - `requirements-release.txt` ### Verification - `Version alignment passed for all 65 repositories including the release composition; 23 release/version tests passed.` ### Next / Blocked - The larger guided, resumable, repository-aware Release Console work remains open. Suggested status label: `status/in-progress`
Author
Owner

Codex State: progress

Summary

  • Selective plans now expose structured gate findings, a recommended next action, remediation, and source-preflight readiness.
  • Malformed repository, Core WebUI bundle, Core dashboard, and manifest metadata now fail closed as blocked plans instead of becoming HTTP 500 errors.
  • A real Core 0.1.13 plan reaches tag preview; Files 0.1.9 is correctly blocked with exact Core release bundle and lockfile remediation.

Changed Files

  • tools/release/govoplan_release/selective_planner.py
  • tools/release/govoplan_release/dashboard.py
  • tools/release/webui/index.html

Verification

  • 103 meta tests passed; version alignment passed for 65 repositories; static contracts passed

Next / Blocked

  • Durable resumable run state, dependency-ordered execution, audited mutations, safe retries, and interrupted-run recovery remain open.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Selective plans now expose structured gate findings, a recommended next action, remediation, and source-preflight readiness. - Malformed repository, Core WebUI bundle, Core dashboard, and manifest metadata now fail closed as blocked plans instead of becoming HTTP 500 errors. - A real Core 0.1.13 plan reaches tag preview; Files 0.1.9 is correctly blocked with exact Core release bundle and lockfile remediation. ### Changed Files - `tools/release/govoplan_release/selective_planner.py` - `tools/release/govoplan_release/dashboard.py` - `tools/release/webui/index.html` ### Verification - `103 meta tests passed; version alignment passed for 65 repositories; static contracts passed` ### Next / Blocked - Durable resumable run state, dependency-ordered execution, audited mutations, safe retries, and interrupted-run recovery remain open. Suggested status label: `status/in-progress`
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan#15
No description provided.