or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-5/

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