Skip to content

contracts: pin the CLI contract from InferenceInfra's live line (codex kept) - #213

Merged
shubhammalhotra28 merged 1 commit into
mainfrom
chore/contracts-live-line
Oct 19, 2026
Merged

shubhammalhotra28 merged 1 commit into
mainfrom
chore/contracts-live-line

Conversation

@shubhammalhotra28

@shubhammalhotra28 shubhammalhotra28 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

contracts: pin the CLI contract from InferenceInfra's live line (codex kept)

#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 :

  • 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.

cc @sanchitmonga22: this supersedes #198's staging pin while the CLI talks to the live API.

🤖 Generated with Claude Code


Summary by cubic

Re-pins the CLI contract to InferenceInfra's live line instead of staging, silencing stale-pin reports on InferenceInfra's release train while keeping the codex harness.

The CLI talks to inference.runanywhere.ai, which runs InferenceInfra main, but #198's pin came from staging. This re-syncs from fix/codex-harness-live (3fb1fd00) and drops what the live API doesn't have: 30 staging-only ApiErrorCode values, the x-request-id header on the models listing response, and the cancel endpoint's 429. No code outside the generated console_contract.rs uses a dropped variant.

Migration

  • Merge before the InferenceInfra PR, whose consumer-impact gate compares against this repo's main pin.
  • Re-pin from staging once release 2 reaches production.

Written for commit 0adcb12. Summary will update on new commits.

View guided diff Turn on auto-fix

InferenceInfra PR (merge after this): https://github.com/RunanywhereAI/InferenceInfra/pull/5391

Summary by CodeRabbit

  • API Contract Updates
    • Removed 30 obsolete API error codes from the CLI contract.
    • Unknown values for removed error codes now return parsing errors.
    • Updated model reasoning documentation and clarified the console identity provider.
    • Removed the documented request ID header from successful model-list responses.
    • Updated cancellation documentation to describe direct node cancellation only.
    • Removed the custom 429 response documentation for cancellation requests.

…x kept)

#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>
@shubhammalhotra28
shubhammalhotra28 requested a review from a team as a code owner October 19, 2026 23:48
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2f4f32f0-d976-4fe7-b649-35fed600ec08
📥 Commits

Reviewing files that changed from the base of the PR and between 6c5b5fe and 0adcb12.

📒 Files selected for processing: 2
  • contracts/wally-cli-v1.openapi.json
  • src/account/console_contract.rs

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

📝 Walkthrough

The CLI OpenAPI contract removes obsolete error codes and updates endpoint descriptions and response declarations. The Rust contract removes the corresponding error-code variants and mappings and uses the updated contract digest.

Changes: CLI contract synchronization

Layer / File(s) Summary
OpenAPI contract updates
contracts/wally-cli-v1.openapi.json
The contract removes error codes, revises endpoint descriptions, removes response declarations, and updates source metadata.
Rust error-code contract synchronization
src/account/console_contract.rs
The Rust contract updates its digest and removes error-code variants and their serialization and parsing mappings. Removed codes now reach the existing unknown-code error.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: sanchitmonga22

Merge Risk: ⚪ Minimal · up to 0adcb

The CLI contract and generated binding are aligned. No identified issue prevents merging after normal checks.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the main change: pinning the CLI contract to InferenceInfra's live line while preserving codex support.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@shubhammalhotra28
shubhammalhotra28 merged commit 9cb5d0b into main Oct 19, 2026
9 checks passed
@Siddhesh2377 Siddhesh2377 mentioned this pull request Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants