{"abstract":"A box poking out of the top of another is reported as within.","category":"GIS polygon topology","checks":8,"contract":"Input [a, b], closed boxes [minx, miny, maxx, maxy] with positive width and height. Return \"equals\" if identical, else \"disjoint\" if separated with no shared point, else \"contains\" if a covers b (shared edges allowed), \"within\" if b covers a, else \"touches\" if the boxes share only boundary, else \"overlaps\".","evaluation_group":"w2-gis-polygon-topology-envelope-relation","failed_approach":"The maxy comparison is back but the miny comparison is now missing.","family":"w2-gis-polygon-topology-envelope-relation-within-operand-completeness","id":"FA-70456","implementations":{"attempt":{"sha256":"80471e20fa6bf46a1c348f8cef5c48d3774a5ee386d07e489acd0480909ffc4e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    a, b = x\n    if a == b:\n        return 'equals'\n    if a[2] < b[0] or b[2] < a[0] or a[3] < b[1] or b[3] < a[1]:\n        return 'disjoint'\n    if a[0] <= b[0] and a[1] <= b[1] and a[2] >= b[2] and a[3] >= b[3]:\n        return 'contains'\n    if b[0] <= a[0] and b[2] >= a[2] and b[3] >= a[3]:\n        return 'within'\n    if a[2] == b[0] or b[2] == a[0] or a[3] == b[1] or b[3] == a[1]:\n        return 'touches'\n    return 'overlaps'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [[3, 0, 9, 4], [9, 3, 13, 11]], 'touches'), ('control #1', [[6, 3, 7, 5], [3, 1, 9, 6]], 'within'), ('control #2', [[5, 9, 6, 10], [3, 9, 10, 13]], 'within'), ('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #9', [[7, 2, 15, 6], [8, 4, 14, 11]], 'overlaps'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #28', [[0, 6, 5, 9], [0, 0, 5, 6]], 'touches')], [('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #16', [[0, 0, 5, 5], [5, 0, 9, 5]], 'touches'), ('boundary #17', [[0, 0, 5, 5], [5, 5, 9, 9]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #19', [[0, 0, 10, 10], [0, 0, 5, 5]], 'contains')]]\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":"815dc0f6053d5d32329fda2a63889ca7cc166cf9f476ed0f0c7ba522fb74a7e2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    a, b = x\n    if a == b:\n        return 'equals'\n    if a[2] < b[0] or b[2] < a[0] or a[3] < b[1] or b[3] < a[1]:\n        return 'disjoint'\n    if a[0] <= b[0] and a[1] <= b[1] and a[2] >= b[2] and a[3] >= b[3]:\n        return 'contains'\n    if b[0] <= a[0] and b[1] <= a[1] and b[2] >= a[2]:\n        return 'within'\n    if a[2] == b[0] or b[2] == a[0] or a[3] == b[1] or b[3] == a[1]:\n        return 'touches'\n    return 'overlaps'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [[3, 0, 9, 4], [9, 3, 13, 11]], 'touches'), ('control #1', [[6, 3, 7, 5], [3, 1, 9, 6]], 'within'), ('control #2', [[5, 9, 6, 10], [3, 9, 10, 13]], 'within'), ('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #9', [[7, 2, 15, 6], [8, 4, 14, 11]], 'overlaps'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #28', [[0, 6, 5, 9], [0, 0, 5, 6]], 'touches')], [('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #16', [[0, 0, 5, 5], [5, 0, 9, 5]], 'touches'), ('boundary #17', [[0, 0, 5, 5], [5, 5, 9, 9]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #19', [[0, 0, 10, 10], [0, 0, 5, 5]], 'contains')]]\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"},"fixed":{"sha256":"4c95b18aa0ee998fefb75930aea5e3c40e1abb226f5713132e2e1b3287ed845b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    a, b = x\n    if a == b:\n        return 'equals'\n    if a[2] < b[0] or b[2] < a[0] or a[3] < b[1] or b[3] < a[1]:\n        return 'disjoint'\n    if a[0] <= b[0] and a[1] <= b[1] and a[2] >= b[2] and a[3] >= b[3]:\n        return 'contains'\n    if b[0] <= a[0] and b[1] <= a[1] and b[2] >= a[2] and b[3] >= a[3]:\n        return 'within'\n    if a[2] == b[0] or b[2] == a[0] or a[3] == b[1] or b[3] == a[1]:\n        return 'touches'\n    return 'overlaps'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [[3, 0, 9, 4], [9, 3, 13, 11]], 'touches'), ('control #1', [[6, 3, 7, 5], [3, 1, 9, 6]], 'within'), ('control #2', [[5, 9, 6, 10], [3, 9, 10, 13]], 'within'), ('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #3', [[8, 2, 9, 4], [1, 10, 4, 15]], 'disjoint'), ('control #4', [[1, 1, 7, 5], [4, 5, 9, 8]], 'touches'), ('control #5', [[9, 7, 16, 13], [1, 10, 7, 13]], 'disjoint'), ('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #6', [[3, 1, 4, 5], [8, 8, 12, 15]], 'disjoint'), ('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #8', [[2, 1, 4, 2], [3, 1, 6, 4]], 'overlaps'), ('control #9', [[7, 2, 15, 6], [8, 4, 14, 11]], 'overlaps'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #28', [[0, 6, 5, 9], [0, 0, 5, 6]], 'touches')], [('control #7', [[1, 7, 6, 11], [0, 6, 7, 7]], 'touches'), ('control #10', [[7, 1, 10, 3], [7, 0, 14, 3]], 'within'), ('control #11', [[2, 7, 10, 9], [10, 8, 12, 13]], 'touches'), ('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches')], [('control #12', [[8, 9, 9, 16], [4, 4, 11, 11]], 'overlaps'), ('control #13', [[5, 3, 9, 9], [7, 8, 8, 15]], 'overlaps'), ('control #14', [[3, 2, 10, 3], [8, 5, 14, 7]], 'disjoint'), ('control #15', [[3, 5, 7, 12], [9, 2, 16, 3]], 'disjoint'), ('boundary #16', [[0, 0, 5, 5], [5, 0, 9, 5]], 'touches'), ('boundary #17', [[0, 0, 5, 5], [5, 5, 9, 9]], 'touches'), ('boundary #18', [[0, 0, 5, 5], [0, 5, 5, 9]], 'touches'), ('boundary #19', [[0, 0, 10, 10], [0, 0, 5, 5]], 'contains')]]\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":"Stipulated deterministic toy contract on a bounded input domain; results are rounded as stated and no conformance with any published standard or library is claimed. 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-gis-polygon-topology-envelope-relation-within-operand-completeness","generated_at":"2026-09-29T14:48:21.008410+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Spatial indexes and map tile filters prune candidates with envelope relations before exact geometry tests.","repair":"At the within operand completeness step restore `if b[0] <= a[0] and b[1] <= a[1] and b[2] >= a[2] and b[3] >= a[3]:`, leaving the rest of the model unchanged.","root_cause":"The within test omits the maxy comparison.","sha256":"215b23700284a2718026567fc5938bd9a4578439421646057f5649f7e2c4f5dc","title":"Bounding box topological relation: within operand completeness · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.73,"exit_code":1,"observations":[{"actual":"touches","check":"control #0","expected":"touches","passed":true},{"actual":"within","check":"control #1","expected":"within","passed":true},{"actual":"within","check":"control #2","expected":"within","passed":true},{"actual":"disjoint","check":"control #3","expected":"disjoint","passed":true},{"actual":"touches","check":"control #4","expected":"touches","passed":true},{"actual":"disjoint","check":"control #5","expected":"disjoint","passed":true},{"actual":"touches","check":"control #7","expected":"touches","passed":true},{"actual":"within","check":"boundary #18","expected":"touches","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #1\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #2\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #3\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #4\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #5\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #7\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"boundary #18\", \"actual\": \"within\", \"expected\": \"touches\", \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.152,"exit_code":1,"observations":[{"actual":"touches","check":"control #0","expected":"touches","passed":true},{"actual":"within","check":"control #1","expected":"within","passed":true},{"actual":"within","check":"control #2","expected":"within","passed":true},{"actual":"disjoint","check":"control #3","expected":"disjoint","passed":true},{"actual":"touches","check":"control #4","expected":"touches","passed":true},{"actual":"disjoint","check":"control #5","expected":"disjoint","passed":true},{"actual":"within","check":"control #7","expected":"touches","passed":false},{"actual":"touches","check":"boundary #18","expected":"touches","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #1\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #2\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #3\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #4\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #5\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #7\", \"actual\": \"within\", \"expected\": \"touches\", \"passed\": false}, {\"check\": \"boundary #18\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":37.288,"exit_code":0,"observations":[{"actual":"touches","check":"control #0","expected":"touches","passed":true},{"actual":"within","check":"control #1","expected":"within","passed":true},{"actual":"within","check":"control #2","expected":"within","passed":true},{"actual":"disjoint","check":"control #3","expected":"disjoint","passed":true},{"actual":"touches","check":"control #4","expected":"touches","passed":true},{"actual":"disjoint","check":"control #5","expected":"disjoint","passed":true},{"actual":"touches","check":"control #7","expected":"touches","passed":true},{"actual":"touches","check":"boundary #18","expected":"touches","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #1\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #2\", \"actual\": \"within\", \"expected\": \"within\", \"passed\": true}, {\"check\": \"control #3\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #4\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"control #5\", \"actual\": \"disjoint\", \"expected\": \"disjoint\", \"passed\": true}, {\"check\": \"control #7\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}, {\"check\": \"boundary #18\", \"actual\": \"touches\", \"expected\": \"touches\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}