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 the solution leverages punycode UCS-2 helpers to convert between strings and code point arrays while preserving surrogate edge cases and keeping provided arrays untouched.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Decode via ucs2.decode",
"description": "stringToCodePoints delegates string parsing to punycode.ucs2.decode so surrogate pairs are folded correctly and lone halves are retained without manual surrogate math.",
"max_score": 30
},
{
"name": "Encode via ucs2.encode",
"description": "codePointsToString uses punycode.ucs2.encode to build strings from code point arrays instead of manual String.fromCodePoint loops.",
"max_score": 30
},
{
"name": "Input array intact",
"description": "Conversion relies on punycode.ucs2.encode's non-mutating behavior (or copies before calling it) so the provided code point array remains unchanged after encoding.",
"max_score": 20
},
{
"name": "Lone surrogate preservation",
"description": "When converting text with unmatched surrogates, the solution uses the punycode.ucs2.decode output directly without filtering or normalization so surrogate halves stay in the returned code points.",
"max_score": 10
},
{
"name": "Roundtrip with supplementary",
"description": "Implements the string->codes->string flow with punycode helpers to keep supplementary characters (e.g., U+1F680) intact through conversions.",
"max_score": 10
}
]
}