{"abstract":"Signed or encrypted containers get an extra part inserted, invalidating their structure.","category":"Email MIME structure","checks":7,"contract":"A top-level text/plain body in 7bit, 8bit or quoted-printable (default 7bit, case-insensitive) gets the footer appended in place (\"text+footer\"). A multipart/mixed gets a text/plain footer part appended after its children. Everything else (alternative, signed, encrypted, html, base64 text) is wrapped: mixed(<type>,text/plain). Output is a compact structure string.","evaluation_group":"w2-email_mime_structure-list-footer","failed_approach":"Excluding signed messages still modifies encrypted containers. The attempted `if t.startswith('multipart/') and t not in ('multipart/alternative', 'multipart/signed'):` still disagrees with a fixture.","family":"w2-email_mime_structure-list-footer-only-mixed-is-extended","id":"FA-76786","implementations":{"attempt":{"sha256":"c0482ca7289e840a8a5205af0b66aa0aad0ac286a2581698411908f205d770dc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(node):\n    t = node['type'].lower()\n    cte = (node.get('cte') or '7bit').lower()\n    if t == 'text/plain' and cte in ('7bit', '8bit', 'quoted-printable'):\n        return 'text+footer'\n    if t.startswith('multipart/') and t not in ('multipart/alternative', 'multipart/signed'):\n        return 'mixed(' + ','.join(c['type'].lower() for c in node['parts']) + ',text/plain)'\n    return 'mixed(' + t + ',text/plain)'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,text/plain)')], 2: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,text/plain)')], 3: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,text/plain)')], 4: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,text/plain)')], 5: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,image/png,text/plain)')]}\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":"683a063c2329d00001899766d8e43daee7344a204e9593a07e64e98bd52e6373","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(node):\n    t = node['type'].lower()\n    cte = (node.get('cte') or '7bit').lower()\n    if t == 'text/plain' and cte in ('7bit', '8bit', 'quoted-printable'):\n        return 'text+footer'\n    if t.startswith('multipart/') and t != 'multipart/alternative':\n        return 'mixed(' + ','.join(c['type'].lower() for c in node['parts']) + ',text/plain)'\n    return 'mixed(' + t + ',text/plain)'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,text/plain)')], 2: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,text/plain)')], 3: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,text/plain)')], 4: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,text/plain)')], 5: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,image/png,text/plain)')]}\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":"aa0cf18ed62290d1a299e4e3f7be4f347f873cdf7f2a15ecedfe487c48f1cd52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(node):\n    t = node['type'].lower()\n    cte = (node.get('cte') or '7bit').lower()\n    if t == 'text/plain' and cte in ('7bit', '8bit', 'quoted-printable'):\n        return 'text+footer'\n    if t == 'multipart/mixed':\n        return 'mixed(' + ','.join(c['type'].lower() for c in node['parts']) + ',text/plain)'\n    return 'mixed(' + t + ',text/plain)'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,text/plain)')], 2: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,text/plain)')], 3: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,text/plain)')], 4: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,text/plain)')], 5: [('base64 text body', ({'type': 'text/plain', 'cte': 'BASE64'},), 'mixed(text/plain,text/plain)'), ('quoted-printable text body', ({'type': 'text/plain', 'cte': 'quoted-printable'},), 'text+footer'), ('signed message', ({'type': 'multipart/signed', 'parts': [{'type': 'text/plain'}, {'type': 'application/pgp-signature'}]},), 'mixed(multipart/signed,text/plain)'), ('encrypted message', ({'type': 'multipart/encrypted', 'parts': [{'type': 'application/pgp-encrypted'}, {'type': 'application/octet-stream'}]},), 'mixed(multipart/encrypted,text/plain)'), ('html body', ({'type': 'text/html'},), 'mixed(text/html,text/plain)'), ('enriched body', ({'type': 'text/enriched', 'cte': '7bit'},), 'mixed(text/enriched,text/plain)'), ('mixed message', ({'type': 'multipart/mixed', 'parts': [{'type': 'text/plain'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}, {'type': 'image/png'}]},), 'mixed(text/plain,image/png,image/png,image/png,image/png,image/png,text/plain)')]}\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-list-footer-only-mixed-is-extended","generated_at":"2026-09-29T14:49:19.395388+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"List managers that edit signed or encoded bodies in place break signatures and corrupt content.","repair":"Use `if t == 'multipart/mixed':` for the only mixed is extended decision and keep every other rule of the model unchanged.","root_cause":"The only mixed is extended decision evaluates `if t.startswith('multipart/') and t != 'multipart/alternative':` where the contract requires `if t == 'multipart/mixed':`.","sha256":"4e4a6fd6c13651c1f1f428c42c60d62ffd2b5990013b8cdac24b9086b5935ff5","title":"Inject a mailing-list footer without breaking the message: only mixed is extended · 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":41.276,"exit_code":1,"observations":[{"actual":"mixed(text/plain,text/plain)","check":"base64 text body","expected":"mixed(text/plain,text/plain)","passed":true},{"actual":"text+footer","check":"quoted-printable text body","expected":"text+footer","passed":true},{"actual":"mixed(multipart/signed,text/plain)","check":"signed message","expected":"mixed(multipart/signed,text/plain)","passed":true},{"actual":"mixed(application/pgp-encrypted,application/octet-stream,text/plain)","check":"encrypted message","expected":"mixed(multipart/encrypted,text/plain)","passed":false},{"actual":"mixed(text/html,text/plain)","check":"html body","expected":"mixed(text/html,text/plain)","passed":true},{"actual":"mixed(text/enriched,text/plain)","check":"enriched body","expected":"mixed(text/enriched,text/plain)","passed":true},{"actual":"mixed(text/plain,image/png,text/plain)","check":"mixed message","expected":"mixed(text/plain,image/png,text/plain)","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"base64 text body\", \"actual\": \"mixed(text/plain,text/plain)\", \"expected\": \"mixed(text/plain,text/plain)\", \"passed\": true}, {\"check\": \"quoted-printable text body\", \"actual\": \"text+footer\", \"expected\": \"text+footer\", \"passed\": true}, {\"check\": \"signed message\", \"actual\": \"mixed(multipart/signed,text/plain)\", \"expected\": \"mixed(multipart/signed,text/plain)\", \"passed\": true}, {\"check\": \"encrypted message\", \"actual\": \"mixed(application/pgp-encrypted,application/octet-stream,text/plain)\", \"expected\": \"mixed(multipart/encrypted,text/plain)\", \"passed\": false}, {\"check\": \"html body\", \"actual\": \"mixed(text/html,text/plain)\", \"expected\": \"mixed(text/html,text/plain)\", \"passed\": true}, {\"check\": \"enriched body\", \"actual\": \"mixed(text/enriched,text/plain)\", \"expected\": \"mixed(text/enriched,text/plain)\", \"passed\": true}, {\"check\": \"mixed message\", \"actual\": \"mixed(text/plain,image/png,text/plain)\", \"expected\": \"mixed(text/plain,image/png,text/plain)\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.82,"exit_code":1,"observations":[{"actual":"mixed(text/plain,text/plain)","check":"base64 text body","expected":"mixed(text/plain,text/plain)","passed":true},{"actual":"text+footer","check":"quoted-printable text body","expected":"text+footer","passed":true},{"actual":"mixed(text/plain,application/pgp-signature,text/plain)","check":"signed message","expected":"mixed(multipart/signed,text/plain)","passed":false},{"actual":"mixed(application/pgp-encrypted,application/octet-stream,text/plain)","check":"encrypted message","expected":"mixed(multipart/encrypted,text/plain)","passed":false},{"actual":"mixed(text/html,text/plain)","check":"html body","expected":"mixed(text/html,text/plain)","passed":true},{"actual":"mixed(text/enriched,text/plain)","check":"enriched body","expected":"mixed(text/enriched,text/plain)","passed":true},{"actual":"mixed(text/plain,image/png,text/plain)","check":"mixed message","expected":"mixed(text/plain,image/png,text/plain)","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"base64 text body\", \"actual\": \"mixed(text/plain,text/plain)\", \"expected\": \"mixed(text/plain,text/plain)\", \"passed\": true}, {\"check\": \"quoted-printable text body\", \"actual\": \"text+footer\", \"expected\": \"text+footer\", \"passed\": true}, {\"check\": \"signed message\", \"actual\": \"mixed(text/plain,application/pgp-signature,text/plain)\", \"expected\": \"mixed(multipart/signed,text/plain)\", \"passed\": false}, {\"check\": \"encrypted message\", \"actual\": \"mixed(application/pgp-encrypted,application/octet-stream,text/plain)\", \"expected\": \"mixed(multipart/encrypted,text/plain)\", \"passed\": false}, {\"check\": \"html body\", \"actual\": \"mixed(text/html,text/plain)\", \"expected\": \"mixed(text/html,text/plain)\", \"passed\": true}, {\"check\": \"enriched body\", \"actual\": \"mixed(text/enriched,text/plain)\", \"expected\": \"mixed(text/enriched,text/plain)\", \"passed\": true}, {\"check\": \"mixed message\", \"actual\": \"mixed(text/plain,image/png,text/plain)\", \"expected\": \"mixed(text/plain,image/png,text/plain)\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.093,"exit_code":0,"observations":[{"actual":"mixed(text/plain,text/plain)","check":"base64 text body","expected":"mixed(text/plain,text/plain)","passed":true},{"actual":"text+footer","check":"quoted-printable text body","expected":"text+footer","passed":true},{"actual":"mixed(multipart/signed,text/plain)","check":"signed message","expected":"mixed(multipart/signed,text/plain)","passed":true},{"actual":"mixed(multipart/encrypted,text/plain)","check":"encrypted message","expected":"mixed(multipart/encrypted,text/plain)","passed":true},{"actual":"mixed(text/html,text/plain)","check":"html body","expected":"mixed(text/html,text/plain)","passed":true},{"actual":"mixed(text/enriched,text/plain)","check":"enriched body","expected":"mixed(text/enriched,text/plain)","passed":true},{"actual":"mixed(text/plain,image/png,text/plain)","check":"mixed message","expected":"mixed(text/plain,image/png,text/plain)","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"base64 text body\", \"actual\": \"mixed(text/plain,text/plain)\", \"expected\": \"mixed(text/plain,text/plain)\", \"passed\": true}, {\"check\": \"quoted-printable text body\", \"actual\": \"text+footer\", \"expected\": \"text+footer\", \"passed\": true}, {\"check\": \"signed message\", \"actual\": \"mixed(multipart/signed,text/plain)\", \"expected\": \"mixed(multipart/signed,text/plain)\", \"passed\": true}, {\"check\": \"encrypted message\", \"actual\": \"mixed(multipart/encrypted,text/plain)\", \"expected\": \"mixed(multipart/encrypted,text/plain)\", \"passed\": true}, {\"check\": \"html body\", \"actual\": \"mixed(text/html,text/plain)\", \"expected\": \"mixed(text/html,text/plain)\", \"passed\": true}, {\"check\": \"enriched body\", \"actual\": \"mixed(text/enriched,text/plain)\", \"expected\": \"mixed(text/enriched,text/plain)\", \"passed\": true}, {\"check\": \"mixed message\", \"actual\": \"mixed(text/plain,image/png,text/plain)\", \"expected\": \"mixed(text/plain,image/png,text/plain)\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}