{"abstract":"A DD caller dialing a BB number (+83...) gets a domestic dial string.","category":"Phone number formatting","checks":9,"contract":"Input [canonical +digits, caller country]. Toy table (code, exit prefix, trunk): DD 8/00/-, AA 42/00/0, BB 83/810/8, CC 891/011/-. The input must be \"+\" and digits only. The destination is the longest matching code. Same code as the caller: dial trunk + national number. Otherwise dial the caller exit prefix + code + national number. Unknown caller or code returns None.","evaluation_group":"w2-phone-number-formatting-dial-string","failed_approach":"Testing whether the destination code occurs inside the caller code misclassifies BB callers dialing DD.","family":"w2-phone-number-formatting-dial-string-domestic-test","id":"FA-96506","implementations":{"attempt":{"sha256":"dbebe7343ad37996c6350e68b7c6ffad04592e203f02f373a504d5c6a8cb0056","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    e164, frm = x\n    TABLE = {'DD': ('8', '00', ''), 'AA': ('42', '00', '0'), 'BB': ('83', '810', '8'), 'CC': ('891', '011', '')}\n    if frm not in TABLE or not e164.startswith('+') or not e164[1:].isdigit():\n        return None\n    digits = e164[1:]\n    cc = max((v[0] for v in TABLE.values() if digits.startswith(v[0])), key=len, default=None)\n    if cc is None:\n        return None\n    nsn = digits[len(cc):]\n    own_cc, exit_prefix, trunk = TABLE[frm]\n    if cc in own_cc:\n        return trunk + nsn\n    return exit_prefix + cc + nsn\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['domestic call adds trunk', ['+42555011123', 'AA'], '0555011123'], ['domestic call without trunk', ['+8915550135', 'CC'], '5550135'], ['caller code is a prefix of destination code', ['+835550121221', 'DD'], '00835550121221'], ['destination code is a prefix of caller code', ['+8555010141', 'BB'], '8108555010141'], ['three-digit exit prefix', ['+8915550135', 'AA'], '008915550135'], ['spaced E.164 rejected', ['+42 555011123', 'AA'], None], ['missing plus rejected', ['42555011123', 'AA'], None], ['leading zero instead of plus rejected', ['042555011123', 'AA'], None], ['unknown caller country', ['+42555011123', 'ZZ'], None]], [['domestic call adds trunk', ['+42555012234', 'AA'], '0555012234'], ['domestic call without trunk', ['+8915550246', 'CC'], '5550246'], ['caller code is a prefix of destination code', ['+835550122332', 'DD'], '00835550122332'], ['destination code is a prefix of caller code', ['+8555010252', 'BB'], '8108555010252'], ['three-digit exit prefix', ['+8915550246', 'AA'], '008915550246'], ['spaced E.164 rejected', ['+42 555012234', 'AA'], None], ['missing plus rejected', ['42555012234', 'AA'], None], ['leading zero instead of plus rejected', ['042555012234', 'AA'], None], ['unknown caller country', ['+42555012234', 'ZZ'], None]], [['domestic call adds trunk', ['+42555013345', 'AA'], '0555013345'], ['domestic call without trunk', ['+8915550357', 'CC'], '5550357'], ['caller code is a prefix of destination code', ['+835550123443', 'DD'], '00835550123443'], ['destination code is a prefix of caller code', ['+8555010363', 'BB'], '8108555010363'], ['three-digit exit prefix', ['+8915550357', 'AA'], '008915550357'], ['spaced E.164 rejected', ['+42 555013345', 'AA'], None], ['missing plus rejected', ['42555013345', 'AA'], None], ['leading zero instead of plus rejected', ['042555013345', 'AA'], None], ['unknown caller country', ['+42555013345', 'ZZ'], None]], [['domestic call adds trunk', ['+42555014456', 'AA'], '0555014456'], ['domestic call without trunk', ['+8915550468', 'CC'], '5550468'], ['caller code is a prefix of destination code', ['+835550124554', 'DD'], '00835550124554'], ['destination code is a prefix of caller code', ['+8555010474', 'BB'], '8108555010474'], ['three-digit exit prefix', ['+8915550468', 'AA'], '008915550468'], ['spaced E.164 rejected', ['+42 555014456', 'AA'], None], ['missing plus rejected', ['42555014456', 'AA'], None], ['leading zero instead of plus rejected', ['042555014456', 'AA'], None], ['unknown caller country', ['+42555014456', 'ZZ'], None]], [['domestic call adds trunk', ['+42555015567', 'AA'], '0555015567'], ['domestic call without trunk', ['+8915550579', 'CC'], '5550579'], ['caller code is a prefix of destination code', ['+835550125665', 'DD'], '00835550125665'], ['destination code is a prefix of caller code', ['+8555010585', 'BB'], '8108555010585'], ['three-digit exit prefix', ['+8915550579', 'AA'], '008915550579'], ['spaced E.164 rejected', ['+42 555015567', 'AA'], None], ['missing plus rejected', ['42555015567', 'AA'], None], ['leading zero instead of plus rejected', ['042555015567', 'AA'], None], ['unknown caller country', ['+42555015567', 'ZZ'], None]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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":"a33e7b0bd95ee53d451583db19fa4a79b4401b242513eaeeb04c7016178e3aea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    e164, frm = x\n    TABLE = {'DD': ('8', '00', ''), 'AA': ('42', '00', '0'), 'BB': ('83', '810', '8'), 'CC': ('891', '011', '')}\n    if frm not in TABLE or not e164.startswith('+') or not e164[1:].isdigit():\n        return None\n    digits = e164[1:]\n    cc = max((v[0] for v in TABLE.values() if digits.startswith(v[0])), key=len, default=None)\n    if cc is None:\n        return None\n    nsn = digits[len(cc):]\n    own_cc, exit_prefix, trunk = TABLE[frm]\n    if digits.startswith(own_cc):\n        return trunk + nsn\n    return exit_prefix + cc + nsn\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['domestic call adds trunk', ['+42555011123', 'AA'], '0555011123'], ['domestic call without trunk', ['+8915550135', 'CC'], '5550135'], ['caller code is a prefix of destination code', ['+835550121221', 'DD'], '00835550121221'], ['destination code is a prefix of caller code', ['+8555010141', 'BB'], '8108555010141'], ['three-digit exit prefix', ['+8915550135', 'AA'], '008915550135'], ['spaced E.164 rejected', ['+42 555011123', 'AA'], None], ['missing plus rejected', ['42555011123', 'AA'], None], ['leading zero instead of plus rejected', ['042555011123', 'AA'], None], ['unknown caller country', ['+42555011123', 'ZZ'], None]], [['domestic call adds trunk', ['+42555012234', 'AA'], '0555012234'], ['domestic call without trunk', ['+8915550246', 'CC'], '5550246'], ['caller code is a prefix of destination code', ['+835550122332', 'DD'], '00835550122332'], ['destination code is a prefix of caller code', ['+8555010252', 'BB'], '8108555010252'], ['three-digit exit prefix', ['+8915550246', 'AA'], '008915550246'], ['spaced E.164 rejected', ['+42 555012234', 'AA'], None], ['missing plus rejected', ['42555012234', 'AA'], None], ['leading zero instead of plus rejected', ['042555012234', 'AA'], None], ['unknown caller country', ['+42555012234', 'ZZ'], None]], [['domestic call adds trunk', ['+42555013345', 'AA'], '0555013345'], ['domestic call without trunk', ['+8915550357', 'CC'], '5550357'], ['caller code is a prefix of destination code', ['+835550123443', 'DD'], '00835550123443'], ['destination code is a prefix of caller code', ['+8555010363', 'BB'], '8108555010363'], ['three-digit exit prefix', ['+8915550357', 'AA'], '008915550357'], ['spaced E.164 rejected', ['+42 555013345', 'AA'], None], ['missing plus rejected', ['42555013345', 'AA'], None], ['leading zero instead of plus rejected', ['042555013345', 'AA'], None], ['unknown caller country', ['+42555013345', 'ZZ'], None]], [['domestic call adds trunk', ['+42555014456', 'AA'], '0555014456'], ['domestic call without trunk', ['+8915550468', 'CC'], '5550468'], ['caller code is a prefix of destination code', ['+835550124554', 'DD'], '00835550124554'], ['destination code is a prefix of caller code', ['+8555010474', 'BB'], '8108555010474'], ['three-digit exit prefix', ['+8915550468', 'AA'], '008915550468'], ['spaced E.164 rejected', ['+42 555014456', 'AA'], None], ['missing plus rejected', ['42555014456', 'AA'], None], ['leading zero instead of plus rejected', ['042555014456', 'AA'], None], ['unknown caller country', ['+42555014456', 'ZZ'], None]], [['domestic call adds trunk', ['+42555015567', 'AA'], '0555015567'], ['domestic call without trunk', ['+8915550579', 'CC'], '5550579'], ['caller code is a prefix of destination code', ['+835550125665', 'DD'], '00835550125665'], ['destination code is a prefix of caller code', ['+8555010585', 'BB'], '8108555010585'], ['three-digit exit prefix', ['+8915550579', 'AA'], '008915550579'], ['spaced E.164 rejected', ['+42 555015567', 'AA'], None], ['missing plus rejected', ['42555015567', 'AA'], None], ['leading zero instead of plus rejected', ['042555015567', 'AA'], None], ['unknown caller country', ['+42555015567', 'ZZ'], None]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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":"e0302895b52b670e5ecd1f53486371d5d15a0821adaf64264b871480d1dfb506","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    e164, frm = x\n    TABLE = {'DD': ('8', '00', ''), 'AA': ('42', '00', '0'), 'BB': ('83', '810', '8'), 'CC': ('891', '011', '')}\n    if frm not in TABLE or not e164.startswith('+') or not e164[1:].isdigit():\n        return None\n    digits = e164[1:]\n    cc = max((v[0] for v in TABLE.values() if digits.startswith(v[0])), key=len, default=None)\n    if cc is None:\n        return None\n    nsn = digits[len(cc):]\n    own_cc, exit_prefix, trunk = TABLE[frm]\n    if cc == own_cc:\n        return trunk + nsn\n    return exit_prefix + cc + nsn\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['domestic call adds trunk', ['+42555011123', 'AA'], '0555011123'], ['domestic call without trunk', ['+8915550135', 'CC'], '5550135'], ['caller code is a prefix of destination code', ['+835550121221', 'DD'], '00835550121221'], ['destination code is a prefix of caller code', ['+8555010141', 'BB'], '8108555010141'], ['three-digit exit prefix', ['+8915550135', 'AA'], '008915550135'], ['spaced E.164 rejected', ['+42 555011123', 'AA'], None], ['missing plus rejected', ['42555011123', 'AA'], None], ['leading zero instead of plus rejected', ['042555011123', 'AA'], None], ['unknown caller country', ['+42555011123', 'ZZ'], None]], [['domestic call adds trunk', ['+42555012234', 'AA'], '0555012234'], ['domestic call without trunk', ['+8915550246', 'CC'], '5550246'], ['caller code is a prefix of destination code', ['+835550122332', 'DD'], '00835550122332'], ['destination code is a prefix of caller code', ['+8555010252', 'BB'], '8108555010252'], ['three-digit exit prefix', ['+8915550246', 'AA'], '008915550246'], ['spaced E.164 rejected', ['+42 555012234', 'AA'], None], ['missing plus rejected', ['42555012234', 'AA'], None], ['leading zero instead of plus rejected', ['042555012234', 'AA'], None], ['unknown caller country', ['+42555012234', 'ZZ'], None]], [['domestic call adds trunk', ['+42555013345', 'AA'], '0555013345'], ['domestic call without trunk', ['+8915550357', 'CC'], '5550357'], ['caller code is a prefix of destination code', ['+835550123443', 'DD'], '00835550123443'], ['destination code is a prefix of caller code', ['+8555010363', 'BB'], '8108555010363'], ['three-digit exit prefix', ['+8915550357', 'AA'], '008915550357'], ['spaced E.164 rejected', ['+42 555013345', 'AA'], None], ['missing plus rejected', ['42555013345', 'AA'], None], ['leading zero instead of plus rejected', ['042555013345', 'AA'], None], ['unknown caller country', ['+42555013345', 'ZZ'], None]], [['domestic call adds trunk', ['+42555014456', 'AA'], '0555014456'], ['domestic call without trunk', ['+8915550468', 'CC'], '5550468'], ['caller code is a prefix of destination code', ['+835550124554', 'DD'], '00835550124554'], ['destination code is a prefix of caller code', ['+8555010474', 'BB'], '8108555010474'], ['three-digit exit prefix', ['+8915550468', 'AA'], '008915550468'], ['spaced E.164 rejected', ['+42 555014456', 'AA'], None], ['missing plus rejected', ['42555014456', 'AA'], None], ['leading zero instead of plus rejected', ['042555014456', 'AA'], None], ['unknown caller country', ['+42555014456', 'ZZ'], None]], [['domestic call adds trunk', ['+42555015567', 'AA'], '0555015567'], ['domestic call without trunk', ['+8915550579', 'CC'], '5550579'], ['caller code is a prefix of destination code', ['+835550125665', 'DD'], '00835550125665'], ['destination code is a prefix of caller code', ['+8555010585', 'BB'], '8108555010585'], ['three-digit exit prefix', ['+8915550579', 'AA'], '008915550579'], ['spaced E.164 rejected', ['+42 555015567', 'AA'], None], ['missing plus rejected', ['42555015567', 'AA'], None], ['leading zero instead of plus rejected', ['042555015567', 'AA'], None], ['unknown caller country', ['+42555015567', 'ZZ'], None]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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 contract over synthetic, obviously fictitious telephone numbers and toy country tables. The rules are stipulated for this model only and make no claim of conformance with any numbering plan or telecommunications standard. 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-phone-number-formatting-dial-string-domestic-test","generated_at":"2026-09-29T14:52:23.318965+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Click-to-call and PBX integrations dial the string produced here; a wrong prefix connects to a different subscriber or fails.","repair":"Compare the matched destination code with the caller code for equality.","root_cause":"Domestic calls are detected by the digits starting with the caller code rather than by comparing the matched code.","sha256":"c6c3eec38f0a68cefe169580111a7a39a3f7a6d25bf2907eb034d7f524b6a668","title":"Dial string from E.164: prefix overlap is mistaken for a domestic call · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.437,"exit_code":1,"observations":[{"actual":"0555011123","check":"domestic call adds trunk","expected":"0555011123","passed":true},{"actual":"5550135","check":"domestic call without trunk","expected":"5550135","passed":true},{"actual":"00835550121221","check":"caller code is a prefix of destination code","expected":"00835550121221","passed":true},{"actual":"8555010141","check":"destination code is a prefix of caller code","expected":"8108555010141","passed":false},{"actual":"008915550135","check":"three-digit exit prefix","expected":"008915550135","passed":true},{"actual":null,"check":"spaced E.164 rejected","expected":null,"passed":true},{"actual":null,"check":"missing plus rejected","expected":null,"passed":true},{"actual":null,"check":"leading zero instead of plus rejected","expected":null,"passed":true},{"actual":null,"check":"unknown caller country","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"domestic call adds trunk\", \"actual\": \"0555011123\", \"expected\": \"0555011123\", \"passed\": true}, {\"check\": \"domestic call without trunk\", \"actual\": \"5550135\", \"expected\": \"5550135\", \"passed\": true}, {\"check\": \"caller code is a prefix of destination code\", \"actual\": \"00835550121221\", \"expected\": \"00835550121221\", \"passed\": true}, {\"check\": \"destination code is a prefix of caller code\", \"actual\": \"8555010141\", \"expected\": \"8108555010141\", \"passed\": false}, {\"check\": \"three-digit exit prefix\", \"actual\": \"008915550135\", \"expected\": \"008915550135\", \"passed\": true}, {\"check\": \"spaced E.164 rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"leading zero instead of plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown caller country\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.955,"exit_code":1,"observations":[{"actual":"0555011123","check":"domestic call adds trunk","expected":"0555011123","passed":true},{"actual":"5550135","check":"domestic call without trunk","expected":"5550135","passed":true},{"actual":"5550121221","check":"caller code is a prefix of destination code","expected":"00835550121221","passed":false},{"actual":"8108555010141","check":"destination code is a prefix of caller code","expected":"8108555010141","passed":true},{"actual":"008915550135","check":"three-digit exit prefix","expected":"008915550135","passed":true},{"actual":null,"check":"spaced E.164 rejected","expected":null,"passed":true},{"actual":null,"check":"missing plus rejected","expected":null,"passed":true},{"actual":null,"check":"leading zero instead of plus rejected","expected":null,"passed":true},{"actual":null,"check":"unknown caller country","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"domestic call adds trunk\", \"actual\": \"0555011123\", \"expected\": \"0555011123\", \"passed\": true}, {\"check\": \"domestic call without trunk\", \"actual\": \"5550135\", \"expected\": \"5550135\", \"passed\": true}, {\"check\": \"caller code is a prefix of destination code\", \"actual\": \"5550121221\", \"expected\": \"00835550121221\", \"passed\": false}, {\"check\": \"destination code is a prefix of caller code\", \"actual\": \"8108555010141\", \"expected\": \"8108555010141\", \"passed\": true}, {\"check\": \"three-digit exit prefix\", \"actual\": \"008915550135\", \"expected\": \"008915550135\", \"passed\": true}, {\"check\": \"spaced E.164 rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"leading zero instead of plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown caller country\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.117,"exit_code":0,"observations":[{"actual":"0555011123","check":"domestic call adds trunk","expected":"0555011123","passed":true},{"actual":"5550135","check":"domestic call without trunk","expected":"5550135","passed":true},{"actual":"00835550121221","check":"caller code is a prefix of destination code","expected":"00835550121221","passed":true},{"actual":"8108555010141","check":"destination code is a prefix of caller code","expected":"8108555010141","passed":true},{"actual":"008915550135","check":"three-digit exit prefix","expected":"008915550135","passed":true},{"actual":null,"check":"spaced E.164 rejected","expected":null,"passed":true},{"actual":null,"check":"missing plus rejected","expected":null,"passed":true},{"actual":null,"check":"leading zero instead of plus rejected","expected":null,"passed":true},{"actual":null,"check":"unknown caller country","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"domestic call adds trunk\", \"actual\": \"0555011123\", \"expected\": \"0555011123\", \"passed\": true}, {\"check\": \"domestic call without trunk\", \"actual\": \"5550135\", \"expected\": \"5550135\", \"passed\": true}, {\"check\": \"caller code is a prefix of destination code\", \"actual\": \"00835550121221\", \"expected\": \"00835550121221\", \"passed\": true}, {\"check\": \"destination code is a prefix of caller code\", \"actual\": \"8108555010141\", \"expected\": \"8108555010141\", \"passed\": true}, {\"check\": \"three-digit exit prefix\", \"actual\": \"008915550135\", \"expected\": \"008915550135\", \"passed\": true}, {\"check\": \"spaced E.164 rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"leading zero instead of plus rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown caller country\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}