FA-71146 / Weather index computation / Open access
Haines lower-atmosphere severity index: stability breakpoint inclusivity · case 01
Soundings exactly on a stability breakpoint are scored one category too high.
ROOT CAUSE
The stability breakpoints are exclusive although the table limits are inclusive.
VERIFIED REPAIR
Score stability 1 for <= a1 and 2 for <= a2.
Unsuccessful approach: Shifting the first breakpoint up one degree scores the next stability value too low.
Case contract
temps/dews map pressure level (hPa) to degC. low: stability T950-T850 (<=3:1, <=7:2, else 3), moisture T850-Td850 (<=5:1, <=9:2, else 3); mid: T850-T700 (<=5, <=10), T850-Td850 (<=5, <=12); high: T700-T500 (<=17, <=21), T700-Td700 (<=14, <=20). Unknown elevation returns None. Return [sum, label] with 2-3 very low, 4 low, 5 moderate, 6 high.
Why this case matters
Fire behaviour analysts use the Haines index for plume-dominated fire potential.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(elev, temps, dews):
levels = {"low": (950, 850, 850, 850, (3, 7), (5, 9)),
"mid": (850, 700, 850, 850, (5, 10), (5, 12)),
"high": (700, 500, 700, 700, (17, 21), (14, 20))}
if elev not in levels:
return None
lo, up, tm, dm, (a1, a2), (b1, b2) = levels[elev]
stab = temps[lo] - temps[up]
moist = temps[tm] - dews[dm]
sa = 1 if stab < a1 else 2 if stab < a2 else 3
sb = 1 if moist <= b1 else 2 if moist <= b2 else 3
total = sa + sb
label = "very low" if total <= 3 else "low" if total == 4 else "moderate" if total == 5 else "high"
return [total, label]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['low elevation sounding', ['low', {950: 12, 850: 1, 700: -5, 500: -24}, {850: -11, 700: -17}], [6, 'high']], ['low elevation sounding', ['low', {950: 13, 850: 8, 700: 3, 500: -22}, {850: -2, 700: -8}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 18, 850: 10, 700: -4, 500: -26}, {850: -6, 700: -8}], [6, 'high']], ['low elevation sounding', ['low', {950: 15, 850: 10, 700: 6, 500: -6}, {850: 8, 700: 3}], [3, 'very low']], ['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['low elevation sounding', ['low', {950: 22, 850: 13, 700: 2, 500: -24}, {850: -1, 700: -17}], [6, 'high']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']]], [['low elevation sounding', ['low', {950: 13, 850: 13, 700: 2, 500: -19}, {850: 2, 700: -3}], [4, 'low']], ['low elevation sounding', ['low', {950: 13, 850: 1, 700: -9, 500: -31}, {850: -5, 700: -17}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 24, 850: 21, 700: 12, 500: -12}, {850: 12, 700: -4}], [3, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 15, 500: -10}, {850: 16, 700: 7}], [2, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 16, 500: 2}, {850: 5, 700: 13}], [4, 'low']], ['low elevation sounding', ['low', {950: 26, 850: 27, 700: 19, 500: 0}, {850: 22, 700: 2}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 24, 850: 12, 700: 9, 500: -12}, {850: 8, 700: -6}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 7, 700: 5, 500: -20}, {850: -5, 700: -8}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 10, 850: 2, 700: -11, 500: -32}, {850: -9, 700: -26}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 30, 850: 18, 700: 4, 500: -12}, {850: 15, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 27, 850: 29, 700: 18, 500: 0}, {850: 15, 700: 10}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 13, 850: 15, 700: 11, 500: -13}, {850: 9, 700: 11}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 17, 850: 12, 700: -3, 500: -23}, {850: 4, 700: -8}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 17, 850: 14, 700: 3, 500: -19}, {850: 4, 700: -6}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 21, 850: 23, 700: 13, 500: -13}, {850: 18, 700: -3}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 30, 850: 27, 700: 20, 500: 1}, {850: 15, 700: 13}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 22, 850: 15, 700: 6, 500: -20}, {850: 14, 700: -1}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['high elevation sounding', ['high', {950: 30, 850: 20, 700: 11, 500: -13}, {850: 10, 700: 9}], [4, 'low']], ['high elevation sounding', ['high', {950: 18, 850: 18, 700: 14, 500: -1}, {850: 17, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 14, 850: 11, 700: 5, 500: -14}, {850: -3, 700: 1}], [3, 'very low']], ['high elevation sounding', ['high', {950: 27, 850: 18, 700: 16, 500: -8}, {850: 15, 700: 8}], [4, 'low']], ['high elevation sounding', ['high', {950: 21, 850: 11, 700: 3, 500: -11}, {850: -3, 700: -4}], [2, 'very low']], ['high elevation sounding', ['high', {950: 12, 850: 11, 700: -3, 500: -26}, {850: 6, 700: -7}], [4, 'low']]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| low elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [5, 'moderate'] | [5, 'moderate'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [3, 'very low'] | [3, 'very low'] | Passed |
| low elevation sounding | [5, 'moderate'] | [4, 'low'] | Failed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| mid elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
SHA-256 / 4cac807cbbec09a1c099d066089d67a721bf443639975951b6b09d69396c8c2f
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(elev, temps, dews):
levels = {"low": (950, 850, 850, 850, (3, 7), (5, 9)),
"mid": (850, 700, 850, 850, (5, 10), (5, 12)),
"high": (700, 500, 700, 700, (17, 21), (14, 20))}
if elev not in levels:
return None
lo, up, tm, dm, (a1, a2), (b1, b2) = levels[elev]
stab = temps[lo] - temps[up]
moist = temps[tm] - dews[dm]
sa = 1 if stab <= a1 + 1 else 2 if stab <= a2 else 3
sb = 1 if moist <= b1 else 2 if moist <= b2 else 3
total = sa + sb
label = "very low" if total <= 3 else "low" if total == 4 else "moderate" if total == 5 else "high"
return [total, label]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['low elevation sounding', ['low', {950: 12, 850: 1, 700: -5, 500: -24}, {850: -11, 700: -17}], [6, 'high']], ['low elevation sounding', ['low', {950: 13, 850: 8, 700: 3, 500: -22}, {850: -2, 700: -8}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 18, 850: 10, 700: -4, 500: -26}, {850: -6, 700: -8}], [6, 'high']], ['low elevation sounding', ['low', {950: 15, 850: 10, 700: 6, 500: -6}, {850: 8, 700: 3}], [3, 'very low']], ['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['low elevation sounding', ['low', {950: 22, 850: 13, 700: 2, 500: -24}, {850: -1, 700: -17}], [6, 'high']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']]], [['low elevation sounding', ['low', {950: 13, 850: 13, 700: 2, 500: -19}, {850: 2, 700: -3}], [4, 'low']], ['low elevation sounding', ['low', {950: 13, 850: 1, 700: -9, 500: -31}, {850: -5, 700: -17}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 24, 850: 21, 700: 12, 500: -12}, {850: 12, 700: -4}], [3, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 15, 500: -10}, {850: 16, 700: 7}], [2, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 16, 500: 2}, {850: 5, 700: 13}], [4, 'low']], ['low elevation sounding', ['low', {950: 26, 850: 27, 700: 19, 500: 0}, {850: 22, 700: 2}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 24, 850: 12, 700: 9, 500: -12}, {850: 8, 700: -6}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 7, 700: 5, 500: -20}, {850: -5, 700: -8}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 10, 850: 2, 700: -11, 500: -32}, {850: -9, 700: -26}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 30, 850: 18, 700: 4, 500: -12}, {850: 15, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 27, 850: 29, 700: 18, 500: 0}, {850: 15, 700: 10}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 13, 850: 15, 700: 11, 500: -13}, {850: 9, 700: 11}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 17, 850: 12, 700: -3, 500: -23}, {850: 4, 700: -8}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 17, 850: 14, 700: 3, 500: -19}, {850: 4, 700: -6}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 21, 850: 23, 700: 13, 500: -13}, {850: 18, 700: -3}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 30, 850: 27, 700: 20, 500: 1}, {850: 15, 700: 13}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 22, 850: 15, 700: 6, 500: -20}, {850: 14, 700: -1}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['high elevation sounding', ['high', {950: 30, 850: 20, 700: 11, 500: -13}, {850: 10, 700: 9}], [4, 'low']], ['high elevation sounding', ['high', {950: 18, 850: 18, 700: 14, 500: -1}, {850: 17, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 14, 850: 11, 700: 5, 500: -14}, {850: -3, 700: 1}], [3, 'very low']], ['high elevation sounding', ['high', {950: 27, 850: 18, 700: 16, 500: -8}, {850: 15, 700: 8}], [4, 'low']], ['high elevation sounding', ['high', {950: 21, 850: 11, 700: 3, 500: -11}, {850: -3, 700: -4}], [2, 'very low']], ['high elevation sounding', ['high', {950: 12, 850: 11, 700: -3, 500: -26}, {850: 6, 700: -7}], [4, 'low']]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| low elevation sounding | [3, 'very low'] | [4, 'low'] | Failed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [5, 'moderate'] | [5, 'moderate'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [3, 'very low'] | [3, 'very low'] | Passed |
| low elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| mid elevation sounding | [3, 'very low'] | [4, 'low'] | Failed |
SHA-256 / 201abefe83b85267429bf4a2fa9b67e6bdfe1413f1d51c1fd3d43c9d1aab01f2
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(elev, temps, dews):
levels = {"low": (950, 850, 850, 850, (3, 7), (5, 9)),
"mid": (850, 700, 850, 850, (5, 10), (5, 12)),
"high": (700, 500, 700, 700, (17, 21), (14, 20))}
if elev not in levels:
return None
lo, up, tm, dm, (a1, a2), (b1, b2) = levels[elev]
stab = temps[lo] - temps[up]
moist = temps[tm] - dews[dm]
sa = 1 if stab <= a1 else 2 if stab <= a2 else 3
sb = 1 if moist <= b1 else 2 if moist <= b2 else 3
total = sa + sb
label = "very low" if total <= 3 else "low" if total == 4 else "moderate" if total == 5 else "high"
return [total, label]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['low elevation sounding', ['low', {950: 12, 850: 1, 700: -5, 500: -24}, {850: -11, 700: -17}], [6, 'high']], ['low elevation sounding', ['low', {950: 13, 850: 8, 700: 3, 500: -22}, {850: -2, 700: -8}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 18, 850: 10, 700: -4, 500: -26}, {850: -6, 700: -8}], [6, 'high']], ['low elevation sounding', ['low', {950: 15, 850: 10, 700: 6, 500: -6}, {850: 8, 700: 3}], [3, 'very low']], ['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['low elevation sounding', ['low', {950: 22, 850: 13, 700: 2, 500: -24}, {850: -1, 700: -17}], [6, 'high']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']]], [['low elevation sounding', ['low', {950: 13, 850: 13, 700: 2, 500: -19}, {850: 2, 700: -3}], [4, 'low']], ['low elevation sounding', ['low', {950: 13, 850: 1, 700: -9, 500: -31}, {850: -5, 700: -17}], [5, 'moderate']], ['low elevation sounding', ['low', {950: 24, 850: 21, 700: 12, 500: -12}, {850: 12, 700: -4}], [3, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 15, 500: -10}, {850: 16, 700: 7}], [2, 'very low']], ['low elevation sounding', ['low', {950: 18, 850: 18, 700: 16, 500: 2}, {850: 5, 700: 13}], [4, 'low']], ['low elevation sounding', ['low', {950: 26, 850: 27, 700: 19, 500: 0}, {850: 22, 700: 2}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 24, 850: 12, 700: 9, 500: -12}, {850: 8, 700: -6}], [2, 'very low']], ['mid elevation sounding', ['mid', {950: 18, 850: 7, 700: 5, 500: -20}, {850: -5, 700: -8}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 10, 850: 2, 700: -11, 500: -32}, {850: -9, 700: -26}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 18, 850: 10, 700: 4, 500: -16}, {850: 4, 700: 3}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 30, 850: 18, 700: 4, 500: -12}, {850: 15, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 27, 850: 29, 700: 18, 500: 0}, {850: 15, 700: 10}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 13, 850: 9, 700: 3, 500: -20}, {850: 1, 700: -6}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 28, 850: 22, 700: 12, 500: -14}, {850: 11, 700: 4}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 13, 850: 15, 700: 11, 500: -13}, {850: 9, 700: 11}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 17, 850: 12, 700: -3, 500: -23}, {850: 4, 700: -8}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 17, 850: 14, 700: 3, 500: -19}, {850: 4, 700: -6}], [5, 'moderate']], ['mid elevation sounding', ['mid', {950: 21, 850: 23, 700: 13, 500: -13}, {850: 18, 700: -3}], [3, 'very low']], ['mid elevation sounding', ['mid', {950: 30, 850: 27, 700: 20, 500: 1}, {850: 15, 700: 13}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 22, 850: 15, 700: 6, 500: -20}, {850: 14, 700: -1}], [3, 'very low']]], [['low elevation sounding', ['low', {950: 29, 850: 22, 700: 20, 500: 7}, {850: 14, 700: 14}], [4, 'low']], ['mid elevation sounding', ['mid', {950: 23, 850: 23, 700: 17, 500: -2}, {850: 11, 700: 10}], [4, 'low']], ['high elevation sounding', ['high', {950: 30, 850: 20, 700: 11, 500: -13}, {850: 10, 700: 9}], [4, 'low']], ['high elevation sounding', ['high', {950: 18, 850: 18, 700: 14, 500: -1}, {850: 17, 700: -8}], [4, 'low']], ['high elevation sounding', ['high', {950: 14, 850: 11, 700: 5, 500: -14}, {850: -3, 700: 1}], [3, 'very low']], ['high elevation sounding', ['high', {950: 27, 850: 18, 700: 16, 500: -8}, {850: 15, 700: 8}], [4, 'low']], ['high elevation sounding', ['high', {950: 21, 850: 11, 700: 3, 500: -11}, {850: -3, 700: -4}], [2, 'very low']], ['high elevation sounding', ['high', {950: 12, 850: 11, 700: -3, 500: -26}, {850: 6, 700: -7}], [4, 'low']]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| low elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [5, 'moderate'] | [5, 'moderate'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| low elevation sounding | [3, 'very low'] | [3, 'very low'] | Passed |
| low elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
| low elevation sounding | [6, 'high'] | [6, 'high'] | Passed |
| mid elevation sounding | [4, 'low'] | [4, 'low'] | Passed |
SHA-256 / 5f38505c1ad730fe6130b99cec5e5ac303627d1b8ec574a817cc42fe46238f46
Verification & scope
Stipulated deterministic teaching model of an operational weather index; coefficients and thresholds are fixed by the contract and no claim of standards conformance is made. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:48:27.093090+00:00.
Case digest / 74119701c3d62a52963117e83bb7316514cced308625dd82656c77c81194bc17