Your question is Adaptive Telemetry Poll Scheduling. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Given a list of telemetry urgency scores urgency, an integer max_polls, and an integer cooldown, compute a polling schedule that minimizes battery usage while still polling the most important moments. Return the selected poll indices in increasing order. After polling at index i, the next cooldown indices cannot be polled.
def schedule_polls(urgency, max_polls, cooldown):