{ "phases": [ { "name": "idle", "duration_min": 60, "description": "Sit at lifestone. No input. Establishes baseline allocator noise.", "actions": [] }, { "name": "wander", "duration_min": 60, "description": "Walk a fixed route around Holtburg town. Targets streaming + landblock loads.", "actions": [ { "type": "walk_route", "waypoints": ["lifestone", "town-square", "marketplace", "south-gate", "lifestone"], "loop": true } ] }, { "name": "chat", "duration_min": 60, "description": "Spam /say and /tell. Targets chat-log buffers.", "actions": [ { "type": "send_chat", "channel": "say", "message_template": "test {counter}", "interval_sec": 2 } ] }, { "name": "target-cycle", "duration_min": 60, "description": "Tab through nearby targetables. No combat. Targets selection + tooltip allocation.", "actions": [ { "type": "press_key", "key": "Tab", "interval_sec": 3 } ] }, { "name": "ui-cycle", "duration_min": 60, "description": "Open/close inventory, character pane, spells pane. Targets UI-widget allocation.", "actions": [ { "type": "press_key", "key": "i", "interval_sec": 5 }, { "type": "press_key", "key": "c", "interval_sec": 7 }, { "type": "press_key", "key": "s", "interval_sec": 9 } ] } ], "snapshot_interval_min": 15, "notes": "Phase 2 schedule. Run one phase per session, fresh from bench-verified snapshot. Compare growth rates across phases to localize the leak's subsystem." }