From d13ad20db3787fd8e1013d703a01cd56110bbd6e Mon Sep 17 00:00:00 2001 From: JUN Date: Mon, 28 Sep 2026 08:33:49 +0900 Subject: [PATCH] docs(devlog): record the 2.69.0 release --- devlog/_fin/260928_release_2_69_0/000_plan.md | 17 +++++++++++++++++ .../_fin/260928_release_2_69_0/090_outcome.md | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 devlog/_fin/260928_release_2_69_0/000_plan.md create mode 100644 devlog/_fin/260928_release_2_69_0/090_outcome.md diff --git a/devlog/_fin/260928_release_2_69_0/000_plan.md b/devlog/_fin/260928_release_2_69_0/000_plan.md new file mode 100644 index 00000000000..88274a6b1e1 --- /dev/null +++ b/devlog/_fin/260928_release_2_69_0/000_plan.md @@ -0,0 +1,17 @@ +# Release 2.69.0 + +Candidate: `870f39e75e` (dev after release train 4). Final Cross-platform CI run 36348371944 on this exact SHA passed (privacy gate skipped by its path condition). Version sources on the candidate read 2.69.0. + +## Steps + +1. Pre-move `dev` past the release: dispatch `dev-version-bump.yml` with `intended-version=2.69.0` from the default branch, verify the opened PR only changes version sources to 2.70.0, merge it through the maintainer dev integration path. +2. Preview: branch from the candidate, `git merge -s ours origin/preview`, run `bun scripts/release-version-sources.ts sync 2.69.0-preview.20260928`, check, open PR to `preview`, merge with a merge commit. Dispatch `release.yml` on `preview` with `version=2.69.0-preview.20260928`, `tag=preview`, `dry-run=false`, `expected-sha=`. +3. Stable: branch from the candidate, `git merge -s ours origin/main`, check version sources for 2.69.0 (tree equals the candidate), open PR to `main`, merge with a merge commit. Dispatch `release.yml` on `main` with `version=2.69.0`, `tag=latest`, `dry-run=false`, `expected-sha=
`. +4. Verify npm `latest=2.69.0` and `preview=2.69.0-preview.20260928`, both GitHub releases with the full asset set and correct prerelease flags, and `latest.json` reporting 2.69.0 with five platform signatures. +5. Land this record with the outcome on `dev`. + +## Guards + +Before each release dispatch, the merged promotion SHA itself must carry a successful push-event Cross-platform CI run and a successful Service lifecycle run (release.yml gates on both; the candidate's workflow_dispatch run 36348371944 does not satisfy them). Verify the preview merge tree differs from `870f39e75e` only in the four version sources, and the main merge tree equals it, then use each verified merge SHA as `expected-sha`. + +Do not weaken release preflight, exact-SHA, or CI gates. If a release run fails, read the failing job, fix through a PR to `dev` and re-promote, or use the workflow's documented resume input only when npm publication was acknowledged for the same commit. diff --git a/devlog/_fin/260928_release_2_69_0/090_outcome.md b/devlog/_fin/260928_release_2_69_0/090_outcome.md new file mode 100644 index 00000000000..1bc1087d2e9 --- /dev/null +++ b/devlog/_fin/260928_release_2_69_0/090_outcome.md @@ -0,0 +1,18 @@ +# Release 2.69.0 outcome + +Published 2026-09-28 (KST). npm `latest=2.69.0`, `preview=2.69.0-preview.20260928`. + +| Step | Evidence | +|---|---| +| Release tree | Candidate `870f39e75e` (release train 4; final Cross-platform CI run 36348371944 passed) plus #6140, which removed agent scratch files (`.agents/`, root `design-debt.md`, train 4 lane `_handoff.md`) and added a repo-hygiene guard. dev at `b3d445d8ec`. | +| dev pre-move | #6136 moved dev to 2.70.0 (`081b670892`) before any publish. | +| Superseded promotion | #6137 (preview) and #6138 (main) were merged from `870f39e75e` and then replaced before publication, when the owner asked for the scratch-file cleanup. Their push CI runs were cancelled; nothing was published from them. | +| Preview | #6141 merged as `24f55dcb3f` (tree = dev + four version sources at `2.69.0-preview.20260928`). Push CI 36355208544 and Service lifecycle 36355270913 (dispatched, since the merge touched no service path relative to the previous preview head) passed. Release run 36356404530 succeeded. GitHub release `v2.69.0-preview.20260928`: prerelease, 25 assets. | +| Stable | #6142 merged as `3cc34e1181` (tree = dev + four version sources at `2.69.0`). Push CI 36355212673 and Service lifecycle 36355272973 (dispatched) passed. Release run 36357595961 succeeded. GitHub release `v2.69.0`: not prerelease, 25 assets; `latest.json` reports 2.69.0 with five signed platforms. | +| npm | `2.69.0-preview.20260928` published 23:11Z; `2.69.0` published 23:27Z and visible on the registry at 23:33Z. | + +## Notes + +- The preview push CI skipped path-gated jobs (Windows shards, macOS control and others) because the merge differed from the previous preview head only in cleanup files. The full matrix ran and passed on `870f39e75e` (run 36348371944) and on the main promotion push (run 36355212673). +- An independent plan audit (gpt-6-sol) found that the release gate needs push-event CI and Service lifecycle on each promotion SHA; that was folded into [000_plan.md](000_plan.md) before publishing. +