{
  "version": "3.1",
  "category": "decode",
  "description": "Primitive value decoding - strings, numbers, booleans, null, unescaping",
  "tests": [
    {
      "name": "parses safe unquoted string",
      "input": "hello",
      "expected": "hello",
      "specSection": "7.4"
    },
    {
      "name": "parses unquoted string with underscore and numbers",
      "input": "Ada_99",
      "expected": "Ada_99",
      "specSection": "7.4"
    },
    {
      "name": "parses empty quoted string",
      "input": "\"\"",
      "expected": "",
      "specSection": "7.4"
    },
    {
      "name": "parses quoted string with newline escape",
      "input": "\"line1\\nline2\"",
      "expected": "line1\nline2",
      "specSection": "7.1"
    },
    {
      "name": "parses quoted string with tab escape",
      "input": "\"tab\\there\"",
      "expected": "tab\there",
      "specSection": "7.1"
    },
    {
      "name": "parses quoted string with carriage return escape",
      "input": "\"return\\rcarriage\"",
      "expected": "return\rcarriage",
      "specSection": "7.1"
    },
    {
      "name": "parses quoted string with backslash escape",
      "input": "\"C:\\\\Users\\\\path\"",
      "expected": "C:\\Users\\path",
      "specSection": "7.1"
    },
    {
      "name": "parses quoted string with escaped quotes",
      "input": "\"say \\\"hello\\\"\"",
      "expected": "say \"hello\"",
      "specSection": "7.1"
    },
    {
      "name": "decodes \\uXXXX escape (U+0004)",
      "input": "val: \"a\\u0004b\"",
      "expected": { "val": "a\u0004b" },
      "specSection": "7.1"
    },
    {
      "name": "decodes \\uXXXX with mixed-case hex digits",
      "input": "val: \"a\\u00Abb\"",
      "expected": { "val": "a«b" },
      "specSection": "7.1"
    },
    {
      "name": "parses Unicode string",
      "input": "café",
      "expected": "café",
      "specSection": "7.4"
    },
    {
      "name": "parses Chinese characters",
      "input": "你好",
      "expected": "你好",
      "specSection": "7.4"
    },
    {
      "name": "parses emoji",
      "input": "🚀",
      "expected": "🚀",
      "specSection": "7.4"
    },
    {
      "name": "parses string with emoji and spaces",
      "input": "hello 👋 world",
      "expected": "hello 👋 world",
      "specSection": "7.4"
    },
    {
      "name": "parses positive integer",
      "input": "42",
      "expected": 42,
      "specSection": "4"
    },
    {
      "name": "parses decimal number",
      "input": "3.14",
      "expected": 3.14,
      "specSection": "4"
    },
    {
      "name": "parses negative integer",
      "input": "-7",
      "expected": -7,
      "specSection": "4"
    },
    {
      "name": "parses true",
      "input": "true",
      "expected": true,
      "specSection": "4"
    },
    {
      "name": "parses false",
      "input": "false",
      "expected": false,
      "specSection": "4"
    },
    {
      "name": "parses null",
      "input": "null",
      "expected": null,
      "specSection": "4"
    },
    {
      "name": "respects ambiguity quoting for true",
      "input": "\"true\"",
      "expected": "true",
      "specSection": "7.4",
      "note": "Quoted primitive remains string"
    },
    {
      "name": "respects ambiguity quoting for false",
      "input": "\"false\"",
      "expected": "false",
      "specSection": "7.4"
    },
    {
      "name": "respects ambiguity quoting for null",
      "input": "\"null\"",
      "expected": "null",
      "specSection": "7.4"
    },
    {
      "name": "respects ambiguity quoting for integer",
      "input": "\"42\"",
      "expected": "42",
      "specSection": "7.4"
    },
    {
      "name": "respects ambiguity quoting for negative decimal",
      "input": "\"-3.14\"",
      "expected": "-3.14",
      "specSection": "7.4"
    },
    {
      "name": "respects ambiguity quoting for scientific notation",
      "input": "\"1e-6\"",
      "expected": "1e-6",
      "specSection": "7.4"
    },
    {
      "name": "respects ambiguity quoting for leading-zero",
      "input": "\"05\"",
      "expected": "05",
      "specSection": "7.4"
    },
    {
      "name": "decodes supplementary scalar (U+1F680) in quoted string as literal UTF-8",
      "input": "\"🚀 launch\"",
      "expected": "🚀 launch",
      "specSection": "7.1"
    }
  ]
}
