Skip to content

[P3.1] Codex adapter (pilot) — build + parse + capabilities + tests + docs #317

Description

@frankbria

Phase 3 — Pilot provider. First non-Claude adapter; proves the seam end-to-end.

Scope

  • lib/agents/codex.sh:
    • Build: codex exec [prompt] (prompt via arg or stdin), --json (JSONL events),
      -o/--output-last-message <file> for the final message, -m <model>, resume via
      codex exec resume <id>, approval via -s <sandbox> / --dangerously-bypass-….
    • Parse: map Codex JSONL events -> internal analysis struct (assistant/tool/result,
      end-of-turn, usage if present, errors). Use --output-last-message for the final
      answer; consider --output-schema for a structured RALPH_STATUS if helpful.
    • Capabilities: structured=yes, token usage=verify, permission_denials=no(map to
      sandbox/approval), api_limit_detection=codex-specific or off, session=resume-id.
  • Unit tests via [P2.2] harness + an E2E with a mock codex CLI.
  • Docs: docs/providers/CODEX.md, README provider matrix row, .ralphrc notes.

Acceptance

  • ralph --provider codex runs the loop against a mock; exit detection works via
    RALPH_STATUS; unsupported features degrade per [P2.1]. Full suite green.

Depends on: [P1.1], [P1.2], [P1.3], [P2.1], [P2.2]. Blocks: [P4.x] (as template).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmulti-providerMulti-provider agent abstraction (Codex/Gemini/OpenCode/Droid/Kilocode/Copilot)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions