{"abstract":"During a surge the bridge is reported with its full charted clearance.","category":"Tide and marine navigation tables","checks":7,"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].","contract_signature":"x","evaluation_group":"w2-tide_and_marine_navigation_tables-air_draft","failed_approach":"Only counting surge beyond a half-metre tolerance still overstates clearance.","family":"w2-tide_and_marine_navigation_tables-air_draft-surge-above-mhws","id":"FA-68976","implementations":{"attempt":{"sha256":"2c97fccf4f819f4a18d1ad78ebea7536f4f09fc2a62f0a2c5d462ea338c79dba","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    c,mhws,tide,air,safety=x\n    avail=c+max(0.0,mhws-tide)-max(0.0,tide-mhws-0.5)\n    margin=avail-air\n    return [round(avail,2),round(margin,2),margin>=safety]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('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, 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, 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.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 [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 [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 [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 [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 [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 [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]), ('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])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"718c5f0af05999bbe98a6003a917e0116f5dd030d98c9b4730ee927ca9da95b6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    c,mhws,tide,air,safety=x\n    avail=c+max(0.0,mhws-tide)\n    margin=avail-air\n    return [round(avail,2),round(margin,2),margin>=safety]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('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, 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, 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.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 [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 [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 [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 [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 [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 [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]), ('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])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-tide_and_marine_navigation_tables-air_draft-surge-above-mhws","generated_at":"2026-09-29T14:48:07.234890+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tide tables and passage plans turn published predictions into go/no-go decisions about depth, clearance and timing.","root_cause":"The height correction is clamped with max(0, mhws-tide), discarding the loss above MHWS.","sha256":"0aea06553e841f684f02637bef3e8bf1e650ce3b8b94062c6950cf0bfa3a246a","title":"Bridge air draft clearance: Tides above MHWS are clipped to zero reduction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.232,"exit_code":1,"observations":[{"actual":[17.8,0.8,false],"check":"bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]","expected":[17.3,0.3,false],"passed":false},{"actual":[21.4,0.9,false],"check":"bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]","expected":[21.4,0.9,false],"passed":true},{"actual":[18.0,1.0,true],"check":"bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]","expected":[18.0,1.0,true],"passed":true},{"actual":[18.0,1.1,true],"check":"bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]","expected":[17.5,0.6,true],"passed":false},{"actual":[18.2,1.2,true],"check":"bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]","expected":[18.2,1.2,true],"passed":true},{"actual":[15.6,0.7,false],"check":"bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]","expected":[15.6,0.7,false],"passed":true},{"actual":[29.8,0.8,true],"check":"bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]","expected":[29.3,0.3,true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]\", \"actual\": [17.8, 0.8, false], \"expected\": [17.3, 0.3, false], \"passed\": false}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]\", \"actual\": [21.4, 0.9, false], \"expected\": [21.4, 0.9, false], \"passed\": true}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]\", \"actual\": [18.0, 1.0, true], \"expected\": [18.0, 1.0, true], \"passed\": true}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]\", \"actual\": [18.0, 1.1, true], \"expected\": [17.5, 0.6, true], \"passed\": false}, {\"check\": \"bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]\", \"actual\": [18.2, 1.2, true], \"expected\": [18.2, 1.2, true], \"passed\": true}, {\"check\": \"bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]\", \"actual\": [15.6, 0.7, false], \"expected\": [15.6, 0.7, false], \"passed\": true}, {\"check\": \"bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]\", \"actual\": [29.8, 0.8, true], \"expected\": [29.3, 0.3, true], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.198,"exit_code":1,"observations":[{"actual":[18.0,1.0,true],"check":"bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]","expected":[17.3,0.3,false],"passed":false},{"actual":[21.4,0.9,false],"check":"bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]","expected":[21.4,0.9,false],"passed":true},{"actual":[18.0,1.0,true],"check":"bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]","expected":[18.0,1.0,true],"passed":true},{"actual":[18.0,1.1,true],"check":"bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]","expected":[17.5,0.6,true],"passed":false},{"actual":[18.2,1.2,true],"check":"bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]","expected":[18.2,1.2,true],"passed":true},{"actual":[15.6,0.7,false],"check":"bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]","expected":[15.6,0.7,false],"passed":true},{"actual":[30.0,1.0,true],"check":"bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]","expected":[29.3,0.3,true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bridge air draft clearance [18.0, 4.6, 5.3, 17.0, 1.0]\", \"actual\": [18.0, 1.0, true], \"expected\": [17.3, 0.3, false], \"passed\": false}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 1.2, 20.5, 1.0]\", \"actual\": [21.4, 0.9, false], \"expected\": [21.4, 0.9, false], \"passed\": true}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 4.6, 17.0, 1.0]\", \"actual\": [18.0, 1.0, true], \"expected\": [18.0, 1.0, true], \"passed\": true}, {\"check\": \"bridge air draft clearance [18.0, 4.6, 5.1, 16.9, 0.5]\", \"actual\": [18.0, 1.1, true], \"expected\": [17.5, 0.6, true], \"passed\": false}, {\"check\": \"bridge air draft clearance [12.5, 6.1, 0.4, 17.0, 0.5]\", \"actual\": [18.2, 1.2, true], \"expected\": [18.2, 1.2, true], \"passed\": true}, {\"check\": \"bridge air draft clearance [12.5, 6.1, 3.0, 14.9, 0.7]\", \"actual\": [15.6, 0.7, false], \"expected\": [15.6, 0.7, false], \"passed\": true}, {\"check\": \"bridge air draft clearance [30.0, 2.2, 2.9, 29.0, 0.2]\", \"actual\": [30.0, 1.0, true], \"expected\": [29.3, 0.3, true], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}