49cadcf1b7
Five Russian turns, one monitor, four questions that say "он" and never name it again. Item 3 of the task: the shape had nowhere to fail, because the routing fixture scores one utterance at a time and a conversation that breaks on turn 2 cannot lose a point there. Routes are scripted exactly as the box produced them on 05-08-2026. Turn 1 files a fact despite "давай поболтаем", the questions go to query, turn 4 goes to chat, and none of the five replies names the monitor. Four steps assert the reply LACKS "монитор" and are marked WRONG in their notes with what each must become. The absence assertion is forced, not chosen. The simulator wires phraser.NewStub(), and PhraseChat posts raw HTTP to /v1/chat/completions rather than through the llm client the harness scripts, so a chat reply cannot be scripted at all. The wrong replies come from fallbacks_ru_v1.json, which picks between four variants per turn, so asserting a string would pin the picker. Missing referent holds whichever variant she reaches for. Items 1 and 2 stay open: they are owner decisions about which store a referent comes from and whether "давай поболтаем" claims a turn. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>