Repository navigation
Commit 2367c5e
fix(release-verify): the verifier could not express the release it exists for
`release-verify.mjs` is the one committed place release verification lives, and it
would have been WRONG on the 1.0 cut in three ways — each of which reports a
correct release as broken, the failure mode that teaches people to run a gate with
their eyes closed.
1. The Maven coordinate was hardcoded `7.${minor}.${patch}`. ADR-0035's decoupled
cut moves BOTH lines forward one major (npm 1.0.0 = Maven 8.0.0), so for the 1.0
line it produced `7.0.0` — a version BELOW the released 7.25.0 — and would have
reported all nine modules missing from Central while they were live. Now
`npm major + 7`, which reproduces every historical `0.x → 7.x` mapping
unchanged, with `--maven=<version>` if the two lines ever stop moving together.
2. A pre-release was unrepresentable: the argument matcher demanded `X.Y.Z`, so
`1.0.0-rc.5` was silently read as "no version given" and the script fell through
to its preflight-only branch. It now accepts `-rc.N` and applies the same four
per-ecosystem spellings `prerelease.mjs` uses — PyPI normalizes to PEP 440
(`1.0.0rc5`), npm and NuGet take the string verbatim.
3. The dist-tag check asserted `latest === VERSION`, which is the wrong question
for an RC (it lives on `next`) and would fail every correct RC cut. It now
checks the tag the version SHOULD be on, and adds the opposite assertion that
actually matters: an RC must not be `latest`. `latest` is likewise no longer
reported as a stray tag during an RC — pointing at the previous stable release
is exactly where it belongs.
Exercised against the live 1.0.0-rc.5 cut: 14 npm packages on `next`, PyPI
1.0.0rc5, four NuGet packages, nine Maven modules at 8.0.0-rc.5 — all four
registries green.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTcEKXTQMYt84fAjuw5A2M1 parent 9dc5642 commit 2367c5e
1 file changed
Lines changed: 36 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
30 | 53 | | |
31 | 54 | | |
32 | 55 | | |
| |||
107 | 130 | | |
108 | 131 | | |
109 | 132 | | |
110 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
111 | 137 | | |
112 | 138 | | |
113 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
114 | 143 | | |
115 | 144 | | |
116 | 145 | | |
117 | 146 | | |
118 | 147 | | |
119 | | - | |
120 | | - | |
121 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
122 | 151 | | |
123 | 152 | | |
124 | 153 | | |
| |||
0 commit comments