# Dashboard Mismatch Recovery Tests that Thinker detects when dashboard state doesn't match what it expects, and self-corrects by re-emitting controls. ## Setup - clear history ## Steps ### 1. Create buttons - send: create two buttons: red and blue - expect_actions: length >= 2 ### 2. Dashboard empty — Thinker re-emits - send: I clicked red but nothing happened |dashboard| [] - expect_response: contains "button" or "red" or "blue" - expect_actions: length >= 1 ### 3. Create counter - send: create a counter starting at 0 - expect_actions: length >= 1 ### 4. Counter missing from dashboard — Thinker recovers - send: the dashboard is broken, I only see old stuff |dashboard| [{"type":"label","id":"stale","text":"old","value":"stale"}] - expect_response: contains "counter" or "count" or "fix" or "recreat" or "refresh" or "button" or "update" or "resend" or "re-send" - expect_actions: length >= 1