Codex model catalog binding: curated capability entries with D-025 provenance #107
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#107
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?
Goal
Provide a curated, provenance-carrying catalog binding for Codex models (
(openai, "codex")capability entries) so a composed deployment can admit Codex resources without requiring the administrator to hand-author catalog entries.Discovered by
M10-B end-to-end acceptance (#95, commit
8924543): the shippedmodel-catalog.jsonhas no(openai, "codex")binding, so a composed Codex resource is honest-but-unadmittable (capability_unassessed) today. The E2E fixtures supply a synthetic entry; the deterministic execution path itself is fully proven.Why not done inline
Catalog capability ratings change only through the D-025 governance: provenance, date/version, confidence, rationale and a human-reviewable diff. Inventing capability ratings for Codex models autonomously would violate that discipline; fail-closed
capability_unassessedis the correct interim behavior.Acceptance criteria
tests/test_model_calibration.pydiscipline).References
docs/m10-acceptance.md.Reconciling this issue with the actual fix (PR #108, commits
09a9af0/9462c30onprogram/m06-m10-final-wave).The resolution differs from the wording assumed here, and that wording is corrected by this comment (the issue is closed as resolved, not by creating any catalog entry):
model="codex"on the Codex worker resource was itself the defect (it impersonated a physical model and could never bind the catalog). Codex worker resources now require an explicit physical model slug (--codex-model, e.g.gpt-5.6-sol), soResourceIdentity(provider=openai, model=gpt-5.6-sol)binds the shipped, already-calibrated catalog entries directly via the existing exact(provider, model)M02 binding — including all calibrated reasoning variants.openai/codexcatalog fixture was deleted; tests use the real shippedmodel-catalog.json.(provider, model)disagrees with the configured resource before turn execution (model_not_served), and pins the exact selected model/effort on the turn.Discrimination proof: the new tests fail on the pre-fix HEAD
d5cdc17(old code executed a wrong-model turn) and pass on the fix; independently re-verified by the adversarial review.