diff --git a/devlog/_plan/260927_directive_marker_bridge/000_plan.md b/devlog/_fin/260927_directive_marker_bridge/000_plan.md similarity index 100% rename from devlog/_plan/260927_directive_marker_bridge/000_plan.md rename to devlog/_fin/260927_directive_marker_bridge/000_plan.md diff --git a/devlog/_plan/260927_directive_marker_bridge/001_app_and_external_evidence.md b/devlog/_fin/260927_directive_marker_bridge/001_app_and_external_evidence.md similarity index 100% rename from devlog/_plan/260927_directive_marker_bridge/001_app_and_external_evidence.md rename to devlog/_fin/260927_directive_marker_bridge/001_app_and_external_evidence.md diff --git a/devlog/_plan/260927_directive_marker_bridge/010_wp2_visualization_directive_normalization.md b/devlog/_fin/260927_directive_marker_bridge/010_wp2_visualization_directive_normalization.md similarity index 100% rename from devlog/_plan/260927_directive_marker_bridge/010_wp2_visualization_directive_normalization.md rename to devlog/_fin/260927_directive_marker_bridge/010_wp2_visualization_directive_normalization.md diff --git a/devlog/_plan/260927_directive_marker_bridge/020_wp3_rebuild_and_live_verify.md b/devlog/_fin/260927_directive_marker_bridge/020_wp3_rebuild_and_live_verify.md similarity index 100% rename from devlog/_plan/260927_directive_marker_bridge/020_wp3_rebuild_and_live_verify.md rename to devlog/_fin/260927_directive_marker_bridge/020_wp3_rebuild_and_live_verify.md diff --git a/devlog/_plan/260927_directive_marker_bridge/030_done.md b/devlog/_fin/260927_directive_marker_bridge/030_done.md similarity index 100% rename from devlog/_plan/260927_directive_marker_bridge/030_done.md rename to devlog/_fin/260927_directive_marker_bridge/030_done.md diff --git a/devlog/_plan/260927_release_2680/000_plan.md b/devlog/_fin/260927_release_2680/000_plan.md similarity index 100% rename from devlog/_plan/260927_release_2680/000_plan.md rename to devlog/_fin/260927_release_2680/000_plan.md diff --git a/devlog/_plan/260927_release_2680/010_wp4_blockers_and_tray.md b/devlog/_fin/260927_release_2680/010_wp4_blockers_and_tray.md similarity index 100% rename from devlog/_plan/260927_release_2680/010_wp4_blockers_and_tray.md rename to devlog/_fin/260927_release_2680/010_wp4_blockers_and_tray.md diff --git a/devlog/_fin/260927_release_2680/020_wp5_release.md b/devlog/_fin/260927_release_2680/020_wp5_release.md new file mode 100644 index 00000000000..f7e69660470 --- /dev/null +++ b/devlog/_fin/260927_release_2680/020_wp5_release.md @@ -0,0 +1,45 @@ +# 020 — wp5: release 2.68.0 + +Values for the 2.67.0 procedure: `CAND` = `origin/dev` after wp4 merges; `PV=2.68.0-preview.20260927`; +pre-move `dev-version-bump.yml --ref main -f intended-version=2.68.0 -f mode=pre-move` (dev → 2.69.0); +promotion branches `codex/260927-release-preview-2.68.0` and `codex/260927-release-main-2.68.0` built +with `git merge -s ours` and `scripts/release-version-sources.ts`; merge commits (never squash); push-event +CI and Service lifecycle at both promotion SHAs; `release.yml` preview first, then stable; verify npm +dist-tags, both GitHub releases' assets, and `latest.json` signatures; fast-forward local branches. + +Heuristic CI rule (owner): a failing job blocks only when it reproduces on rerun or its log points at a +change in main..dev. Runner-stall signatures get one job rerun. + +## wp5 P revalidation (2026-09-27) + +- `CAND=f764765c6453a718806d3465ea966015fa233123` (`origin/dev` after #6052). Lane=all run `36294278068` (workflow_dispatch) at CAND. +- `main` `4bc92294aa` (2.67.0, npm latest), `preview` `9c6fb1ee8b` (2.67.0-preview.20260926), `dev` 2.68.0. +- `PV=2.68.0-preview.20260927`. Pre-move: `gh workflow run dev-version-bump.yml --ref main -f intended-version=2.68.0 -f mode=pre-move` + (inputs verified on `origin/main`); its PR must change only the four version sources to 2.69.0. +- `release.yml` inputs verified: `version`, `tag`, `dry-run`, `resume-after-npm-publish`, `expected-sha`. + +## Audit (astra, NEAR-PASS) — folded + +- Order: the 2.69.0 pre-move PR merges before either release dispatch; `CAND` stays pinned before the bump. +- Both promotion branches start at `CAND` and merge their release branch with `-s ours`; `sync "$PV"` only on + preview, `check 2.68.0` on stable; promotion PRs merge with `--merge --match-head-commit`, never squash. +- The heuristic CI rule never waives release gates: push-event `ci.yml` and Service lifecycle must succeed at each + promotion merge SHA. +- Dispatch: `gh workflow run release.yml --ref preview -f version="$PV" -f tag=preview -f dry-run=false -f expected-sha=`; + stable only after the preview run succeeds, `--ref main -f version=2.68.0 -f tag=latest`. +- Verify: `npm view @bitkyc08/opencodex dist-tags --json`; `gh release view ` 25 assets, non-draft, prerelease flags; + `latest.json` 2.68.0 with five signatures. + +## wp5 execution log + +- Pre-move: `dev-version-bump.yml` run `36294309818` success opened #6053 (head `7af8381049`, four version sources + 2.68.0 → 2.69.0 only). Merged by admin as `99d0a9400e` under the owner's heuristic CI rule (workflow-token PR CI + does not start; the diff is the same four lines as every pre-move). +- Promotion: branches built in `/tmp/ocx-rel-2680` from CAND; `release-version-sources.ts check` passed for both; + main tree equals CAND, preview differs only in four version lines. #6054 `preview` merged as `09081803c5`, + #6055 `main` merged as `93f4231e4b` (merge commits, `--match-head-commit`). +- Runner hygiene: PR-event runs on the merged promotion branches and the superseded CAND lane=all run + `36294278068` were cancelled one at a time so the push-event runs on `main` and `preview` could start. + CAND's tree equals #6052's exact head, whose PR CI passed (31 pass, 6 skipped). +- Release gates pending: main CI `36294473376`, main Service lifecycle `36294473362`; preview CI `36294469680`, + preview Service lifecycle `36294469713`. diff --git a/devlog/_fin/260927_release_2680/030_done.md b/devlog/_fin/260927_release_2680/030_done.md new file mode 100644 index 00000000000..ef25119e2a9 --- /dev/null +++ b/devlog/_fin/260927_release_2680/030_done.md @@ -0,0 +1,38 @@ +# 030 — done: 2.68.0 release round + +## Outcome + +2.68.0 shipped from candidate `f764765c6453a718806d3465ea966015fa233123` as preview `2.68.0-preview.20260927` and +stable `2.68.0`. `dev` carries 2.69.0 (#6053). The main..dev regression review found three release blockers; all +were fixed in #6052 before the candidate was cut, together with the Windows/Linux tray parity the owner asked for. + +## Evidence + +- Regression review: seven astra lanes over main..dev (86 commits); dispositions in [000](000_plan.md) and [010](010_wp4_blockers_and_tray.md). +- #6052 exact-head PR CI: 31 pass, 6 skipped; merged as `f764765c64`. Its tree is the candidate. +- Promotion: #6054 `preview` `09081803c5`, #6055 `main` `93f4231e4b` (merge commits). +- Release-branch CI: preview Cross-platform CI `36294469680` (23 success, 5 skipped) and Service lifecycle `36294469713`; + main Cross-platform CI `36294473376` (23 success, 5 skipped) and Service lifecycle `36294473362`. +- Release runs: preview `36295546215` success (14/14), stable `36296387672` success (14/14). +- GitHub releases: `v2.68.0` (25 assets, prerelease false, target `93f4231e4b`) and `v2.68.0-preview.20260927` + (25 assets, prerelease true, target `09081803c5`). `latest.json`: 2.68.0 with signatures for darwin-aarch64, + darwin-x86_64, windows-x86_64, linux-x86_64 and linux-x86_64-deb. +- npm: `preview` = `2.68.0-preview.20260927` after registry propagation; the stable publish was acknowledged with + provenance and `latest` is checked again after propagation (the preview took about ten minutes). + +## Release-note items + +- Codex App inline visualizations work with every routed model (#6040, #6045). +- Windows/Linux tray: provider marks, 70%/90% quota colors, and switching the active account (#6052). +- Remote Link: Home-initiated links keep 2.67.0 forwarding; Child-initiated links require the tunnel ownership proof. +- Kiro: account model discovery, quota metrics, device login, concurrency caps, 1M GPT-5.6 context windows; failed + discovery backs off. +- Items listed by the review lanes in [000](000_plan.md) (combo cooldowns, stall defaults, desktop title strip, and others). + +## What did not go to plan + +- The first candidate lane=all run failed `test 2/4` on a batch timeout whose files all passed alone (runner stall); + it and the second candidate run were superseded or cancelled to free macOS runners. The candidate's tree was + covered by #6052's exact-head CI and by the push-event CI on both promotion commits. +- The pre-move PR (#6053) was merged without PR CI under the owner's heuristic rule; workflow-token PRs do not start CI. +- A 2.67.0-era Child join whose sidecar was deleted before its first 2.68.0 start still forwards like 2.67.0 (owner decision). diff --git a/devlog/_plan/260927_release_2680/020_wp5_release.md b/devlog/_plan/260927_release_2680/020_wp5_release.md deleted file mode 100644 index 2a79bda6dd5..00000000000 --- a/devlog/_plan/260927_release_2680/020_wp5_release.md +++ /dev/null @@ -1,11 +0,0 @@ -# 020 — wp5: release 2.68.0 - -Values for the 2.67.0 procedure: `CAND` = `origin/dev` after wp4 merges; `PV=2.68.0-preview.20260927`; -pre-move `dev-version-bump.yml --ref main -f intended-version=2.68.0 -f mode=pre-move` (dev → 2.69.0); -promotion branches `codex/260927-release-preview-2.68.0` and `codex/260927-release-main-2.68.0` built -with `git merge -s ours` and `scripts/release-version-sources.ts`; merge commits (never squash); push-event -CI and Service lifecycle at both promotion SHAs; `release.yml` preview first, then stable; verify npm -dist-tags, both GitHub releases' assets, and `latest.json` signatures; fast-forward local branches. - -Heuristic CI rule (owner): a failing job blocks only when it reproduces on rerun or its log points at a -change in main..dev. Runner-stall signatures get one job rerun.