Skip to content

[ENHANCEMENT] Replace remaining production provider literals and verify canonical identifier coverage #960

Description

@WebMad

Problem (one or two sentences)

After migrating the main provider consumers, isolated raw provider-name literals may remain in production code. These remaining comparisons could continue to bypass the canonical registry and leave the provider identifier centralization incomplete.

Context (who is affected and when)

This affects maintainers and contributors during future provider additions, renames, and retirements. It is especially relevant after the targeted migrations, when remaining literals need to be classified as internal comparisons or intentional serialized, external, test, translation, documentation, model-name, or separate-domain values.

This is the final cleanup stage of the provider identifier centralization tracked by #944 and should follow the targeted consumer migrations.

Desired behavior (conceptual, not technical)

All appropriate production comparisons, switch cases, and internal collections should use canonical provider identifiers. Intentional literals in persisted data, external formats, fixtures, translations, documentation, model IDs, and separate provider domains should remain readable and stable, with focused regression coverage confirming the completed migration.

Constraints / preferences (optional)

Do not perform blind global replacement. Serialized values, external formats, fixtures, translations, documentation, model IDs, code-index provider identifiers, terminal provider identifiers, and other intentional literals should remain unchanged unless replacement provides a clear correctness or type-safety benefit.

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Zoo Code Task Links (optional)

Parent tracking issue: #944

Foundational identifier registry: #951

Targeted migrations: #953, #954, #955, #956, #957, #958, and #959

Acceptance criteria (optional)

  • Remaining raw provider literals in production code are reviewed and classified.
  • Appropriate internal API-provider comparisons, switch cases, and collections reference canonical identifiers.
  • Intentional serialized, external, test, translation, documentation, model-name, and separate-domain literals remain unchanged.
  • No API provider identifiers are confused with code-index, embedding, terminal, or other domain-specific provider names.
  • Focused regression tests verify representative runtime usage.
  • The acceptance criteria of [ENHANCEMENT] Centralize provider identifiers and replace hardcoded provider-name literals #944 are reviewed and satisfied.
  • Existing provider-related tests continue to pass with no intended user-facing behavior changes.

Relevant code locations

This is a final audit rather than a predefined mechanical replacement. Re-scan production code after #953#959, with particular attention to:

Proposed approach (optional)

Search production code for remaining active and retired provider strings after the targeted migrations. Review each occurrence individually, migrate internal API-provider identity comparisons, document intentional exceptions through surrounding context where necessary, and add focused regression coverage.

Trade-offs / risks (optional)

Automated replacement could change external contracts, alter model IDs, reduce fixture readability, or conflate independent provider domains. This cleanup requires individual review of each occurrence and may uncover unrelated inconsistencies that should be reported separately rather than folded into this behavior-preserving refactor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions