Skip to content

feat: add openai-chatgpt provider to routing matrix#18

Open
robotdad wants to merge 2 commits into
microsoft:mainfrom
robotdad:feat/add-openai-chatgpt-provider
Open

feat: add openai-chatgpt provider to routing matrix#18
robotdad wants to merge 2 commits into
microsoft:mainfrom
robotdad:feat/add-openai-chatgpt-provider

Conversation

@robotdad
Copy link
Copy Markdown
Member

@robotdad robotdad commented Apr 30, 2026

Summary

The PR adds the openai-chatgpt provider (ChatGPT subscription backend via Codex CLI OAuth device code flow) to the routing matrix bundle. The provider module lives at microsoft/amplifier-module-provider-openai-chatgpt.

Changes

  • New: routing/openai-chatgpt.yaml — Complete single-provider matrix covering all 13 roles. Uses gpt-5.5 as primary with gpt-5.4 fallbacks. Codex-tuned models (gpt-?.?-codex*) preferred for coding role. No pro tier — reasoning roles use gpt-5.5 + reasoning_effort:high.
  • Updated: routing/balanced.yaml — Added openai-chatgpt candidates after each openai entry (13 entries). Ordering: anthropic > openai > openai-chatgpt > gemini > copilot > ollama.
  • Updated: routing/quality.yaml — Same pattern, 12 entries (image-gen has no openai entry to follow).
  • Updated: routing/economy.yaml — Same pattern, 12 entries. Maps openai's nano tier to chatgpt's mini (no nano available).
  • Updated: docs/MATRIX_CURATOR_GUIDE.md — Added openai-chatgptprovider-openai-chatgpt to provider naming table.
  • New: .amplifier/digital-twin-universe/profiles/routing-matrix-chatgpt-reality-check.yaml — DTU profile for end-to-end validation.

About the Provider

  • Authentication: Codex CLI OAuth device code flow (no API key needed — works with any ChatGPT Plus/Pro/Team/Enterprise subscription)
  • Mount name: openai-chatgpt
  • Available models: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex, gpt-5.2
  • No gpt-?.?-pro* tier — reasoning handled via reasoning_effort dial on gpt-5.5
  • No native image generation API — image-gen excluded from multi-provider matrices

DTU Validation (20/20 tests passed)

A Digital Twin Universe environment was provisioned and all acceptance tests passed:

Category Tests Result
MUST (structural + functional) 14/14 ✅ All pass
SHOULD (ordering, duplicates, parsing) 4/4 ✅ All pass
NICE (degradation, fallbacks) 2/2 ✅ All pass

Key verifications:

  • All 13 roles route to openai-chatgpt with correct models
  • Live inference through ChatGPT backend confirmed (gpt-5.5, 5.4s response)
  • All 8 routing YAML files parse cleanly with required fields
  • Candidate ordering rule holds across all multi-provider matrices
  • No duplicate chatgpt entries in any role
  • image-gen correctly excluded from multi-provider matrices
  • Every role in single-provider matrix has gpt-5.4 fallback

Known Issue (not from this PR)

hooks-routing resolves matrix files under its own bundle cache hash (upstream main) rather than the active app bundle's hash. Inference still works via provider defaults, but amplifier routing show may report "routing disabled" when the matrix bundle is registered from a fork/branch. This is an existing hooks-routing module issue.

robotdad and others added 2 commits April 29, 2026 18:00
Add the ChatGPT subscription backend (via Codex CLI OAuth) to the routing matrix bundle:

- New file: routing/openai-chatgpt.yaml — single-provider matrix covering all 13 roles
  Uses gpt-5.5 as primary with gpt-5.4 fallbacks, codex-tuned models for coding role.
  No pro tier—reasoning roles use gpt-5.5 + reasoning_effort:high instead.

- Updated: routing/balanced.yaml — Added openai-chatgpt candidates after each openai entry
  (13 entries total). Maintains ordering convention (anthropic > openai > openai-chatgpt > gemini > copilot > ollama).

- Updated: routing/quality.yaml — Same pattern, 12 entries (no openai entry in image-gen to follow).

- Updated: routing/economy.yaml — Same pattern, 12 entries. Maps openai nano tier to chatgpt mini.
  Budget roles use gpt-?.?-mini*, quality-sensitive roles use gpt-5.5.

- Updated: docs/MATRIX_CURATOR_GUIDE.md — Added openai-chatgpt to the provider naming table.

Provider module lives at microsoft/amplifier-module-provider-openai-chatgpt.
Uses Codex CLI's OAuth device code flow (no API key needed—works with ChatGPT Plus/Pro/Team/Enterprise).

Generated with Amplifier
Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
Add a Digital Twin Universe profile for end-to-end validation of the
routing matrix with the openai-chatgpt provider. This profile provisions
an isolated container with Amplifier CLI, the chatgpt provider module,
and the routing matrix bundle, then verifies all 13 roles route correctly
and live inference succeeds through the ChatGPT backend.

All 20 acceptance tests pass (14 MUST, 4 SHOULD, 2 NICE):
- All 13 roles route to openai-chatgpt with correct models
- Live inference through ChatGPT backend confirmed (gpt-5.5, 5.4s response)
- All 8 routing YAML files parse cleanly with required fields
- Candidate ordering rule (anthropic > openai > openai-chatgpt > gemini > copilot)
- No duplicate chatgpt entries in any role
- image-gen correctly excluded from multi-provider matrices
- Every role in single-provider matrix has gpt-5.4 fallback

Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
robotdad added a commit to microsoft/amplifier that referenced this pull request Apr 30, 2026
Adds openai-chatgpt provider entry to the official Amplifier module
catalog in MODULES.md. This provider connects to ChatGPT subscriptions
(Plus, Pro, Team, Enterprise) via Codex CLI's OAuth device code flow.

No API key required — authenticates using the same mechanism as the
Codex CLI itself, supporting the full set of ChatGPT models via the
subscription endpoint.

Related: microsoft/amplifier-bundle-routing-matrix#18

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
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.

1 participant