or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-2/

{
  "context": "Evaluates how well the solution leverages the punycode package to decode Punycode labels in domains or email addresses. Focus is on case-insensitive handling of punycoded prefixes while leaving already-Unicode or plain ASCII labels untouched.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Domain decoding",
      "description": "Uses punycode.toUnicode (or equivalent package helper) to decode hostnames instead of hand-rolled Punycode parsing.",
      "max_score": 40
    },
    {
      "name": "Prefix casing",
      "description": "Normalizes Punycode labels before decoding so mixed-case xn-- prefixes are accepted (e.g., lowercases the label before punycode.toUnicode/punycode.decode).",
      "max_score": 15
    },
    {
      "name": "Leave ASCII",
      "description": "Relies on punycode.toUnicode behavior to skip labels without the xn-- prefix so existing ASCII/Unicode labels remain unchanged.",
      "max_score": 15
    },
    {
      "name": "Email domains",
      "description": "Applies punycode.toUnicode to only the domain portion of email strings while preserving the local part verbatim.",
      "max_score": 20
    },
    {
      "name": "Idempotent use",
      "description": "Uses punycode APIs in a way that allows repeated calls on already-decoded input without altering non-Punycode labels.",
      "max_score": 10
    }
  ]
}