chore(api): bump to 4.35.0 - #22
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e2d49dc00b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "ref": "v4.16.0", | ||
| "commit": "12453aab35d43f1f5254571c95e456a03cf6a4ca", | ||
| "sha256": "9ba51a22782a481ee2bf57513541a2bc3df1388e8d2c5c5a081f3a8e7e08366d", | ||
| "version": "4.35.0", |
There was a problem hiding this comment.
Keep the existing 4.16 contract bundled
Replacing the 4.16.0 catalog entry makes the next CLI release reject every existing invocation using the documented exact selector --api-version 4.16.0: scripts/build.ts derives the distributable contract catalog solely from this list, and resolveContractVersion reports an exact version missing from that catalog as unknown. Add 4.35.0 alongside 4.16.0 rather than removing the previously released contract.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Looks good — a mechanical spec bump plus a small, well-tested sampling fix.
What was reviewed:
- Verified
conformance/catalog.json's new sha256 matchessha256sum conformance/specs/4.35.0/openapi.ymland the README's 117-operation count matches the actualoperationId:count in that spec. - Checked
sampleFromSchema's new oneOf branch-selection (pick fewest required fields) against the new unit test's overlapping-branch case, including double-checking it doesn't accidentally satisfy the higher-requirement branch too. - Confirmed the new heuristic, though it applies to all 6 pinned specs'
oneOfusages (not just the new 4.35.0 case), can't break the checked-in goldens sincegoldens/*.jsononly pins the command surface (operationId/resource/action), not sampled request bodies.
Extended reasoning...
Overview
This PR bumps the pinned Langfuse OpenAPI conformance spec from 4.16.0 to 4.35.0 (spec/golden/catalog/README regeneration) and fixes sampleFromSchema's oneOf handling in conformance/src/schema.ts to pick the branch with the fewest required properties instead of always the first expanded branch, adding a targeted unit test.
Security risks
None. This is test/tooling infrastructure only (no production code paths, auth, or crypto touched). The new spec file is a downloaded, checksum-verified third-party OpenAPI document.
Level of scrutiny
Moderate scrutiny is warranted since a logic change to shared sampling code affects conformance runs across all 6 pinned spec versions, not just the new one. I verified the mechanical parts (checksum, operation counts) match exactly, and worked through the new heuristic and test case by hand to confirm the sort produces a schema-valid sample and doesn't accidentally satisfy multiple oneOf branches. I also traced through goldens.ts to confirm the checked-in golden fixtures only pin command-surface metadata (operationId/resource/action), not generated request bodies, so this sampling change cannot silently invalidate the other 5 pinned specs' committed goldens even though it changes behavior for their oneOf schemas too.
Other factors
The change is small, self-contained, and backed by a new unit test that additionally cross-checks the result with validateSchemaCases. No bugs were reported by the automated hunt, and the one candidate issue considered (the heuristic being global rather than scoped to the new overlapping case) was resolved by reasoning about how goldens are structured, so it doesn't block approval.
No description provided.