## TL;DR
Restore tests must be scheduled against the backup calendar, not in its blind spot: the agent's tests competed with production backups for repository throughput and slowed both. Map the production backup windows per repository, place restore tests in the gaps with a hard rule that a test yields if a backup job is running, and cap test concurrency per repository so verification can never starve protection.

```text
agent scheduled restore tests during the Veeam backup window and starved production backups of repository I/O
```

## Use this when
- The job or restore fails with this symptom: agent scheduled restore tests during the Veeam backup window and starved production backups of repository I/O.
- You are working on an agent scheduling restore verification tests on shared repositories and the failure repeats on the same target or schedule.
- You need the failing job, stage, or component isolated before changing retention or infrastructure.

## Not for this skill when
- A repository with genuine idle capacity during its backup window on a large array, where a measured exception can be granted per repository.
- The error text names a different product, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Chart the repository's load across a week from job history, marking backup windows and idle gaps. Verify: the real contention pattern is visible
2. Move restore tests into the identified gaps and encode the windows as exclusion periods in the scheduler. Verify: tests no longer overlap backups by default
3. Add a runtime guard: a test checks for active backup jobs on its repository and defers if any are running. Verify: collisions defer instead of competing
4. Verify over a full cycle that backup job durations return to their pre-test baseline while tests still complete. Verify: protection performance is restored and tests still run

## Variant phrasings
### agent restore tests during backup window starved repository io
The verbatim phrasing.
### schedule restore tests outside veeam backup window agent fix
The scheduling phrasing.
### restore verification contention production backups repository throughput
The contention phrasing.

Compatibility: Agent scheduling of restore tests around production backup windows

## Why it happens
Repositories have one throughput budget shared by everything touching them, and a restore test is a full read workload indistinguishable from a backup to the storage. Scheduling that ignores the existing tenants does not create capacity; it reallocates it away from the protection the tests exist to prove.

## Edge cases / pitfalls
- Time zones and daylight-saving shifts move windows twice a year; derive exclusions from job history, not fixed clock times.
- A test deferred repeatedly by the guard is a capacity finding to report, not a failure to force through.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_q8jI13pOH31crSr2pKQB4w
