Problem
Only example-driven tests; boundary cases missed.
Why
Property-based testing finds edge cases automatically.
Outcome
tests/properties/test_sla_properties.py invariants: availability∈[0,100], MTTR≥0, deterministic at fixed seed.
Acceptance
Files
tests/properties/test_sla_properties.py (NEW)
tests/properties/README.md (NEW)
requirements.txt (hypothesis)
Problem
Only example-driven tests; boundary cases missed.
Why
Property-based testing finds edge cases automatically.
Outcome
tests/properties/test_sla_properties.pyinvariants: availability∈[0,100], MTTR≥0, deterministic at fixed seed.Acceptance
Files
tests/properties/test_sla_properties.py(NEW)tests/properties/README.md(NEW)requirements.txt(hypothesis)