mirror of
https://github.com/andrewyng/openworker.git
synced 2026-09-11 06:30:25 +00:00
Allow mid-session model switching with a persisted transcript marker
Picker stays live for the session; switches persist a model_switch notice (§17 revised). Rebinds refused mid-turn; images become placeholders for non-vision targets at send time.
This commit is contained in:
@@ -21,9 +21,9 @@ test("send → user bubble → streamed echo reply renders", async ({ page }) =>
|
||||
// The message carried the composer's visible model (model-per-message contract): what the
|
||||
// user sees at send time is exactly what serves the turn.
|
||||
await expect(page.getByText("[model=anthropic:claude-opus-4-8]")).toBeVisible();
|
||||
// …and having sent, the model is now FIXED for this session (§17/§22): the composer picker is
|
||||
// gone and the fact reads in the topbar's facts subtitle instead.
|
||||
await expect(page.locator(".dd").filter({ hasText: "Claude Opus" })).toHaveCount(0);
|
||||
// …and the picker STAYS actionable after the first turn (§17 rev 2026-07-22 — mid-session
|
||||
// switching shipped); the fact also reads in the topbar's facts subtitle.
|
||||
await expect(page.locator(".dd").filter({ hasText: "Claude Opus" })).toBeVisible();
|
||||
await expect(page.getByTestId("session-subtitle")).toContainText("Claude Opus 4.8");
|
||||
// Composer cleared and re-armed for the next turn.
|
||||
await expect(box).toHaveValue("");
|
||||
|
||||
Reference in New Issue
Block a user