Skip to content

Resume banner shows saved session model while routing matrix silently routes to a different provider #331

Description

@danshapiro

Summary

amplifier resume <session-id> displays the saved session's model/provider in the banner (e.g., "Model: gpt-5.6-sol"), but the actual routing decision is made at resume time by the routing matrix, silently overriding the saved provider without warning. This creates a UX mismatch and masked a cross-provider incompatibility (see companion issue).

Repro

  1. Create a session with OpenAI provider (e.g., gpt-5.6-sol)
  2. Resume it while routing-matrix "balanced" is active
  3. Banner displays: Model: gpt-5.6-sol (from saved metadata)
  4. Actual request routing: anthropic/claude-fable-5 (from routing matrix decision)
  5. User is misled about which provider will run

Real example:

  • Session ID: 3aaf5712-7e3c-4d70-9b6e-a1743b84e745 (project: iago)
  • Saved model: gpt-5.6-sol (OpenAI)
  • Routing decision at resume: anthropic/claude-fable-5
  • Banner showed: "Model: gpt-5.6-sol" (misleading)
  • In this case, the silent cross-provider switch also triggered a hard failure in provider-anthropic (see companion issue: Cross-provider resume: thinking blocks with null signature passed to Anthropic API cause invalid_request_error)

Impact

  • User confusion: Users expect the model shown in the banner to be what actually runs
  • Silent provider substitution: No warning when routing overrides the saved session's provider, hiding potential incompatibilities
  • Debugging friction: When errors occur, the user's mental model doesn't match reality (especially painful if the error is provider-specific, like the thinking-block validation error)

Ask

Either:

  1. The banner should reflect the model that will actually be used after routing resolution, OR
  2. Resume should honor/pin the saved provider-model pair, OR
  3. At minimum, warn the user that routing is overriding their saved session's provider

Triage note: This may belong in amplifier-bundle-routing-matrix if the intended design is that resume should pin to the saved provider.


🤖 Generated with Amplifier

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions