From bee6262555316b5e4d14956848b6113346c5c789 Mon Sep 17 00:00:00 2001 From: bitkyc08-arch Date: Mon, 31 Aug 2026 13:15:08 +0900 Subject: [PATCH] docs(devlog): record the v2.37.0 release and the live #3022 verification The 5.6 fix is published and proven on the installed runtime rather than only in CI. npm latest is 2.37.0 with gitHead 54e2274cf, and the tag, GitHub release and main all point at that same commit. Both required gates passed on that exact SHA as push events. Two things in the release path are worth writing down because both would have let a "released" claim stand on nothing. bun add -g reused a cached 2.37.0 built the previous day, before the fix existed. The version string matched and the bytes did not, so the only check that settles it is grepping the installed file. --force fixed it. The running proxy was serving the primary checkout, which sat four commits behind dev while /healthz reported version 2.37.0. So the health endpoint agreed with the release and the code did not. Fast-forwarded and restarted onto the global install. On that runtime, ocx models live lists sol, terra and luna as native/enabled, and /v1/models, /api/models and ocx export all carry them. That also confirms the warm path for the three surfaces #3023 names, which scopes the remaining wp6 work to TTL expiry rather than to the rows themselves. --- .../070_outcome.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/devlog/_plan/260831_prio70_entitlement_and_spill_train/070_outcome.md b/devlog/_plan/260831_prio70_entitlement_and_spill_train/070_outcome.md index b9e29f74e4..652272a303 100644 --- a/devlog/_plan/260831_prio70_entitlement_and_spill_train/070_outcome.md +++ b/devlog/_plan/260831_prio70_entitlement_and_spill_train/070_outcome.md @@ -107,3 +107,38 @@ genuine stable-fixed-point loop, `B=5000`/`R=4000` with the fallback receiving i reserved slice, and the shared ACL deadline reaching both hardeners. The review found one high defect: supersession reaches the state tracking but not the writer, so an abandoned writer can still publish to the filesystem and orphan a temp. Sent back. + +## v2.37.0 released — #3022 verified live + +The 5.6 fix is published and proven on the installed runtime, not just in CI. + +- npm `@bitkyc08/opencodex@2.37.0` on `latest`; `gitHead` = `54e2274cff231631c0ea2ff12574ff03829d5fe6` +- tag `v2.37.0` and the GitHub release both point at that same commit +- `main` = `54e2274cf` (promotion PR #3037), `dev` = `4180067b4` and an ancestor of it + +Both required gates passed on the exact release SHA as push events: Cross-platform CI +and Service lifecycle. `enforce-target` fails on any promotion by construction — +`ALLOWED_BASES` is `["dev"]` — which is why #3002 (v2.36.0) merged in the same state. + +Release-path proof, in order: + +1. The published tarball carries both changes: + `MEASURED_GATED_CLIENT_VERSION_MINIMUM = "0.144.0"` at `:88` and + `const usable = models !== null && models.size > 0` at `:472`. +2. The global install had to be forced. `bun add -g` reused a cached 2.37.0 from + Aug 30 that predated the fix — same version string, old bytes. Worth remembering: + a version match is not a content match, and `grep` on the installed file is the + check that actually settles it. +3. The running proxy was serving the primary checkout, which sat 4 commits behind + `dev` while reporting `version: 2.37.0`. So `/healthz` agreed with the release + and the code did not. Fast-forwarded the checkout and restarted onto the global + install (PID 57341, `~/.bun/install/global/.../@bitkyc08/opencodex`). +4. On that runtime: `ocx models live --provider openai` lists `gpt-5.6-sol`, + `-terra` and `-luna` as native/enabled; `/v1/models` returns all three; + `/api/models` and `ocx export --client opencode --json` carry them too. + +That last point matters beyond #3022: the three surfaces #3023 names were checked on +a warm roster and all carry the gated rows. #3023 is about what happens once +`MODEL_ROSTER_TTL_MS` expires, so this is not a NOOP for it — but it does confirm +the warm path is intact and the wp6 work is scoped to expiry, not to the rows +themselves.