or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-7/

{
  "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
    }
  ]
}