B. Codex 0.155 protocol repair + runtime inventory #118
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/scarcity-router#118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Child B of #116 (Dynamic Execution Sources program). FIRST implementation child — confirmed protocol drift.
The bug
scarcity_router/worker_codex_adapter.pyCodexSession.request(lines ~880-898) omits theparamsmember when the local argument isNone. Againstcodex-cli 0.155.0-alpha.16.3this makesaccount/readand the firstmodel/listpage fail withJSON-RPC -32600, and is the strongest evidenced explanation forCodex snapshot health = unknowndespite a logged-in controlled home.Live evidence 2026-09-24: with explicit
account/read {}the real runtime returnedaccount.type=chatgpt,requiresOpenaiAuth=True; withmodel/list {}it advertisedgpt-6-luna/sol/astra(low…max/ultra), plusgpt-5.5,gpt-5.6-*,gpt-daybreak-blue-latest.Fix
Method-specific evidenced request shapes — NOT a global
{}forced onto every JSON-RPC method:account/read→params: {}model/listfirst page →params: {}model/listlater pages →params: {"cursor": "..."}Tests
Discriminating coverage that an absent
paramsmember for these methods is rejected with-32600(fixture-shaped, real protocol shapes; the current bug must fail the new tests).Runtime inventory on the stable surface
Use the official stable App Server surface (
initialize,account/read {},model/list {}) with bounded pagination; do not hard-code currently available reasoning efforts — the runtime is authoritative for availability. Discovery output feeds the ModelInventory contract from child A (slug + supported efforts + source_id + timestamp + provenance + auth state). No sensitive account metadata (email, raw account ids) persisted.Also reconcile
MIN_SUPPORTED_CODEX_VERSION/ version gates against 0.155 evidence so health is honestlyok, notunknown, after login.Closeout — implemented in merged PR #124 (merge commit
a4370f0intodevelop, head9789c67; program #116 / D-053).Child B delivered: method-specific evidenced request shapes on the codex App Server surface —
account/readcarriesparams {}and the firstmodel/listpage carriesparams {}(later pages{"cursor": …}), fixing the confirmed-32600drift againstcodex-cli 0.155.0-alpha.16.3. The fake App Server now mirrors the real 0.155 strictness, so the suite rejects an absentparamsmember with discriminating coverage. Verified live through the product path: the real runtime now answers with an honest auth verdict instead of degrading to unknown. Runtime discovery feeds the ModelInventory contract; no sensitive account metadata is persisted.