{ "_comment": "D5 multi-turn fixture for /demos/shared-state-read-write. Uses hasToolResult matching: aimock checks for role:tool messages in the request to disambiguate multi-turn fixtures sharing the same userMessage. The 'favorite color' fixture has a unique userMessage and needs no hasToolResult. Fixtures ordered by hasToolResult false→true for readability. The 'Say hi and introduce yourself' and 'Suggest a weekend plan' fixtures exist to outrun the bare 'hi' and 'plan' substring matchers in feature-parity.json — without them, the Greet me and Plan a weekend pills mismatch generic catch-alls. Mirrored verbatim into showcase/aimock/d5-all.json so re-bundling stays consistent.", "fixtures": [ { "_comment": "Greet me pill (msg: 'Say hi and introduce yourself.'). Gated on the default shared-state system prompt so changed preferences miss this fixture and proxy to the real model.", "match": { "userMessage": "Say hi and introduce yourself", "systemMessage": [ "preferences", "\"name\": \"\"", "\"tone\": \"casual\"", "\"language\": \"English\"", "\"interests\": []" ] }, "response": { "content": "Hi — I'm your shared-state co-pilot. Your Preferences panel (name, tone, language, interests) is fed to me on every turn, and I jot notes back into the Agent Scratch Pad via set_notes so the UI re-renders. Try setting your name or asking me to remember something." } }, { "_comment": "Edited-name probe. The harness sets name=D5-PREF-PROBE before clicking Greet me; matching this proves changed preferences reached the model-visible system prompt instead of serving the default fixture.", "match": { "userMessage": "Say hi and introduce yourself", "systemMessage": ["preferences", "\"name\": \"D5-PREF-PROBE\""] }, "response": { "content": "Hi D5-PREF-PROBE - I can see your edited shared-state preferences in the current turn." } }, { "_comment": "Plan a weekend pill (msg: 'Suggest a weekend plan based on my interests.'). Same default-state system prompt gate as the Greet pill.", "match": { "userMessage": "weekend plan based on my interests", "systemMessage": [ "preferences", "\"name\": \"\"", "\"tone\": \"casual\"", "\"language\": \"English\"", "\"interests\": []" ] }, "response": { "content": "A weekend tailored to your interests panel: if you haven't picked any yet, try Cooking + Travel for a market-and-day-trip combo, or Tech + Books for a maker session and a long reading afternoon. Add interests in the Preferences panel and re-ask for a more specific plan." } }, { "match": { "userMessage": "remember that my favorite color is blue", "hasToolResult": false }, "response": { "toolCalls": [ { "id": "call_d5_set_notes_001", "name": "set_notes", "arguments": "{\"notes\":[\"Favorite color: blue\"]}" } ] } }, { "match": { "userMessage": "remember that my favorite color is blue", "hasToolResult": true }, "response": { "content": "Got it — I have noted that your favorite color is blue." } }, { "match": { "userMessage": "favorite color" }, "response": { "content": "Your favorite color is blue — I noted it earlier." } } ] }