Repository navigation
Conversation
Allow only the four known GET search operations to publish maximum 100 when their baseline limit schema contains the legacy lte 100 typo. Keep other parameter restrictions and mixed breaking changes blocking. Co-authored-by: openhands <openhands@all-hands.dev>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
HUMAN:
AGENT:
Why
OpenHands#4991 fixes
Query(lte=100)toQuery(le=100)on four paginated search endpoints. These handlers already rejected limits above 100 with assertions. The change publishes the existing bound and returns 422 for oversized requests.oasdiff 1.19.1 reports this as
request-parameter-max-setwarnings. Althoughoasdiff --fail-on ERRexits 0, our wrapper rejects the unrecognized changes.This follows the targeted exception pattern used for the VS Code documented default in OpenHands#4213, cloud-proxy removal in OpenHands#3687, and MCP schema repairs in OpenHands#4229.
Summary
limitquery parameter gainingmaximum: 100on GET conversation search, conversation event search, bash event search, and subdirectory search.lte: 100with no existingmaximum.Issue Number
Related to OpenHands#4991. Prepared as a separate PR against upstream main at
76e9e250, to merge before OpenHands#4991 updates its checker.GitHub denied upstream PR creation with
403 — Resource not accessible by integration. This draft targets an exact mirror of that main commit so the diff contains only the checker exception and tests. Open the branch as an upstream PR.How to Test
uv run python -m pytest -q -o addopts='' tests/cross/test_check_agent_server_rest_api_breakage.py uv run pre-commit run --files .github/scripts/check_agent_server_rest_api_breakage.py tests/cross/conftest.py tests/cross/test_check_agent_server_rest_api_breakage.pyResults: 53 passed; all changed-file pre-commit hooks passed.
Also ran the full checker with real generated OpenAPI schemas and the workflow-pinned oasdiff 1.19.1, comparing against the released v1.47.0 tag:
76e9e250d390bed7d390bed7The successful OpenHands#4991 run emitted the repair notice for exactly the four search endpoints. Existing handling of the release-baseline
modify_paramsremovals already allows those entries.For this local comparison, baseline selection was pinned to the published v1.47.0 release because the PyPI metadata lookup intermittently timed out; baseline generation was made to fail hard rather than skip. Schema generation and oasdiff output were real.
Exact comparison harness
Run this in each checkout, with oasdiff 1.19.1 on PATH. For the combined case, apply this PR’s checker change to OpenHands#4991 first.
Video/Screenshots
Not applicable; checker exit codes and reproduction above.
Design Doc
The scope and rationale are documented above.
Type
Notes
The exception depends on historical
lte: 100metadata. Once the baseline publishes a normal maximum, it cannot qualify for this exception.