Repository navigation
Re-measure conformance against cel-go v0.33.1 - #10
Merged
3 commits merged intoOct 29, 2026
Merged
3 commits merged into
3 commits merged into
Conversation
Every pin in the tree -- go.mod, the compose and Dockerfile images, the action SHAs, pg_tle -- has so far been bumped by hand, which in practice means not bumped. Renovate watches all of them on a weekly schedule, keeps go.sum tidy, and groups the noisy updates (action SHAs, image digests, golang.org/x) so review stays cheap. cel-go and PostgreSQL majors get a note in their PR body rather than a routine path: cel-go is the conformance oracle and CLAUDE.md keeps it exactly pinned, so its bump has to be a deliberate re-measurement with oracle.Version moved alongside. pg_tle is pinned as an ARG Renovate cannot see, so a regex manager tracks it in the Dockerfile and the install guide together.
The reference moves to the current cel-go release so the next cel4postgres release is measured against what upstream ships. The full suite and the unknowns suite pass unchanged, and the report's divergences are the same ten as under v0.32.0; the three documented in CONFORMANCE.md were re-run and still hold. v0.33.0 grew three of the libraries the oracle enables unversioned: lists 5 (hasOnly, hasAny, hasAll, hasExactly), encoders 2 (base64.encodeUrl/decodeUrl, json and yaml) and optionals 3-4 (optional.hasValue, single-evaluation optMap/optFlatMap). sql/ does not register any of those, so the oracle pins each library to the version sql/ implements; otherwise the reference env would silently widen on every bump and stop matching the env it is compared with. The cel-spec corpus stays at v0.25.3, still its latest release.
The pin moved with a re-measurement behind it; the sentence that names it has to move too, or CLAUDE.md disagrees with go.mod and oracle.Version on the one fact it insists stays exact.
649eee0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #8. Merge #8 first, then this one. Until #8 lands, the
diff here also includes #8's commit.
Moves the reference implementation from cel-go v0.32.0 to v0.33.1 as
a deliberate re-measurement, following CLAUDE.md's oracle rules.
Pins
cel.dev/cel-go(go.mod +internal/oracle.Version)ci.yml+internal/corpus.Pin)ba58ae50…cel.dev/exprMeasurement
go test ./...: all packages pass on a fresh install, includingthe conformance suite and the unknowns suite. Run 1841, passed
1841, failed 0, skipped 667 (same named skip lists), 10
divergences. Every count matches v0.32.0, and the regenerated
docs/conformance-report.*differ only in the cel-go version line.docs/CONFORMANCE.mdunder v0.33.1 and they still hold:
{0: 1, 0u: 2}returns a map,getMilliseconds()returns the total (123321), andparseIPAddrrejects both IPv4-mapped forms.
changelog agree between cel-go and cel4postgres: newlines inside
single-quoted string literals, trailing commas in calls, lists and
maps, and timezone-offset range errors. The new Pratt parser and the
legacy timestamp parsing are opt-in in cel-go and stay off.
Oracle library pins
v0.33.0 added functions to three libraries the oracle used to enable
unversioned:
hasOnly,hasAny,hasAll,hasExactlybase64.encodeUrl/decodeUrl,json.*,yaml.*optional.hasValue(v)and the single-evaluationoptMap/optFlatMapexpansionsql/registers none of them.internal/oracle/options.gonow pinsListsVersion(4),EncodersVersion(1)andOptionalTypesVersion(2),which are exactly the surface cel-go v0.32.0 had. Without these pins
the reference env would quietly grow on every bump and stop matching
the env it is compared with. Implementing the new functions is
follow-up work.
SQL
No change to
sql/. Release artifacts stay byte-identical apart fromthe version number in #9.
The CLAUDE.md pin sentence is updated in its own commit.