{"abstract":"A via-way prohibition blocks unrelated approaches in the controlled route-policy fixture.","category":"Navigation route constraints","checks":7,"contract":"Return whether a nonempty road-ID prohibition occurs contiguously anywhere in a road sequence.","contract_signature":"route, prohibited","evaluation_group":"model-8f4a17f96a601040","failed_approach":"Checking only the whole route misses a forbidden maneuver inside a longer itinerary.","family":"z-navigation_routes-via-way","id":"FA-12191","implementations":{"attempt":{"sha256":"077ba74e592c3461bc21d48a4e2c225e67d2a1bfba9c37f3bd013c8d0027fb0a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(route, prohibited):\n    return route == prohibited\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\na,b,c,x = N, N+10, N+20, N+30\ncheck('whole maneuver', solve([a,b,c],[a,b,c]), True)\ncheck('unrelated approach', solve([x,b,c],[a,b,c]), False)\ncheck('maneuver inside itinerary', solve([x,a,b,c,x],[a,b,c]), True)\ncheck('separated roads', solve([a,x,b,c],[a,b,c]), False)\ncheck('route too short', solve([b,c],[a,b,c]), False)\ncheck('reverse order', solve([c,b,a],[a,b,c]), False)\ncheck('empty route', solve([],[a,b,c]), False)\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":"877199a8e514cf1267b570d5a850c2231aef23c2f45764a1cfde29ddd6f3dbd2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(route, prohibited):\n    return any(route[i:i+2] == prohibited[-2:] for i in range(len(route)-1))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\na,b,c,x = N, N+10, N+20, N+30\ncheck('whole maneuver', solve([a,b,c],[a,b,c]), True)\ncheck('unrelated approach', solve([x,b,c],[a,b,c]), False)\ncheck('maneuver inside itinerary', solve([x,a,b,c,x],[a,b,c]), True)\ncheck('separated roads', solve([a,x,b,c],[a,b,c]), False)\ncheck('route too short', solve([b,c],[a,b,c]), False)\ncheck('reverse order', solve([c,b,a],[a,b,c]), False)\ncheck('empty route', solve([],[a,b,c]), False)\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":"Simplified deterministic offline policy model; not a production router or authoritative road guidance. 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":"z-navigation_routes-via-way","generated_at":"2026-09-29T14:38:54.712225+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Navigation policies depend on road context that a shortest-path cost alone does not encode.","root_cause":"A forbidden maneuver is reduced to its final road pair, discarding the approach history.","sha256":"a870138bcc810f44cc03a41cb68b025e8545ccde6e35cd506a42c1039c9c8294","title":"A via-way prohibition blocks unrelated approaches · 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":40.645,"exit_code":1,"observations":[{"actual":true,"check":"whole maneuver","expected":true,"passed":true},{"actual":false,"check":"unrelated approach","expected":false,"passed":true},{"actual":false,"check":"maneuver inside itinerary","expected":true,"passed":false},{"actual":false,"check":"separated roads","expected":false,"passed":true},{"actual":false,"check":"route too short","expected":false,"passed":true},{"actual":false,"check":"reverse order","expected":false,"passed":true},{"actual":false,"check":"empty route","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"whole maneuver\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unrelated approach\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"maneuver inside itinerary\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"separated roads\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"route too short\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"reverse order\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"empty route\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.648,"exit_code":1,"observations":[{"actual":true,"check":"whole maneuver","expected":true,"passed":true},{"actual":true,"check":"unrelated approach","expected":false,"passed":false},{"actual":true,"check":"maneuver inside itinerary","expected":true,"passed":true},{"actual":true,"check":"separated roads","expected":false,"passed":false},{"actual":true,"check":"route too short","expected":false,"passed":false},{"actual":false,"check":"reverse order","expected":false,"passed":true},{"actual":false,"check":"empty route","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"whole maneuver\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unrelated approach\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"maneuver inside itinerary\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"separated roads\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"route too short\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"reverse order\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"empty route\", \"actual\": false, \"expected\": false, \"passed\": true}], \"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."}}