Skip to content

ouroboros pm ignores configured Codex backend and always uses LiteLLMAdapter #242

@srausser

Description

@srausser

Summary

ouroboros pm currently constructs LiteLLMAdapter() directly, so the PM interview path ignores the configured LLM backend and requires provider/API-key setup even when Ouroboros is configured for Codex.

Repro

  1. Run ouroboros setup and select Codex runtime.
  2. Confirm ~/.ouroboros/config.yaml shows:
llm:
  backend: codex
orchestrator:
  runtime_backend: codex
  1. Run ouroboros pm on a stock install.

Actual

The PM path imports and instantiates LiteLLMAdapter directly from ouroboros/cli/commands/pm.py.

That means:

  • Codex runtime selection does not control PM interview execution.
  • PM can still require provider-specific model strings and API keys.
  • Backend-safe defaults like default are not valid for the LiteLLM path.

Expected

The PM interview command should create its adapter through the provider factory so it respects the configured backend, e.g. Codex should use the Codex CLI adapter.

Evidence

Current code path in ouroboros/cli/commands/pm.py:

from ouroboros.providers.litellm_adapter import LiteLLMAdapter
adapter = LiteLLMAdapter()

There is already a factory abstraction in ouroboros.providers.factory.create_llm_adapter(use_case="interview") that resolves Codex correctly.

Local workaround

I patched my local install to replace the direct LiteLLMAdapter() construction with create_llm_adapter(use_case="interview"). After that, ouroboros pm started generating interview questions through the Codex-backed path instead of failing in the LiteLLM path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugReproducible defect or broken behavior

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions