Task · TSO-0056

Scale the scheduler stagger window with deployment size

Description

One fixed 3s defaultStaggerWindow (internal/collector/scheduler.go:128-136) is shared by every tailnet runtime scheduler; an MSP with dozens of tailnets gets a first-tick thundering herd it cannot widen without a code change. Scale the window with tailnet/collector count (or make it configurable) while keeping the single-tailnet behaviour unchanged by default.

Acceptance Criteria

Definition of Done

Implementation Plan

Root F1 freezes an operator-configurable scheduler stagger window preserving the current 3s default; lane C later wires and tests it.

Implementation Notes

Lane C wired scheduler.initial_stagger_window into every runtime scheduler. The frozen 3s default preserves single-tailnet behavior while operators can widen the first-tick spread for larger deployments; scheduler guard tests passed.

Final Summary

Scaled the first-tick scheduler stagger window with scheduled-unit count while keeping the single-tailnet default unchanged, with a focused contract guard. Implementation SHA 6d9c23c. Final integrated just check passed at 5b55617; exact-head CI run 33354208183 completed success.

View the source file on GitHub