Skip to content

Recognize canonical model slugs in startup preflight #137

Open

Description

@R055LE

Observed after the approved Curated profile rollout at 489695194fcc75df272a0f4e30ebaa037e0d62be on October 30. Startup reported both dated profile models as absent from OpenRouter's catalog even though their exact endpoint URLs resolve and the isolated production-wrapper preview had passed.

A read-only fetch of https://openrouter.ai/api/v1/models returned this shape:

[
  {"id":"openai/gpt-6.1-sol","canonical_slug":"openai/gpt-6.1-sol-20260929","expiration_date":null},
  {"id":"openai/gpt-6-astra","canonical_slug":"openai/gpt-6-astra-20260903","expiration_date":null}
]

LLM.preflight() constructs the catalog from row.id alone. Its selected-profile test supplies dated IDs directly in id, missing the actual alias/canonical shape. The resulting warning is a false positive and does not block dispatch. Independent read-only endpoint checks confirmed the exact dated requests, OpenAI route, supported parameters and packaged prices. Keep the dated model pins unchanged.

Scoped fix:

  • Recognize exact nonempty string values in both id and canonical_slug.
  • Do not strip dates or accept a different dated model merely because its alias exists.
  • Regress the actual two-row shape, a different date remaining rejected, ordinary IDs, missing/null canonical fields, and unchanged serialized dated request models.
  • Preserve key checks, safe errors and route validation. No inference calls or production configuration changes are needed to validate this fix.

Refs #116 and #134. The deployed profile remains active because the endpoint evidence supports it; scheduled delivery acceptance is separate from this startup diagnostic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions