Skip to content

[codex] Add remote provider compatibility map#2642

Draft
juliusmarminge wants to merge 1 commit into
mainfrom
t3code/290bc166
Draft

[codex] Add remote provider compatibility map#2642
juliusmarminge wants to merge 1 commit into
mainfrom
t3code/290bc166

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented May 11, 2026

What changed

  • Added provider compatibility advisory contract fields, including supported/broken/graceful status, severity, recommended range, and recommended version.
  • Added a bundled fallback compatibility document and a checked-in provider-compatibility.v1.json intended for GitHub raw hosting.
  • Added best-effort remote compatibility map enrichment with timeout, TTL cache, schema validation, and bundled fallback behavior.
  • Wired compatibility enrichment into provider snapshot background enrichment for Codex, Claude, Cursor, and OpenCode.
  • Surfaced provider compatibility warnings in the provider settings UI with a warning/error popover.

Why

Released T3 Code builds need compatibility policy updates without requiring users to update the app. This lets maintainers update a static GitHub-hosted map to mark provider harness versions as supported, graceful, unsupported, or broken for specific T3 Code release ranges.

Validation

  • bun fmt
  • bun lint (passes with existing unrelated warnings)
  • bun typecheck
  • bunx vitest run packages/contracts/src/server.test.ts apps/server/src/provider/providerSnapshot.test.ts apps/server/src/provider/providerCompatibility.test.ts apps/web/src/components/settings/providerStatus.test.ts

Note

Add remote provider compatibility map with bundled fallback for Codex driver

  • Adds a provider-compatibility.v1.json document defining compatibility ranges for the codex driver, marking versions <0.129.0 as broken and >=0.129.0 as supported.
  • Introduces enrichProviderSnapshotWithCompatibilityAdvisory in providerCompatibility.ts, which fetches a remote compatibility document (with TTL caching and timeout) and falls back to the bundled map on failure.
  • Applies bundled compatibility advisory synchronously in buildServerProvider so snapshots carry a compatibilityAdvisory and adjusted status/message before any async enrichment runs.
  • Wires the async enrichment step into the Claude, Codex, OpenCode, and Cursor provider drivers.
  • Surfaces compatibility advisories in ProviderInstanceCard.tsx as an alert icon with a severity-styled popover; supported advisories are hidden.
  • Extends the ServerProvider contract schema with an optional compatibilityAdvisory field.

Macroscope summarized 3dd0567.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 35282821-3c59-49c4-bf6a-e7f08c9db172

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/290bc166

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

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant