Skip to content

promote: 0.23.1 to prod (blob8 telemetry fix + version bump)#133

Merged
klappy merged 4 commits into
prodfrom
main
Apr 22, 2026
Merged

promote: 0.23.1 to prod (blob8 telemetry fix + version bump)#133
klappy merged 4 commits into
prodfrom
main

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented Apr 22, 2026

Promotion Scope

Promotes oddkit 0.23.1 to prod.

File Change
workers/src/telemetry.ts +24 / -3 (PR #131 — blob8 fix + duration_ms docstring)
CHANGELOG.md +18 / -0 (PR #132 — backfill 0.23.1 entry)
package.json +1 / -1 (PR #132 — version bump)
workers/package.json +1 / -1 (PR #132 — version bump)
fbe51e4616  fix(telemetry): blob8 falls back to BUILD_VERSION; clarify duration_ms semantics
44c3ec2ce4  Merge pull request #131
130cf91ddc  chore: release 0.23.1 — backfill CHANGELOG, bump version
615aed2cd0  Merge pull request #132

What this ships to prod

  • blob8 fix: telemetry's worker_version falls back to BUILD_VERSION (from workers/package.json) instead of the literal "unknown". Cloudflare auto-deploy doesn't run npm run deploy, so env.ODDKIT_VERSION is undefined under the canonical deploy path — this fixes 100% of prod telemetry which has been logging "unknown" for blob8 for the entire production history.
  • duration_ms docstring expansion: disambiguates telemetry's full-wall-clock measurement from per-action debug.duration_ms envelope field.
  • Version bump: 0.23.0 → 0.23.1 (patch — telemetry instrumentation fix, no API/behavior change per SemVer).

No behavior change to MCP request/response. Telemetry value semantics change: blob8 will report real semver (0.23.1 after this lands) instead of "unknown".

Release Validation Gate Status

Per klappy://canon/constraints/release-validation-gate:

Rule 1 — No merge with active reviews ✅

PR #131 (code):

  • All checks completed on head SHA fbe51e4616: Workers Builds, Cursor Bugbot, Version Sync, Test CF Preview, Creed Freshness — all success.
  • Bugbot conclusion: clean, zero findings.

PR #132 (release metadata):

  • All checks completed on head SHA 130cf91ddc: same suite, all success.
  • Bugbot conclusion: clean, zero findings.

Rule 2 — Independent fresh-context validation ✅

Rule 3 — Canon wins over session artifacts ✅

Post-promotion verification

24h after this lands on prod, run:

SELECT blob8 AS worker_version, SUM(_sample_interval) AS calls
FROM oddkit_telemetry WHERE timestamp > NOW() - INTERVAL '1' DAY
AND blob1 = 'tool_call' GROUP BY worker_version ORDER BY calls DESC;

Expected: worker_version shows 0.23.1, NOT "unknown". If it still shows "unknown", the fix didn't ship correctly and we have a regression to investigate.

Carry-forward (non-blocking)

Refs

  • Code PR: #131
  • Chore PR: #132
  • Validator session: sesn_011CaHXQGvRSKZvoRUNauwxv

Note

Low Risk
Low risk: changes are limited to telemetry metadata/version reporting and release bookkeeping, with no request/response behavior changes.

Overview
Promotes release 0.23.1 by bumping versions and adding a changelog entry.

Fixes Analytics Engine telemetry so blob8 (worker_version) falls back to a build-time BUILD_VERSION read from workers/package.json when env.ODDKIT_VERSION is unset (e.g., Cloudflare GitHub auto-deploy), replacing the previous literal "unknown" fallback, and expands the schema comments for blob8 and double2 (duration_ms) to clarify their semantics.

Reviewed by Cursor Bugbot for commit 615aed2. Bugbot is set up for automated code reviews on this repo. Configure here.

Klappy via Claude and others added 4 commits April 21, 2026 17:49
…s semantics

blob8 (worker_version) was logging as the literal 'unknown' for 100% of
tool calls in production. Root cause: env.ODDKIT_VERSION is only injected
by 'npm run deploy' via --var, but Cloudflare's auto-deploy from GitHub
invokes wrangler directly from wrangler.toml and never executes the deploy
script. Other sites (index.ts, orchestrate.ts) already fall back to
pkg.version; telemetry.ts was missed.

Fix: import pkg from ../package.json (mirroring index.ts pattern), define
BUILD_VERSION = pkg.version, use it as the fallback. Telemetry now reports
a real semver under the canonical deploy path.

Also clarifies the duration_ms docstring. The schema previously said
'request processing time (measured by caller)' which under-described the
measurement. The value is full MCP request wall-clock measured at the
worker edge — V8 cold-start, KB fetch, MCP SDK overhead, action handler
compute, all included. This is NOT the per-action debug.duration_ms in
tool envelopes (which measures only the action handler's internal
compute). The discrepancy explains why telemetry shows oddkit_time avg
269ms / max 9362ms while debug.duration_ms reports near-zero.

No behavior change to duration_ms measurement. Documentation only.

See: klappy://canon/constraints/telemetry-governance
Bumps root and workers package.json from 0.23.0 to 0.23.1 (patch — telemetry
instrumentation fix, no API or behavior changes per SemVer).

Backfills CHANGELOG with PR #131 entry: blob8 (worker_version) telemetry
fallback fix and duration_ms docstring expansion.

This is the version-bump commit that conventionally accompanies a
main → prod promotion in oddkit (see precedent: PR #128 for 0.22.0,
PR #130 for 0.23.0). The promotion PR for 0.23.1 will be opened from
this branch to prod.

Refs:
- PR #131 (the actual fix)
- klappy://canon/constraints/release-validation-gate (validator dispatched
  on PR #131 head SHA fbe51e4, 5-corroboration verdict effective PASS)
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
oddkit 615aed2 Commit Preview URL

Branch Preview URL
Apr 22 2026, 12:04 AM

@klappy klappy merged commit e6734b1 into prod Apr 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant