fix(control-plane): forward usage.list arguments by keyword - #24
Merged
Conversation
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.
Note: this PR was drafted by Claude via back-and-forth with @njbrake. The reasoning and decisions are his; the prose is Claude's.
Unblocks CI, which is currently failing on
mainas well as on the open SDK regen PR (mozilla-ai/otari#438). Three independent fixes:usage.listnow forwards by keyword. The regenerated core inserts 11 query-filter params intolist_usage_v1_usage_getbetweenuser_idandskip. The positional call silently boundskiptostatusandlimittostatus_code; strict mypy catches it, but untyped callers would not. Behavior on the current core is unchanged, so this is safe to land ahead of the regen. Added a test that pins keyword delegation.Dropped an unused
# noqa: S310. ruff 0.16 no longer flags that call, soRUF100fails the lint step. This was masking the mypy error above, since Lint runs before Type check in the same job.Endpoint-coverage manifest. The gate fetches otari
main's live spec at test time, so it re-evaluates every run; 26 endpoints added since the manifest was last touched were in neither section. All 26 go under[excluded]: session auth and OTLP ingest with permanent reasons, the other 22 as# not yet wrapped. Kept identical across all four SDKs.Note: 17 other aliases (
list_keys,list_users,list_budgets,list_pricing) still delegate positionally and carry the same latent bug if those endpoints gain filters. Left alone here to keep the change targeted.