Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 40 additions & 2 deletions devlog/_plan/260917_2570_release_train/040_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ success with a signed provenance statement. Registry propagation is tracked at t

| Step | What happened | Evidence |
| --- | --- | --- |
| Freeze the candidate | `1831193294` on `dev`, `package.json` 2.57.0 | Cross-platform CI push run `35131181996`: success across the full matrix, all six Windows shards included. First green `dev` run since `35091966777`. |
| Freeze the candidate | `1831193294` on `dev`, `package.json` 2.57.0 | Cross-platform CI push run `35131181996`: success. First green `dev` run since `35091966777`. **Windows was skipped, not run** — see the correction below. |
| Move `dev`'s version line first | #4827 opened by `dev-version-bump.yml` run `35127386565`, merged as `3f639dfdad` | CI run `35127440220` success after rerunning a cancelled `macos 1/2`; Service lifecycle `35127440065` success. |
| Promote to `main` | #4829 merged as `44de45dfdc` | Merge commit, matching the 2.56.0 promotion #4694. `enforce-target` red by design. |
| Prove the release SHA | `44de45dfdc` | Cross-platform CI run `35133242171`: success. Service lifecycle run `35133242154`: success. |
| Prove the release SHA | `44de45dfdc` | Cross-platform CI run `35133242171`: success. Service lifecycle run `35133242154`: success. Windows was skipped here too; the shards were run afterwards, below. |
| Dispatch `release.yml` | version 2.57.0, tag latest, dry-run false, `expected-sha=44de45dfdc33d30af22502d2bed98014fe16d83b` | Run `35135131119`: success. `Publish` step ends `+ @bitkyc08/opencodex@2.57.0`; provenance in the sigstore transparency log at logIndex 2865732791. GitHub release `v2.57.0` created 18:35:07Z. |
| Promote to `preview` | #4831 merged as `b70f3d7fcb` | `git diff origin/main HEAD` empty; only `package.json`'s version line conflicted and was resolved to `main`'s 2.57.0, the same resolution #4698 used. |

Expand Down Expand Up @@ -44,3 +44,41 @@ The step is doing its job and its bounded read window is simply shorter than npm
processing time. Nothing needs changing: the warning is accurate, it does not fail the release, and
it tells the reader exactly what to do instead of republishing. A pending verification here means
wait and re-read, not cut another version.

## Correction: Windows was never run on the candidate or the release SHA

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the correction heading by publication time

The heading says Windows was never run on the release SHA, but lines 67–74 immediately document a successful after-the-fact dispatch at that exact SHA. This makes the release record internally contradictory, especially for readers scanning headings; rename it to state that Windows was not run on the candidate or release SHA before publication.

Useful? React with 👍 / 👎.


The "all six Windows shards included" claim above was wrong, and it is worth saying plainly because
it is the sentence a future release would have trusted.

`platform-windows` is dispatch-only by design — `.github/workflows/ci.yml` gates it on
`github.event_name == 'workflow_dispatch'` — so on a `push` or `pull_request` event the six shards
are always `skipped`, and the aggregate `ci` check accepts a `skipped` producer as a pass. Both runs
cited above are push runs:

| Run | Head | `windows N/6` |
| --- | --- | --- |
| `35131181996` | `1831193294` (candidate) | skipped |
| `35133242171` | `44de45dfdc` (release SHA) | skipped |

The Windows evidence that existed at publication time was run `35134620067` on `1504caaa83` — the
#4825 lane head, not the candidate and not the release SHA. All six shards were green there, which is
why the claim felt true; it was attached to the wrong commit.

**The gap is now closed after the fact.** Dispatch `35139132889` ran `ci.yml --ref main -f lane=all`
at `44de45dfdc`, the exact commit `@bitkyc08/opencodex@2.57.0` was published from, and all six shards
passed individually:

```
windows 1/6=success windows 2/6=success windows 3/6=success
windows 4/6=success windows 5/6=success windows 6/6=success
```

So 2.57.0 is sound on Windows. What failed was the evidence discipline, not the release.

Two things follow, and both are being handled in the 2.58.0 cycle rather than here:

- The aggregate `ci` gate cannot tell "deliberately not requested for this event" from "was requested
and did not start", because it accepts every `skipped` result unconditionally. Making that gate
event-aware is the subject of the CI-integrity lane.
- A release must not be publishable without a Windows `lane=all` at the exact promotion SHA. The
publish checklist treated that dispatch as a step; nothing enforced it.
Loading