Repository navigation
v0.5.1
The ChatGPT sign-in's models are the ones it accepts.
Changed
Rho.Models.catalog(:openai_codex)is Codex's own list for the
account (GET /backend-api/codex/models, in Codex's order, the first
its default), fetched and kept by the newRho.Models.Codexper
sign-in (per data dir: a loop's:data_dirand:credential, else the
node's): in memory (an ETS table;Rho.Supervisorstarts its owner) and
in the dir'scodex_models.json, fetched again in the background once 6
hours old (5 minutes after a failed try, one fetch at a time). Before the
first fetch it is the list shipped inpriv/models/openai_codex.json,
now Codex's of 2026-10-19 (gpt-5.5 and Daybreak Blue, which the
backend refuses for a ChatGPT account, are gone). A picker should ask
each time it opens rather than keep the list.catalog/2takes the
sign-in (:data_dir,:credential).- A session on a ChatGPT model the sign-in no longer accepts moves to
the sign-in's default for good (amodel_changeentry and a one-line
notice) when a run starts on it, or when the backend refuses it; the
refused call is made again on the default, once per run. - An HTTP error req_llm reports as a bare "HTTP 400" carries the
provider's own message from the body (Codex'sdetail).
Added
Rho.Models.resolve/2: the model a saved spec runs as (a ChatGPT
model the sign-in no longer accepts resolves to its default).config :rho, :codex_models_refresh(defaulttrue):falseturns
the background fetch off.
Removed
Rho.Images.models/1:Rho.Models.Codex.fetch/1returns the same list
with names and context windows.