docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates how well the solution uses the punycode package to normalize domain and email strings, emphasizing separator normalization and domain-only conversion. Assesses correct ASCII encoding and Unicode decoding while keeping email local parts untouched and ASCII inputs stable.",
"type": "weighted_checklist",
"checklist": [
{
"name": "toASCII conversion",
"description": "Non-ASCII domain labels are converted using `punycode.toASCII` (or equivalent punycode encoding) after separator normalization, producing outputs like \"例子。测试\" -> \"xn--fsqu00a.xn--0zwm56d\" and \"user+tag@bücher。例.com\" -> \"user+tag@xn--bcher-kva.xn--fsq.com\".",
"max_score": 30
},
{
"name": "Separator mapping",
"description": "Fullwidth and legacy separators (`。`, `.`, `。`) are normalized to `.` before punycode calls so labels split and convert correctly.",
"max_score": 15
},
{
"name": "Email isolation",
"description": "When handling emails, only the domain portion is passed through punycode (`punycode.toASCII`/`punycode.toUnicode`), with the local part returned exactly as provided.",
"max_score": 20
},
{
"name": "toUnicode decoding",
"description": "Unicode mode decodes punycoded labels using `punycode.toUnicode`, yielding outputs like \"user@bücher.例.com\" from \"user@xn--bcher-kva.xn--fsq.com\" while leaving non-`xn--` labels untouched.",
"max_score": 20
},
{
"name": "ASCII stability",
"description": "ASCII-only domains/emails are detected and returned unchanged (e.g., \"support@example.com\", \"example.com\") rather than being altered by extra transformations.",
"max_score": 15
}
]
}