Problem
The administrator metadata allowlist rejects optional OpenRouter model description, expiration_date and knowledge_cutoff. External clients cannot consume these standard descriptive fields from authorized aliases.
Expected behavior
Accept own optional description strings up to8192 UTF-16 units and optional expiration_date/knowledge_cutoff string-or-null values up to256 units. Preserve exact strings, empty strings, null versus omission and immutable capture; supplied undefined/nonstring/description null/excess bounds reject safely. Treat date strings as opaque informational metadata: no inferred calendar format, automatic expiry, routing or IAM authority, search expansion or refresh.
Expose these fields only in the compatible authorized model list. Preserve legacy/basic responses, complete metadata requirements, whole-catalog validation, paging/filter behavior, required sanitized audit and no inference/secret/limit/usage calls. Existing JSONB storage and64KiB cap remain unchanged; route resolution accepts valid snapshots without using descriptive fields.
Acceptance
English plan before code; public and actual SDK failing regressions first. Cover exact nullable/empty/omitted/boundary cases, Deny/authentication, catalog/audit failure, getter and audit-time mutation, PostgreSQL reader and migrated storage, legacy/basic behavior and operational privacy. Run npm run check. Existing structural pins already select these fields and remain unchanged.
Refs #116; complete discovery compatibility, metadata refresh/provisioning and unresolved #7 remain open. Assisted-by: Codex.
Problem
The administrator metadata allowlist rejects optional OpenRouter model description, expiration_date and knowledge_cutoff. External clients cannot consume these standard descriptive fields from authorized aliases.
Expected behavior
Accept own optional description strings up to8192 UTF-16 units and optional expiration_date/knowledge_cutoff string-or-null values up to256 units. Preserve exact strings, empty strings, null versus omission and immutable capture; supplied undefined/nonstring/description null/excess bounds reject safely. Treat date strings as opaque informational metadata: no inferred calendar format, automatic expiry, routing or IAM authority, search expansion or refresh.
Expose these fields only in the compatible authorized model list. Preserve legacy/basic responses, complete metadata requirements, whole-catalog validation, paging/filter behavior, required sanitized audit and no inference/secret/limit/usage calls. Existing JSONB storage and64KiB cap remain unchanged; route resolution accepts valid snapshots without using descriptive fields.
Acceptance
English plan before code; public and actual SDK failing regressions first. Cover exact nullable/empty/omitted/boundary cases, Deny/authentication, catalog/audit failure, getter and audit-time mutation, PostgreSQL reader and migrated storage, legacy/basic behavior and operational privacy. Run npm run check. Existing structural pins already select these fields and remain unchanged.
Refs #116; complete discovery compatibility, metadata refresh/provisioning and unresolved #7 remain open. Assisted-by: Codex.