← Setup and compatibility guide

Preview · contract version 2026-09-10.2

Offline migration preflight

Find incompatible parameters, model mappings and known translation gaps before you switch endpoints. This is a local config check, not a credential validator, live benchmark or automatic migration.

Check a redacted configuration

Analysis happens in this browser only. Do not paste real keys. Use environment placeholders such as $SOURCE_API_KEY, redact private content first, and keep your original config locally. The input is cleared after analysis; neither input nor report is stored or sent by this workflow.

Versioned preflight cohort

Generated from the bundled catalog and source-contract exclusions. No live provider certification.
ModelTextStreamToolsInline visionJSON objectStrict schema
routexor/gpt-4.1-miniChecked subsetChecked subsetChecked subsetChecked subsetChecked subsetChecked subset
routexor/claude-haiku-4.5Checked subsetChecked subsetChecked subsetChecked subsetExcludedChecked subset
routexor/gemini-2.5-flash-liteChecked subsetChecked subsetExcludedChecked subsetChecked subsetChecked subset

What this preview excludes

The first cohort checks direct Chat Completions on the three IDs shown above. Strict JSON schemas have a separate bounded nonstreaming, pinned, text-only contract; the matrix does not certify every combination. Messages migration analysis, Responses, reasoning/cache controls, routing/fallback policies, ensembles, shadows, agent-run configuration, custom endpoints and arbitrary headers are not accepted by this preflight. Some exist elsewhere in Routexor; exclusion here is not an API implementation claim.

Google tool round trips and thought signatures are excluded. Vision checks accept supported inline base64 images, not remote URLs or file references. Tool parameter schemas receive shape checks, not semantic certification. Catalog data is bundled with this build and can be stale; check the current model listing before a canary.

No provider requests run here. Passing does not verify account access, actual model outputs, complete SDK compatibility, cancellation, cache savings or final invoices. Streaming can end with an error after output; no seamless post-output replacement is promised.

Same check in your terminal

From a checked-out Routexor repository, build the shared package once, then pipe a redacted file through the local CLI. It reads only stdin and writes only the redacted report. It does not discover files, read credential environment variables or contact endpoints.

pnpm --filter @routexor/shared build
node scripts/migration-preflight.mjs --example
node scripts/migration-preflight.mjs < redacted-config.json
node scripts/migration-preflight.mjs --matrix

Exit 0 means this offline subset passed; exit 2 means blocked input; exit 1 means local failure. Keep the old config untouched. A downloaded report contains a separate placeholder canary, not an automatically rewritten workload.