{"abstract":"A boundary string that occurs inside a nested part is chosen for the outer multipart.","category":"Email MIME structure","checks":6,"contract":"Multipart nodes have \"parts\", leaves have \"text\". Nodes are visited depth-first (pre-order) and a single counter produces candidates base_1, base_2, ... A candidate is rejected when it occurs in any text anywhere below the node, when it is a prefix of an ancestor boundary or an ancestor boundary is a prefix of it, and a candidate longer than 70 characters makes that node's boundary None (its subtree gets none). Result: boundaries in visiting order.","evaluation_group":"w2-email_mime_structure-boundary-choice","failed_approach":"Checking only the first child's subtree misses collisions in later children. The attempted `texts = contents(n['parts'][0])` still disagrees with a fixture.","family":"w2-email_mime_structure-boundary-choice-descendant-scope","id":"FA-76766","implementations":{"attempt":{"sha256":"d493d46860e1319726016d035515b373fc42cbdf3e6a0124112e40067fc0f9ea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tree, base):\n    out = []\n    counter = [0]\n    def contents(n):\n        if 'parts' in n:\n            return [x for c in n['parts'] for x in contents(c)]\n        return [n.get('text', '')]\n    def assign(n, ancestors):\n        if 'parts' not in n:\n            return\n        texts = contents(n['parts'][0])\n        while True:\n            counter[0] += 1\n            cand = base + '_' + str(counter[0])\n            if len(cand) > 70:\n                out.append(None)\n                return\n            if any(cand in t for t in texts):\n                continue\n            if any(a.startswith(cand) or cand.startswith(a) for a in ancestors):\n                continue\n            break\n        out.append(cand)\n        for c in n['parts']:\n            assign(c, ancestors + [cand])\n    assign(tree, [])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b1_1 and b1_2'}]}]}, 'b1'), ['b1_3', 'b1_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q1_2 q1_3 q1_4 q1_5 q1_6 q1_7 q1_8 q1_9'}]}]}, 'q1'), ['q1_1', 'q1_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm1'), ['m1_1', 'm1_2', 'm1_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 2: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b2_1 and b2_2'}]}]}, 'b2'), ['b2_3', 'b2_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q2_2 q2_3 q2_4 q2_5 q2_6 q2_7 q2_8 q2_9'}]}]}, 'q2'), ['q2_1', 'q2_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm2'), ['m2_1', 'm2_2', 'm2_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 3: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b3_1 and b3_2'}]}]}, 'b3'), ['b3_3', 'b3_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q3_2 q3_3 q3_4 q3_5 q3_6 q3_7 q3_8 q3_9'}]}]}, 'q3'), ['q3_1', 'q3_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm3'), ['m3_1', 'm3_2', 'm3_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 4: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b4_1 and b4_2'}]}]}, 'b4'), ['b4_3', 'b4_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q4_2 q4_3 q4_4 q4_5 q4_6 q4_7 q4_8 q4_9'}]}]}, 'q4'), ['q4_1', 'q4_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm4'), ['m4_1', 'm4_2', 'm4_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 5: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b5_1 and b5_2'}]}]}, 'b5'), ['b5_3', 'b5_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q5_2 q5_3 q5_4 q5_5 q5_6 q5_7 q5_8 q5_9'}]}]}, 'q5'), ['q5_1', 'q5_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm5'), ['m5_1', 'm5_2', 'm5_3']), ('single leaf', ({'text': 'only'}, 'n'), [])]}\nfor _label, _args, _expected in _CASES[N]:\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":"a381daedc3f25edd008e7e6ea57169d01101c0d001846a3ae6dc4e6e6c85af5b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tree, base):\n    out = []\n    counter = [0]\n    def contents(n):\n        if 'parts' in n:\n            return [x for c in n['parts'] for x in contents(c)]\n        return [n.get('text', '')]\n    def assign(n, ancestors):\n        if 'parts' not in n:\n            return\n        texts = [c.get('text', '') for c in n['parts']]\n        while True:\n            counter[0] += 1\n            cand = base + '_' + str(counter[0])\n            if len(cand) > 70:\n                out.append(None)\n                return\n            if any(cand in t for t in texts):\n                continue\n            if any(a.startswith(cand) or cand.startswith(a) for a in ancestors):\n                continue\n            break\n        out.append(cand)\n        for c in n['parts']:\n            assign(c, ancestors + [cand])\n    assign(tree, [])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b1_1 and b1_2'}]}]}, 'b1'), ['b1_3', 'b1_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q1_2 q1_3 q1_4 q1_5 q1_6 q1_7 q1_8 q1_9'}]}]}, 'q1'), ['q1_1', 'q1_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm1'), ['m1_1', 'm1_2', 'm1_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 2: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b2_1 and b2_2'}]}]}, 'b2'), ['b2_3', 'b2_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q2_2 q2_3 q2_4 q2_5 q2_6 q2_7 q2_8 q2_9'}]}]}, 'q2'), ['q2_1', 'q2_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm2'), ['m2_1', 'm2_2', 'm2_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 3: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b3_1 and b3_2'}]}]}, 'b3'), ['b3_3', 'b3_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q3_2 q3_3 q3_4 q3_5 q3_6 q3_7 q3_8 q3_9'}]}]}, 'q3'), ['q3_1', 'q3_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm3'), ['m3_1', 'm3_2', 'm3_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 4: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b4_1 and b4_2'}]}]}, 'b4'), ['b4_3', 'b4_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q4_2 q4_3 q4_4 q4_5 q4_6 q4_7 q4_8 q4_9'}]}]}, 'q4'), ['q4_1', 'q4_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm4'), ['m4_1', 'm4_2', 'm4_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 5: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b5_1 and b5_2'}]}]}, 'b5'), ['b5_3', 'b5_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q5_2 q5_3 q5_4 q5_5 q5_6 q5_7 q5_8 q5_9'}]}]}, 'q5'), ['q5_1', 'q5_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm5'), ['m5_1', 'm5_2', 'm5_3']), ('single leaf', ({'text': 'only'}, 'n'), [])]}\nfor _label, _args, _expected in _CASES[N]:\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":"8fec48d91959ec9b11219a94e67786c16320a494d7b77798a34c5c055849d1be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tree, base):\n    out = []\n    counter = [0]\n    def contents(n):\n        if 'parts' in n:\n            return [x for c in n['parts'] for x in contents(c)]\n        return [n.get('text', '')]\n    def assign(n, ancestors):\n        if 'parts' not in n:\n            return\n        texts = contents(n)\n        while True:\n            counter[0] += 1\n            cand = base + '_' + str(counter[0])\n            if len(cand) > 70:\n                out.append(None)\n                return\n            if any(cand in t for t in texts):\n                continue\n            if any(a.startswith(cand) or cand.startswith(a) for a in ancestors):\n                continue\n            break\n        out.append(cand)\n        for c in n['parts']:\n            assign(c, ancestors + [cand])\n    assign(tree, [])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b1_1 and b1_2'}]}]}, 'b1'), ['b1_3', 'b1_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q1_2 q1_3 q1_4 q1_5 q1_6 q1_7 q1_8 q1_9'}]}]}, 'q1'), ['q1_1', 'q1_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm1'), ['m1_1', 'm1_2', 'm1_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 2: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b2_1 and b2_2'}]}]}, 'b2'), ['b2_3', 'b2_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q2_2 q2_3 q2_4 q2_5 q2_6 q2_7 q2_8 q2_9'}]}]}, 'q2'), ['q2_1', 'q2_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz2_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm2'), ['m2_1', 'm2_2', 'm2_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 3: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b3_1 and b3_2'}]}]}, 'b3'), ['b3_3', 'b3_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q3_2 q3_3 q3_4 q3_5 q3_6 q3_7 q3_8 q3_9'}]}]}, 'q3'), ['q3_1', 'q3_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz3_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm3'), ['m3_1', 'm3_2', 'm3_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 4: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b4_1 and b4_2'}]}]}, 'b4'), ['b4_3', 'b4_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q4_2 q4_3 q4_4 q4_5 q4_6 q4_7 q4_8 q4_9'}]}]}, 'q4'), ['q4_1', 'q4_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz4_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm4'), ['m4_1', 'm4_2', 'm4_3']), ('single leaf', ({'text': 'only'}, 'n'), [])], 5: [('collision deep in a later child', ({'parts': [{'text': 'x'}, {'parts': [{'text': 'has b5_1 and b5_2'}]}]}, 'b5'), ['b5_3', 'b5_4']), ('counter passes ten', ({'parts': [{'parts': [{'text': 'q5_2 q5_3 q5_4 q5_5 q5_6 q5_7 q5_8 q5_9'}]}]}, 'q5'), ['q5_1', 'q5_20']), ('exactly seventy characters', ({'parts': [{'text': 'x'}]}, 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5'), ['zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz5_1']), ('seventy-one characters', ({'parts': [{'text': 'x'}]}, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), [None]), ('plain nesting', ({'parts': [{'parts': [{'text': 'a'}]}, {'parts': [{'text': 'b'}]}]}, 'm5'), ['m5_1', 'm5_2', 'm5_3']), ('single leaf', ({'text': 'only'}, 'n'), [])]}\nfor _label, _args, _expected in _CASES[N]:\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 offline model over pre-parsed MIME dictionaries; not a conforming MIME parser, generator or mail client. 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-email_mime_structure-boundary-choice-descendant-scope","generated_at":"2026-09-29T14:49:19.331751+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A boundary that appears inside a part, or that extends an outer boundary, splits the message at the wrong place.","repair":"Use `texts = contents(n)` for the descendant scope decision and keep every other rule of the model unchanged.","root_cause":"The descendant scope decision evaluates `texts = [c.get('text', '') for c in n['parts']]` where the contract requires `texts = contents(n)`.","sha256":"042063fc99fecc1ebf7b3814684960c239fb51524c26b9e762fbf3b143bd4afe","title":"Choose non-colliding boundaries for nested multiparts: descendant scope · case 01","variant":1,"variant_policy":"N selects a different enumerated fixture set (renamed identifiers, part counts and sizes); boundary fixtures recur across variants.","verification":{"attempt":{"elapsed_ms":39.551,"exit_code":1,"observations":[{"actual":["b1_1","b1_3"],"check":"collision deep in a later child","expected":["b1_3","b1_4"],"passed":false},{"actual":["q1_1","q1_20"],"check":"counter passes ten","expected":["q1_1","q1_20"],"passed":true},{"actual":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"check":"exactly seventy characters","expected":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"passed":true},{"actual":[null],"check":"seventy-one characters","expected":[null],"passed":true},{"actual":["m1_1","m1_2","m1_3"],"check":"plain nesting","expected":["m1_1","m1_2","m1_3"],"passed":true},{"actual":[],"check":"single leaf","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"collision deep in a later child\", \"actual\": [\"b1_1\", \"b1_3\"], \"expected\": [\"b1_3\", \"b1_4\"], \"passed\": false}, {\"check\": \"counter passes ten\", \"actual\": [\"q1_1\", \"q1_20\"], \"expected\": [\"q1_1\", \"q1_20\"], \"passed\": true}, {\"check\": \"exactly seventy characters\", \"actual\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"expected\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"passed\": true}, {\"check\": \"seventy-one characters\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"plain nesting\", \"actual\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"expected\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"passed\": true}, {\"check\": \"single leaf\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.002,"exit_code":1,"observations":[{"actual":["b1_1","b1_3"],"check":"collision deep in a later child","expected":["b1_3","b1_4"],"passed":false},{"actual":["q1_1","q1_20"],"check":"counter passes ten","expected":["q1_1","q1_20"],"passed":true},{"actual":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"check":"exactly seventy characters","expected":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"passed":true},{"actual":[null],"check":"seventy-one characters","expected":[null],"passed":true},{"actual":["m1_1","m1_2","m1_3"],"check":"plain nesting","expected":["m1_1","m1_2","m1_3"],"passed":true},{"actual":[],"check":"single leaf","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"collision deep in a later child\", \"actual\": [\"b1_1\", \"b1_3\"], \"expected\": [\"b1_3\", \"b1_4\"], \"passed\": false}, {\"check\": \"counter passes ten\", \"actual\": [\"q1_1\", \"q1_20\"], \"expected\": [\"q1_1\", \"q1_20\"], \"passed\": true}, {\"check\": \"exactly seventy characters\", \"actual\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"expected\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"passed\": true}, {\"check\": \"seventy-one characters\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"plain nesting\", \"actual\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"expected\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"passed\": true}, {\"check\": \"single leaf\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.095,"exit_code":0,"observations":[{"actual":["b1_3","b1_4"],"check":"collision deep in a later child","expected":["b1_3","b1_4"],"passed":true},{"actual":["q1_1","q1_20"],"check":"counter passes ten","expected":["q1_1","q1_20"],"passed":true},{"actual":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"check":"exactly seventy characters","expected":["zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1"],"passed":true},{"actual":[null],"check":"seventy-one characters","expected":[null],"passed":true},{"actual":["m1_1","m1_2","m1_3"],"check":"plain nesting","expected":["m1_1","m1_2","m1_3"],"passed":true},{"actual":[],"check":"single leaf","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"collision deep in a later child\", \"actual\": [\"b1_3\", \"b1_4\"], \"expected\": [\"b1_3\", \"b1_4\"], \"passed\": true}, {\"check\": \"counter passes ten\", \"actual\": [\"q1_1\", \"q1_20\"], \"expected\": [\"q1_1\", \"q1_20\"], \"passed\": true}, {\"check\": \"exactly seventy characters\", \"actual\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"expected\": [\"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1_1\"], \"passed\": true}, {\"check\": \"seventy-one characters\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"plain nesting\", \"actual\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"expected\": [\"m1_1\", \"m1_2\", \"m1_3\"], \"passed\": true}, {\"check\": \"single leaf\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}