Skip to content

feat!: migrate Codex provider to RubyLLM 2.1 - #4

Merged
fidalgo merged 1 commit into
mainfrom
chore/rubyllm-2-1
Oct 12, 2026
Merged

fidalgo merged 1 commit into
mainfrom
chore/rubyllm-2-1

Conversation

@fidalgo

@fidalgo fidalgo commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

RubyLLM 2.x removes the provider APIs used by this gem, and the published provider currently excludes RubyLLM 2. Upgrade directly to RubyLLM 2.1.1 and require Codex CLI 0.162.1 or newer, with explicit migration steps for callers.

  • Use provider options, Schematist schemas, string content/parsed results, and normalized token counts without old API compatibility layers.
  • Register the local protocol, deliver before-request callbacks, and record successful and failed completion attempts.
  • Bound process exit and output-pipe draining together, including descendants that hold pipes open after the CLI exits; retain isolated, ephemeral execution.
  • Update the smoke task and package UPGRADE.md with the gem.

Validation: 22 tests / 108 assertions pass; Standard Ruby and git workflow checks pass. Codex flags were checked against installed CLI 0.162.1 and official documentation. Integration tests use a fake CLI; no authenticated live smoke was run.

This changes the public contract and drops RubyLLM 1.x/2.0 support. Rails consumers using RubyLLM persistence must finish the upstream 2.0 migration and cleanup before 2.1. A compatible provider release is required before the companion Destiller upgrade can be installed solely from published gems. Versioning and publishing remain separate release-task work.

Companion Destiller PR: https://github.com/ethos-link/destiller/pull/48

What: Require RubyLLM 2.1.1 and Codex CLI 0.162.1, migrate provider
options and result contracts, and record each completion attempt.

Why: RubyLLM 2.x removes the APIs used by the provider. Bound pipe
draining as well as process exit so surviving descendants cannot
leave a timed-out completion hanging.

Where: Update the provider, smoke task, tests, and upgrade guidance.
Keep process isolation and reject unsupported request controls.
@fidalgo
fidalgo merged commit 2490c57 into main Oct 12, 2026
6 checks passed
@fidalgo
fidalgo deleted the chore/rubyllm-2-1 branch October 12, 2026 05:25
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