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 leverages the punycode package to convert punycoded domains and email domains into Unicode. Scores prioritize correct use of package helpers for separator normalization, idempotence, and preserving RangeError signaling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Domain decoding",
"description": "Uses `punycode.toUnicode` to decode each punycoded domain label (including mixed-case `xn--` prefixes) into Unicode instead of manual decoding.",
"max_score": 35
},
{
"name": "Separator handling",
"description": "Normalizes legacy IDNA separators (`.`/`。`/`.`/`。`) before or while calling `punycode.toUnicode`, ensuring dotted labels decode correctly.",
"max_score": 15
},
{
"name": "Email domain conversion",
"description": "Splits email input on `@`, keeps the local part intact, and runs `punycode.toUnicode` only on the domain portion to produce the Unicode email.",
"max_score": 25
},
{
"name": "Idempotent behavior",
"description": "Relies on `punycode.toUnicode` leaving ASCII or already-decoded labels unchanged so repeated conversions return identical results for plain domains and emails.",
"max_score": 15
},
{
"name": "Error propagation",
"description": "Propagates the `RangeError` raised by `punycode.toUnicode` (or underlying decode) for malformed punycode labels instead of suppressing or replacing it.",
"max_score": 10
}
]
}