Release: prepare and rehearse the immutable v1.5.0 candidate - #1033
Conversation
|
Note Automatic reviews are paused because your team has used its included automatic processing for this billing period (headroom scales with your seat count). You can still comment "Gitar review" to run one anytime, and automatic reviews resume on their own by October 1. Add seats for more headroom. Code Review 👍 Approved with suggestions 0 closed / 2 findings🟡 Medium risk Release v1.5.0 candidate preparation with comprehensive validation, build rehearsal, and artifact verification. Two minor version-pinning issues: wheel filename hardcoded in 💡 Quality: Wheel filename for 1.5.0 hardcoded again in release.yml verification📄 .github/workflows/release.yml:124 release.yml:124 hardcodes Derive the wheel key by name pattern instead of hardcoding the version string.💡 Quality: release-readiness distribution check hardcodes version != "1.5.0"📄 src/code_mower/release_readiness.py:1766-1773 src/code_mower/release_readiness.py's Gate on whether the candidate workflow file exists/is referenced, rather than an exact version string, so the candidate-based flow persists for later versions too.🤖 Prompt for agentsReview coverageRules No rules evaluated OptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
Claude audit unavailableHead SHA: |
|
Pre-merge release review found two blocking evidence/integrity gaps and the two bounded maintainability findings already identified by Gitar. Please address all four on this same Codex-owned branch, add focused regressions/static workflow assertions, push, and re-request the independent Claude audit on the final head.
The current head's general candidate/rehearsal separation, merged-PR SHA check in |
|
Fix round pushed to the existing Codex-owned branch for PR #1033. Head: All four requested findings are addressed: candidate dispatch rejects a workflow/source SHA mismatch and any rerun before checkout; publication checks the selected run head and first attempt; the installed-wheel rehearsal exercises synthetic doc_ref/readiness, ambiguity-only usable partial results, and same-version/wrong-distribution bounded incompatibility without leakage; publication now requires those named checks and a single manifest-derived wheel identity. Readiness validates the candidate workflow directly, including for future versions. Added behavioral workflow regressions, missing-evidence rejection tests, and a normal CI job that builds the exact PR head as Validation so far: 20 focused release regressions pass; Ruff on source/scripts/tests, privacy scan, package workflow guard, actionlint on changed workflows, and all 22 release-readiness checks pass. A clean build at the preceding implementation commit passed twine and both artifact inventories. Final-head CI and the installed-wheel rehearsal are running: https://github.com/codemower-ai/code-mower/actions/runs/35315135955 . Local full-suite/graph validation is constrained by the runner sandbox: the command |
Claude audit unavailableHead SHA: |
|
Updated PR #1033 to final fix head The exact installed-wheel rehearsal passed all ten named checks at Final-head CI run 35315495642 will repeat the wheel rehearsal and full Python 3.12/3.13/3.14 suites. Final head-bound evidence will follow. Independent audit and the authoritative gate remain required; this is pre-merge rehearsal evidence, not a merged candidate or release authorization. |
|
One final bounded fix round is required on the existing branch at
Keep the scope to these two items. Re-run the exact installed-wheel rehearsal and request a fresh exact-head independent audit after pushing. Do not tag, publish, dispatch paid providers, touch a live Slack workspace, or create a recovery session. |
|
Addressed the two remaining fix-round items on PR #1033. New head: Both remaining release-readiness branches now use the same candidate-workflow detection as the distribution check. Regressions simulate v1.5.1 and verify candidate runbook checks, rejection of missing acceptance/budget gates, candidate-first next actions, and candidate run IDs on publication dispatches. The historical v1.4.2 tests now use a checkout fixture without the candidate workflow/consumer and still verify the legacy runbook. Historical evidence files are unchanged. The aggregate CI dependency assertion now includes Validation on the pushed tree:
Re-requested |
Exact-head release review evidence and owner gate decisionExact head:
The hosted audit publisher again remained in its wait step after producing and sealing the exact-head PASS artifact, consistent with tracked publisher issue #1032. I cancelled the stalled source workflow after preserving the artifact to free the self-hosted runner. Applying the documented owner gate override to this PR only; this does not replace or weaken the exact-head independent audit, CI, or installed-wheel evidence. No tag, release candidate, package publication, paid provider run, or live Slack action has occurred. |
Closes #1027.
Prepare the
1.5.0source/package identity, current installation guidance, release notes and qualification contract, including merged #1007 Graphify compatibility, #1031 reader/readiness parity and #1024 Slack setup/doctor. Historical v1.4.x release evidence remains unchanged.The candidate workflow builds and inspects a wheel/sdist pair from the release preparation PR's actual merge SHA, records SHA-256/inventory evidence, and rehearses that exact wheel. Publication retrieves the qualified artifact pair instead of rebuilding. The documented order is candidate → private acceptance #918 → explicitly capped completion/cancellation #920 → owner-authorized unchanged-SHA tag/publication and independent reinstall #923.
Validation on the preparation head:
twine check; required Graphify/Slack modules, hosted manifest and documentation inspected in both artifacts and byte-compared to source.Pre-merge artifacts are explicitly
kind=rehearsaland cannot be published. The final candidate cannot be bound until this PR merges. Private administration/live disable/uninstall, paid canaries, tagging, publication and hosted deployment were not performed. This PR requests independent Claude audit and the normal authoritative gate; it does not authorize those later owner-controlled actions.