fix: align Classic models with the current public contract - #58
Merged
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.
Current Classic responses and metric-creation payloads no longer match the SDK's tracked models. Refresh the committed schema from
https://api.amigo.ai/v1/openapi.jsonand regenerate the models so agent-version responses do not require a removed ID, metric creation accepts the initial-version payload, and current model identifiers deserialize.The previous branding postprocessor fails after those fields disappear from the public schema. Retain the already-public optional branding attributes only on the organization response model, without relaxing similarly named fields elsewhere. Configure code generation to use enum members for defaults so the generated query model passes type checking.
The schema refresh also reflects retired tool routes and other removed response fields. This updates the supported contract; it does not implement new backend capabilities. Package publication and upgrade version selection remain separate from this source fix.
Validation: model generation, Ruff lint and formatting, mypy, 200 unit tests passed (8 skipped, 40 integration cases deselected), 88.46% coverage, wheel and source-package build. Added regressions for agent-version response parsing, metric creation, and current model IDs. Provisioned integration behavior was not tested locally.
CI result: Python 3.11/3.12 test jobs pass; Python 3.13 completes tests/type checks but fails the Codecov uploader's GPG-key/signature download verification. The separate integration job fails DNS resolution during API-key exchange. A rerun reproduced both external failures. Signature verification and integration failures remain visible; no bypass or weakened check was introduced. CodeQL passes. Required owner review and these CI blockers remain outstanding.
Release status (September 8, 2026 UTC): Merged and published as Classic Python 2.0.0. The pinned Codecov 7.0.0 action fixes the old signing-key download, and release tests pass on Python 3.11–3.13. PyPI wheel and sdist publication and clean installed model parsing pass. The separate informational integration job still fails DNS resolution for its configured test host.