FA-76661 / Email MIME structure / Open access
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 01
A segment numbered "01" overwrites segment 1.
ROOT CAUSE
The leading zero index decision evaluates `num.isdigit()` where the contract requires `num.isdigit() and (num == '0' or not num.startswith('0'))`.
VERIFIED REPAIR
Use `num.isdigit() and (num == '0' or not num.startswith('0'))` for the leading zero index decision and keep every other rule of the model unchanged.
Unsuccessful approach: Rejecting only double zeros still accepts "01". The attempted `num.isdigit() and not num.startswith('00')` still disagrees with a fixture.
Case contract
params are [name, value] pairs; names are case-insensitive. "filename*" (a single extended value charset'lang'text) wins over everything. Otherwise segments "filename*<n>" (plain) and "filename*<n>*" (percent-encoded) with decimal n without leading zeros ("0" allowed) are joined in numeric order from 0, stopping at the first gap; only an encoded segment 0 carries the charset'lang' prefix. Bytes of all segments are concatenated before decoding with the charset (utf-8, iso-8859-1 or us-ascii; others decode as utf-8; undecodable bytes become U+FFFD). Without a segment 0 the plain "filename" value (or None) is returned.
Why this case matters
Long or non-ASCII attachment names are split into continuations; reassembly errors garble or truncate names.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from urllib.parse import unquote_to_bytes
N = 1
observations = []
def solve(params):
single = None
plain = None
segs = {}
for name, value in params:
n = name.lower()
if n == 'filename*':
single = value
elif n == 'filename':
plain = value
elif n.startswith('filename*'):
rest = n[9:]
enc = rest.endswith('*')
num = rest[:-1] if enc else rest
if num.isdigit():
segs[int(num)] = (enc, value)
def codec(cs):
cs = (cs or 'us-ascii').lower()
return cs if cs in ('utf-8', 'iso-8859-1', 'us-ascii') else 'utf-8'
if single is not None:
cs, _, rest = single.partition("'")
_, _, value = rest.partition("'")
return unquote_to_bytes(value).decode(codec(cs), 'replace')
if 0 not in segs:
return plain
charset = 'us-ascii'
chunks = []
expect = 0
for i in sorted(segs):
if i != expect:
break
enc, v = segs[i]
if enc and i == 0:
charset, _, rest = v.partition("'")
_, _, v = rest.partition("'")
chunks.append(unquote_to_bytes(v) if enc else v.encode('latin-1', 'replace'))
expect += 1
return b''.join(chunks).decode(codec(charset), 'replace')
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short1']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a1'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a1b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b1'], ['filename*01', 'X']],), 'ab1'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_1.txt']],), 'café_1.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine1']],), "it'sfine1"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve1.txt"], ['filename*0', 'seg']],), 'naïve1.txt'), ('orphan continuation', ([['filename', 'plain1.txt'], ['filename*1', 'orphan']],), 'plain1.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per1']],), 'upper1')], 2: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short2']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a2'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a2b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b2'], ['filename*01', 'X']],), 'ab2'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_2.txt']],), 'café_2.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine2']],), "it'sfine2"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve2.txt"], ['filename*0', 'seg']],), 'naïve2.txt'), ('orphan continuation', ([['filename', 'plain2.txt'], ['filename*1', 'orphan']],), 'plain2.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per2']],), 'upper2')], 3: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short3']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a3'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a3b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b3'], ['filename*01', 'X']],), 'ab3'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_3.txt']],), 'café_3.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine3']],), "it'sfine3"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve3.txt"], ['filename*0', 'seg']],), 'naïve3.txt'), ('orphan continuation', ([['filename', 'plain3.txt'], ['filename*1', 'orphan']],), 'plain3.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per3']],), 'upper3')], 4: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short4']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a4'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a4b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b4'], ['filename*01', 'X']],), 'ab4'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_4.txt']],), 'café_4.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine4']],), "it'sfine4"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve4.txt"], ['filename*0', 'seg']],), 'naïve4.txt'), ('orphan continuation', ([['filename', 'plain4.txt'], ['filename*1', 'orphan']],), 'plain4.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per4']],), 'upper4')], 5: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short5']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a5'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a5b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b5'], ['filename*01', 'X']],), 'ab5'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_5.txt']],), 'café_5.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine5']],), "it'sfine5"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve5.txt"], ['filename*0', 'seg']],), 'naïve5.txt'), ('orphan continuation', ([['filename', 'plain5.txt'], ['filename*1', 'orphan']],), 'plain5.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per5']],), 'upper5')]}
for _label, _args, _expected in _CASES[N]:
check(_label, solve(*_args), _expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| twelve segments | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | Passed |
| gap in segments | a1b | a1b | Passed |
| leading zero index | aX | ab1 | Failed |
| charset only on first segment | café_1.txt | café_1.txt | Passed |
| quote inside plain first segment | it'sfine1 | it'sfine1 | Passed |
| single extended value wins | naïve1.txt | naïve1.txt | Passed |
| orphan continuation | plain1.txt | plain1.txt | Passed |
| upper-case names | upper1 | upper1 | Passed |
SHA-256 / 72800f6cbf51d1f80395094ad8abcc33008021b210e85b617c838cc1f14a5740
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from urllib.parse import unquote_to_bytes
N = 1
observations = []
def solve(params):
single = None
plain = None
segs = {}
for name, value in params:
n = name.lower()
if n == 'filename*':
single = value
elif n == 'filename':
plain = value
elif n.startswith('filename*'):
rest = n[9:]
enc = rest.endswith('*')
num = rest[:-1] if enc else rest
if num.isdigit() and not num.startswith('00'):
segs[int(num)] = (enc, value)
def codec(cs):
cs = (cs or 'us-ascii').lower()
return cs if cs in ('utf-8', 'iso-8859-1', 'us-ascii') else 'utf-8'
if single is not None:
cs, _, rest = single.partition("'")
_, _, value = rest.partition("'")
return unquote_to_bytes(value).decode(codec(cs), 'replace')
if 0 not in segs:
return plain
charset = 'us-ascii'
chunks = []
expect = 0
for i in sorted(segs):
if i != expect:
break
enc, v = segs[i]
if enc and i == 0:
charset, _, rest = v.partition("'")
_, _, v = rest.partition("'")
chunks.append(unquote_to_bytes(v) if enc else v.encode('latin-1', 'replace'))
expect += 1
return b''.join(chunks).decode(codec(charset), 'replace')
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short1']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a1'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a1b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b1'], ['filename*01', 'X']],), 'ab1'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_1.txt']],), 'café_1.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine1']],), "it'sfine1"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve1.txt"], ['filename*0', 'seg']],), 'naïve1.txt'), ('orphan continuation', ([['filename', 'plain1.txt'], ['filename*1', 'orphan']],), 'plain1.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per1']],), 'upper1')], 2: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short2']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a2'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a2b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b2'], ['filename*01', 'X']],), 'ab2'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_2.txt']],), 'café_2.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine2']],), "it'sfine2"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve2.txt"], ['filename*0', 'seg']],), 'naïve2.txt'), ('orphan continuation', ([['filename', 'plain2.txt'], ['filename*1', 'orphan']],), 'plain2.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per2']],), 'upper2')], 3: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short3']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a3'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a3b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b3'], ['filename*01', 'X']],), 'ab3'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_3.txt']],), 'café_3.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine3']],), "it'sfine3"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve3.txt"], ['filename*0', 'seg']],), 'naïve3.txt'), ('orphan continuation', ([['filename', 'plain3.txt'], ['filename*1', 'orphan']],), 'plain3.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per3']],), 'upper3')], 4: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short4']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a4'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a4b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b4'], ['filename*01', 'X']],), 'ab4'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_4.txt']],), 'café_4.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine4']],), "it'sfine4"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve4.txt"], ['filename*0', 'seg']],), 'naïve4.txt'), ('orphan continuation', ([['filename', 'plain4.txt'], ['filename*1', 'orphan']],), 'plain4.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per4']],), 'upper4')], 5: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short5']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a5'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a5b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b5'], ['filename*01', 'X']],), 'ab5'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_5.txt']],), 'café_5.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine5']],), "it'sfine5"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve5.txt"], ['filename*0', 'seg']],), 'naïve5.txt'), ('orphan continuation', ([['filename', 'plain5.txt'], ['filename*1', 'orphan']],), 'plain5.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per5']],), 'upper5')]}
for _label, _args, _expected in _CASES[N]:
check(_label, solve(*_args), _expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| twelve segments | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | Passed |
| gap in segments | a1b | a1b | Passed |
| leading zero index | aX | ab1 | Failed |
| charset only on first segment | café_1.txt | café_1.txt | Passed |
| quote inside plain first segment | it'sfine1 | it'sfine1 | Passed |
| single extended value wins | naïve1.txt | naïve1.txt | Passed |
| orphan continuation | plain1.txt | plain1.txt | Passed |
| upper-case names | upper1 | upper1 | Passed |
SHA-256 / 6f2d90cd325e644a7fa2c7eab9738a7e1264e2db4cad61f329b5b9249aae9f7d
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
from urllib.parse import unquote_to_bytes
N = 1
observations = []
def solve(params):
single = None
plain = None
segs = {}
for name, value in params:
n = name.lower()
if n == 'filename*':
single = value
elif n == 'filename':
plain = value
elif n.startswith('filename*'):
rest = n[9:]
enc = rest.endswith('*')
num = rest[:-1] if enc else rest
if num.isdigit() and (num == '0' or not num.startswith('0')):
segs[int(num)] = (enc, value)
def codec(cs):
cs = (cs or 'us-ascii').lower()
return cs if cs in ('utf-8', 'iso-8859-1', 'us-ascii') else 'utf-8'
if single is not None:
cs, _, rest = single.partition("'")
_, _, value = rest.partition("'")
return unquote_to_bytes(value).decode(codec(cs), 'replace')
if 0 not in segs:
return plain
charset = 'us-ascii'
chunks = []
expect = 0
for i in sorted(segs):
if i != expect:
break
enc, v = segs[i]
if enc and i == 0:
charset, _, rest = v.partition("'")
_, _, v = rest.partition("'")
chunks.append(unquote_to_bytes(v) if enc else v.encode('latin-1', 'replace'))
expect += 1
return b''.join(chunks).decode(codec(charset), 'replace')
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short1']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a1'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a1b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b1'], ['filename*01', 'X']],), 'ab1'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_1.txt']],), 'café_1.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine1']],), "it'sfine1"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve1.txt"], ['filename*0', 'seg']],), 'naïve1.txt'), ('orphan continuation', ([['filename', 'plain1.txt'], ['filename*1', 'orphan']],), 'plain1.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per1']],), 'upper1')], 2: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short2']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a2'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a2b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b2'], ['filename*01', 'X']],), 'ab2'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_2.txt']],), 'café_2.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine2']],), "it'sfine2"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve2.txt"], ['filename*0', 'seg']],), 'naïve2.txt'), ('orphan continuation', ([['filename', 'plain2.txt'], ['filename*1', 'orphan']],), 'plain2.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per2']],), 'upper2')], 3: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short3']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a3'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a3b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b3'], ['filename*01', 'X']],), 'ab3'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_3.txt']],), 'café_3.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine3']],), "it'sfine3"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve3.txt"], ['filename*0', 'seg']],), 'naïve3.txt'), ('orphan continuation', ([['filename', 'plain3.txt'], ['filename*1', 'orphan']],), 'plain3.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per3']],), 'upper3')], 4: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short4']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a4'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a4b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b4'], ['filename*01', 'X']],), 'ab4'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_4.txt']],), 'café_4.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine4']],), "it'sfine4"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve4.txt"], ['filename*0', 'seg']],), 'naïve4.txt'), ('orphan continuation', ([['filename', 'plain4.txt'], ['filename*1', 'orphan']],), 'plain4.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per4']],), 'upper4')], 5: [('twelve segments', ([['filename*0', 'p0.'], ['filename*1', 'p1.'], ['filename*10', 'p10.'], ['filename*11', 'p11.'], ['filename*2', 'p2.'], ['filename*3', 'p3.'], ['filename*4', 'p4.'], ['filename*5', 'p5.'], ['filename*6', 'p6.'], ['filename*7', 'p7.'], ['filename*8', 'p8.'], ['filename*9', 'p9.'], ['filename', 'short5']],), 'p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11.'), ('gap in segments', ([['filename*0', 'a5'], ['filename*1', 'b'], ['filename*3', 'd']],), 'a5b'), ('leading zero index', ([['filename*0', 'a'], ['filename*1', 'b5'], ['filename*01', 'X']],), 'ab5'), ('charset only on first segment', ([['filename*0*', "utf-8''caf%C3"], ['filename*1*', '%A9_5.txt']],), 'café_5.txt'), ('quote inside plain first segment', ([['filename*0', "it's"], ['filename*1', 'fine5']],), "it'sfine5"), ('single extended value wins', ([['filename', 'plain.txt'], ['filename*', "utf-8''na%C3%AFve5.txt"], ['filename*0', 'seg']],), 'naïve5.txt'), ('orphan continuation', ([['filename', 'plain5.txt'], ['filename*1', 'orphan']],), 'plain5.txt'), ('upper-case names', ([['FileName*0', 'up'], ['FILENAME*1', 'per5']],), 'upper5')]}
for _label, _args, _expected in _CASES[N]:
check(_label, solve(*_args), _expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| twelve segments | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | p0.p1.p2.p3.p4.p5.p6.p7.p8.p9.p10.p11. | Passed |
| gap in segments | a1b | a1b | Passed |
| leading zero index | ab1 | ab1 | Passed |
| charset only on first segment | café_1.txt | café_1.txt | Passed |
| quote inside plain first segment | it'sfine1 | it'sfine1 | Passed |
| single extended value wins | naïve1.txt | naïve1.txt | Passed |
| orphan continuation | plain1.txt | plain1.txt | Passed |
| upper-case names | upper1 | upper1 | Passed |
SHA-256 / e2f1abfbc08ff26d40836d82bcc876944ae73ecbd66fec0ad89acbfd267c34b0
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:49:18.450942+00:00.
Case digest / f12cef2ae5ed43aed7c3bdfeefa1b802e2bb369b6f750e76d20eb23b62187340