Repository navigation
contracts: sync the CLI contract from InferenceInfra staging (release 2's contract family and the codex harness) - #198
Conversation
… 2's contract family and the codex harness)
Regenerated with the repo's own tool, nothing hand-edited:
python3 contracts/sync_from_inferenceinfra.py --from <InferenceInfra @ 78fbc52a76, branch mig/devsync/wally-pin-source>
The source is InferenceInfra staging plus the contract changes release 2 carries (the reasoning levels, the decision and chat image
contracts, the chat image family) plus the codex harness (InferenceInfra #4854). Every difference from the previous pin is additive:
- ApiErrorCode gains 30 values staging added (organisations, operator and price-version errors).
- Harness gains codex (append-only).
- The models response declares the x-request-id header; the cancel operation declares its 429 with Retry-After.
- The ModelReasoning description now cites InferenceInfra's docs/reference/models.md. No schema of #4768's pin changes.
- The decisions contract (wally-decisions-public-v1) is unchanged: it already equals the source's.
console_contract.rs is regenerated from the extract (CONTRACT_SHA256 moves). No CLI code reads the new values.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Main moved by four commits (release 0.8.8); none touches the two generated contract files or the decisions pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…x kept) RunanywhereAI#198 re-synced this pin from InferenceInfra staging (release 2's contract family and the codex harness). The CLI talks to inference.runanywhere.ai, which runs InferenceInfra main (promoted from development), and that line lacked codex. So every development change to control-plane-v1 now reports "Wally main pin is stale" on InferenceInfra's release train (run 39342073419, "downstream contract freshness / Wally main vs this control-plane"). InferenceInfra fix/codex-harness-live (3fb1fd00) ports the codex harness to the live line. This re-syncs from it with contracts/sync_from_inferenceinfra.py --from <that checkout>: - Harness keeps codex (KCodex <-> "codex"). - Dropped relative to the staging pin, because the live API does not have them: 30 staging-only ApiErrorCode values (organization, invitation, partner and release-2 operator codes), the `x-request-id` header on the models listing response, and the cancel endpoint's 429. A grep of src/ outside the generated console_contract.rs finds no use of any dropped variant. - sync_from_inferenceinfra.py --check: "Wally CLI lock OK (3fb1fd00, fix/codex-harness-live)"; decisions_contract.rs matches its pin. A local `cargo check` could not run: build.rs needs a CMake/Ninja native toolchain this machine lacks. This change touches only the generated binding; CI compiles it. Merge this before the InferenceInfra PR (its consumer-impact gate compares against this repo's main pin). When release 2 (staging) becomes production, re-pin from that line again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Syncs the CLI contract pin from an InferenceInfra commit that holds staging plus release 2's contract changes plus the codex harness (InferenceInfra #4854). Merge this before #4854 reaches the start train: #4854's
consumer-impactjob stays red until Wallymaincarries this pin. The previous attempt at it, #158, is closed and unmerged.What changed
Both files are generated by the repo's own tool; nothing is hand-edited:
The source commit is
78fbc52a76on the InferenceInfra branchmig/devsync/wally-pin-source(pushed so the stamp names a commit anyone can fetch). It isstaging(bc48453f13) merged with the end of the release 2 chat image family (5376a6b0b0, which carries the reasoning levels #4840, the image contracts #4863 and the chat image pull requests) and with #4854 (6f5d334646).Every difference from the current pin is additive:
ApiErrorCodegains 30 values that InferenceInfra staging added (organisations, operator and price-version errors).Harnessgainscodex(append-only; this is what #4854 adds).x-request-idheader; the cancel operation declares its429withRetry-After.ModelReasoning's description cites InferenceInfra'sdocs/reference/models.md. No schema of the #4768 pin (contracts: sync the CLI contract from InferenceInfra #4768 (model reasoning object) #195) changes.fix/reasoning-budgettomig/devsync/wally-pin-source.src/account/console_contract.rsis regenerated from the extract (CONTRACT_SHA256moves). No CLI code reads the new values.The decisions contract (
wally-decisions-public-v1.openapi.json) is unchanged: it already equals the source's, sodecisions_contract.rsdoes not move.Checks run locally
tests/test_contract_sync.py(OK),generate_console_binding.py --check(matches),sync_from_inferenceinfra.py --check(Wally CLI lock OK (78fbc52a, mig/devsync/wally-pin-source, ...)).tests/test_versions.py(OK).cargo check --locked --all-targets(exit 0),cargo clippy --locked --all-targets -- -D warnings(exit 0) andcargo fmt --check(exit 0).check --all-targetscompiles every test target against the regenerated binding, so no match onApiErrorCodeorHarnessis left non-exhaustive. The build used placeholder console endpoints (https://console-api.invalid,https://console.invalid) in the environment, no.env.cargo test/ctest. On this host the test binaries fail to link (undefinedBrotli*symbols; the cmake build the CI uses supplies them), which is the host, not the diff: it touches only the two generated files. CI'sctestis the check that runs them.Against InferenceInfra's gate
contracts/check_consumer_impact.py --against-wally-pin --head <the source commit>with this tree as--wally-repo:consumer-impact: none(exit 0)main6e4009badbfe -> ef52e0dcf18f(exit 1)The pin equals InferenceInfra staging after release 2 plus #4854. It does not equal staging today (the reasoning levels and image contracts are still in review there), so InferenceInfra pull requests that land before release 2 will still see the job red. The start train is the first place it is meant to be green. If the contract set in staging differs when that train starts, the command above re-syncs it; it is deterministic.
Overlap with open PRs
None of the open PRs (#196, #166) touches the generated files.
Merge order
Runanywhere-monorepo is also reached by the same InferenceInfra changes (its pins are not read by the staging gate; a warning only).
🤖 Generated with Claude Code
Summary by cubic
Synced the CLI contract pin to InferenceInfra staging commit
d7e2304d, which carries release 2's contract family and the codex harness. All differences from the previous pin are additive, so no current CLI behavior changes.ApiErrorCodegains 30 values;Harnessgainscodex.x-request-id; the cancel operation declares its429withRetry-Afterand documents pull-mode cancellation.78fbc52asource; amainmerge (release 0.8.8) touched no generated files.Merge this before InferenceInfra #4854 reaches the start train; its
consumer-impactcheck stays red until this pin lands.Written for commit 45824cb. Summary will update on new commits.
Summary by CodeRabbit