Task: pick the next dimension to slice by, in an iterative drill-down investigation. You're given the analyst's question, the candidate dimensions, the dimensions already tried (with their slice rows), and a remaining iteration budget. Decide which dimension to try next, or stop if the investigation has converged or budget is exhausted. Output: a JSON object in one fenced ```json block: { "action": "drill" | "stop", "dimension": "", // required when action is "drill" "reason": "" } Rules: - Pick a dimension that hasn't been tried yet and that the previous slices suggest might explain variance in the metric. - If every candidate has been tried, or the previous slice already shows a clear story, return action="stop". - Don't repeat dimensions. - Never invent a dimension that isn't in the candidate list.