(
candidate_quality: ServedQuality,
previous_quality: ServedQuality | None,
)
| 240 | |
| 241 | |
| 242 | def continuity_alignment_score( |
| 243 | candidate_quality: ServedQuality, |
| 244 | previous_quality: ServedQuality | None, |
| 245 | ) -> float: |
| 246 | if previous_quality is None: |
| 247 | return 0.0 |
| 248 | delta = quality_rank(candidate_quality) - quality_rank(previous_quality) |
| 249 | if delta >= 0: |
| 250 | return 0.18 if delta == 0 else 0.08 |
| 251 | return -0.22 * abs(delta) |
| 252 | |
| 253 | |
| 254 | @dataclass(frozen=True, slots=True) |
no test coverage detected