FA-68966 / Tide and marine navigation tables / Open access
Bridge air draft clearance: Rising tide increases the bridge clearance · case 01
Clearance appears to grow as the tide rises, approving transits at high water.
ROOT CAUSE
The difference between MHWS and the current tide is taken as tide-mhws.
VERIFIED REPAIR
Add mhws-tide to the charted clearance.
Unsuccessful approach: Taking the absolute difference is right below MHWS but grows clearance during surges.
Case contract
Input [c, mhws, tide, air, safety]: charted vertical clearance c is measured above MHWS; mhws and tide are heights above chart datum; air is the vessel air draft. Available clearance = c+(mhws-tide) (it shrinks when the tide exceeds MHWS). Return [round(avail,2), round(avail-air,2), avail-air>=safety].
Why this case matters
Tide tables and passage plans turn published predictions into go/no-go decisions about depth, clearance and timing.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
c,mhws,tide,air,safety=x
avail=c+(tide-mhws)
margin=avail-air
return [round(avail,2),round(margin,2),margin>=safety]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False]), ('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]', [18.0, 4.6, 4.6, 17.0, 1.0], [18.0, 1.0, True]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True])], [('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True])], [('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True])], [('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True])], [('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True]), ('bridge air draft clearance [15.0, 4.0, 4.1, 14.35, 0.5]', [15.0, 4.0, 4.1, 14.35, 0.5], [14.9, 0.55, True]), ('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False])]]
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 |
|---|---|---|---|
| bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0] | [14.6, -5.9, False] | [21.4, 0.9, False] | Failed |
| bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0] | [18.7, 1.7, True] | [17.3, 0.3, False] | Failed |
| bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0] | [18.0, 1.0, True] | [18.0, 1.0, True] | Passed |
| bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5] | [18.5, 1.6, True] | [17.5, 0.6, True] | Failed |
| bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5] | [6.8, -10.2, False] | [18.2, 1.2, True] | Failed |
| bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7] | [9.4, -5.5, False] | [15.6, 0.7, False] | Failed |
| bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2] | [30.7, 1.7, True] | [29.3, 0.3, True] | Failed |
SHA-256 / 5de59a07f46a58bb5b89cb4b9eb311461b0e297b85d896e652a8d9ca7b4aee18
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
c,mhws,tide,air,safety=x
avail=c+abs(mhws-tide)
margin=avail-air
return [round(avail,2),round(margin,2),margin>=safety]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False]), ('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]', [18.0, 4.6, 4.6, 17.0, 1.0], [18.0, 1.0, True]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True])], [('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True])], [('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True])], [('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True])], [('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True]), ('bridge air draft clearance [15.0, 4.0, 4.1, 14.35, 0.5]', [15.0, 4.0, 4.1, 14.35, 0.5], [14.9, 0.55, True]), ('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False])]]
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 |
|---|---|---|---|
| bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0] | [21.4, 0.9, False] | [21.4, 0.9, False] | Passed |
| bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0] | [18.7, 1.7, True] | [17.3, 0.3, False] | Failed |
| bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0] | [18.0, 1.0, True] | [18.0, 1.0, True] | Passed |
| bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5] | [18.5, 1.6, True] | [17.5, 0.6, True] | Failed |
| bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5] | [18.2, 1.2, True] | [18.2, 1.2, True] | Passed |
| bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7] | [15.6, 0.7, False] | [15.6, 0.7, False] | Passed |
| bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2] | [30.7, 1.7, True] | [29.3, 0.3, True] | Failed |
SHA-256 / 505e6267defc28bc168a215348377cd2dc0d9d1ff06b32506088a662b45cae5d
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
c,mhws,tide,air,safety=x
avail=c+(mhws-tide)
margin=avail-air
return [round(avail,2),round(margin,2),margin>=safety]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False]), ('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]', [18.0, 4.6, 4.6, 17.0, 1.0], [18.0, 1.0, True]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True])], [('bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]', [18.0, 4.6, 5.3, 17.0, 1.0], [17.3, 0.3, False]), ('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True])], [('bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]', [18.0, 4.6, 5.1, 16.9, 0.5], [17.5, 0.6, True]), ('bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]', [30.0, 2.2, 2.9, 29.0, 0.2], [29.3, 0.3, True]), ('bridge air draft clearance [9.0, 5.0, 5.0, 8.5, 0.5]', [9.0, 5.0, 5.0, 8.5, 0.5], [9.0, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 2.5, 11.0, 0.5]', [9.0, 5.0, 2.5, 11.0, 0.5], [11.5, 0.5, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True])], [('bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]', [12.5, 6.1, 0.4, 17.0, 0.5], [18.2, 1.2, True]), ('bridge air draft clearance [9.0, 5.0, 6.0, 7.5, 0.4]', [9.0, 5.0, 6.0, 7.5, 0.4], [8.0, 0.5, True]), ('bridge air draft clearance [22.0, 3.5, 0.0, 25.0, 0.5]', [22.0, 3.5, 0.0, 25.0, 0.5], [25.5, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True])], [('bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]', [12.5, 6.1, 3.0, 14.9, 0.7], [15.6, 0.7, False]), ('bridge air draft clearance [15.0, 4.0, 4.4, 14.1, 0.5]', [15.0, 4.0, 4.4, 14.1, 0.5], [14.6, 0.5, True]), ('bridge air draft clearance [15.0, 4.0, 2.0, 16.46, 0.5]', [15.0, 4.0, 2.0, 16.46, 0.5], [17.0, 0.54, True]), ('bridge air draft clearance [15.0, 4.0, 4.8, 13.5, 0.2]', [15.0, 4.0, 4.8, 13.5, 0.2], [14.2, 0.7, True]), ('bridge air draft clearance [15.0, 4.0, 4.0, 14.42, 0.55]', [15.0, 4.0, 4.0, 14.42, 0.55], [15.0, 0.58, True]), ('bridge air draft clearance [15.0, 4.0, 4.1, 14.35, 0.5]', [15.0, 4.0, 4.1, 14.35, 0.5], [14.9, 0.55, True]), ('bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]', [18.0, 4.6, 1.2, 20.5, 1.0], [21.4, 0.9, False])]]
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 |
|---|---|---|---|
| bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0] | [21.4, 0.9, False] | [21.4, 0.9, False] | Passed |
| bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0] | [17.3, 0.3, False] | [17.3, 0.3, False] | Passed |
| bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0] | [18.0, 1.0, True] | [18.0, 1.0, True] | Passed |
| bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5] | [17.5, 0.6, True] | [17.5, 0.6, True] | Passed |
| bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5] | [18.2, 1.2, True] | [18.2, 1.2, True] | Passed |
| bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7] | [15.6, 0.7, False] | [15.6, 0.7, False] | Passed |
| bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2] | [29.3, 0.3, True] | [29.3, 0.3, True] | Passed |
SHA-256 / 40115d8da626f2454bdfbe450d434a5e0bba102c109961f5e81f989233abea04
Verification & scope
A deterministic toy model with stipulated rules and constants; not certified hydrographic software or a substitute for official tide tables. 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:07.106590+00:00.
Case digest / 4a1a793d9f6f0ff7ade5278ec122440ed4deee28f7bbb4a60c9d9b63bc199066