Raised from the 2026-03-28 full-codebase architecture and code-quality review.
Problem
Scheduled sweeps currently run synchronously on the scheduling thread, so a long run delays the next scheduled tick.
Evidence
backend/src/main/java/com/keplerops/groundcontrol/infrastructure/sweep/ScheduledSweepRunner.java
The code comment already calls this out explicitly.
Why this matters
Operational jobs should not couple scheduler liveness to the runtime of the previous job. This becomes fragile under load or when sweep duration grows.
Definition of done
- Execute scheduled sweeps with non-blocking semantics or explicit backpressure control.
- Prevent overlapping runs from corrupting behavior.
- Emit clear operational telemetry for start, completion, duration, and skipped/overlapping executions.
- Add tests for long-running or overlapping sweep scenarios.
Raised from the 2026-03-28 full-codebase architecture and code-quality review.
Problem
Scheduled sweeps currently run synchronously on the scheduling thread, so a long run delays the next scheduled tick.
Evidence
backend/src/main/java/com/keplerops/groundcontrol/infrastructure/sweep/ScheduledSweepRunner.javaThe code comment already calls this out explicitly.
Why this matters
Operational jobs should not couple scheduler liveness to the runtime of the previous job. This becomes fragile under load or when sweep duration grows.
Definition of done