microsoft / microsoft/amplifier

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

Open
#331 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.1k
Forks
261
Avg merge
3h 28m
Merged PRs (30d)
13

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the resume command's banner construction and the routing-matrix decision described in the reproduction steps. Compare the saved session metadata with the provider selected at resume time, then determine which behavior is intended: reflect the resolved model, pin the saved provider-model pair, or warn about the override. Done means the banner and actual routing no longer mislead users.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.