docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution relies on the punycode UCS-2 helpers to convert between JavaScript strings and arrays of Unicode code points while preserving surrogate edge cases, as required by the spec.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Use decode",
"description": "`toCodePoints` delegates string-to-code-point conversion to `punycode.ucs2.decode` (or an equivalent import) rather than custom parsing loops.",
"max_score": 25
},
{
"name": "Lone surrogates",
"description": "Decoding keeps unmatched surrogate halves intact by relying on `punycode.ucs2.decode` output without filtering or substitution.",
"max_score": 20
},
{
"name": "Use encode",
"description": "`fromCodePoints` reconstructs text with `punycode.ucs2.encode`, handling astral pairs through the library instead of manual `String.fromCharCode`/`fromCodePoint` logic.",
"max_score": 25
},
{
"name": "No mutation",
"description": "Encoding avoids mutating the provided code point array (no `splice`/`shift`/in-place writes) when passing data to `punycode.ucs2.encode`, preserving inputs as required.",
"max_score": 15
},
{
"name": "Proper import",
"description": "Solution imports and uses the `punycode` dependency (e.g., `import { ucs2 } from \"punycode\"` or `const { ucs2 } = require(\"punycode\")`) instead of reimplementing UCS-2 conversion.",
"max_score": 15
}
]
}