Skip to content

Add OpenRouter harness support#285

Closed
kenrogers wants to merge 3 commits into
paradigmxyz:mainfrom
kenrogers:openrouter-support
Closed

Add OpenRouter harness support#285
kenrogers wants to merge 3 commits into
paradigmxyz:mainfrom
kenrogers:openrouter-support

Conversation

@kenrogers

Copy link
Copy Markdown

Summary

  • Add openrouter as a first-class harness selector that runs Codex through OpenRouter.
  • Wire OpenRouter credential injection through the firewall/proxy and configure sandbox env/provider selection.
  • Normalize OpenRouter events through the Codex event path across Python and TypeScript clients.
  • Document OpenRouter setup in quickstart, production, 1Password, index, and architecture docs.

Verification

  • uv run ruff check ... over touched Python files
  • bash -n services/sandbox/entrypoint.sh
  • uv run pytest tests/test_codex_app_wrapper.py -q
  • pnpm --filter @centaur/harness-events typecheck
  • pnpm --filter @centaur/api-client test -- harness-events.test.ts
  • just build-one api and just build-one agent
  • Local Helm deploy, then API-pod E2E with harness=openrouter: completed with result_text: "PONG"

Notes

  • The broader DB-backed file run currently reports 261 passed, 9 failed; the failures are existing/stale expectations and timing/order assertions outside the OpenRouter path.
  • Local Colima testing needed a temporary NetworkPolicy allowing the API pod to reach Colima's Kubernetes apiserver endpoint; no chart/network-policy change is included in this PR.

@arjunblj

Copy link
Copy Markdown
Collaborator

Great contribution! We love OpenRouter. QQ: This should also accept a --model flag, right? (it's unclear to me what model would be piped through Codex in this setup and that seems like a nice thing to be able to specify)

@kenrogers

Copy link
Copy Markdown
Author

Great contribution! We love OpenRouter. QQ: This should also accept a --model flag, right? (it's unclear to me what model would be piped through Codex in this setup and that seems like a nice thing to be able to specify)

Yes good catch! Made an update to accept the --model flag. Also added recovery/reuse handling so a restarted runtime keeps the selected model, plus API/SDK support for structured model selection on spawn.

Let me know if you think any other changes are needed otherwise I will mark as ready for review 🙌🏻

@gakonst gakonst force-pushed the openrouter-support branch from 85b95f6 to 72e5ef9 Compare May 29, 2026 04:57
@kenrogers kenrogers marked this pull request as ready for review May 29, 2026 19:07
@gakonst

gakonst commented Jun 16, 2026

Copy link
Copy Markdown
Member

Superseded #604! Sorry for the delay. Plz give it a try!

@gakonst gakonst closed this Jun 16, 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.

3 participants