Run artifact

evidence/provider_raw/20260816.122829.516Z_toml_build_codex.raw.jsonl

{"type":"thread.started","thread_id":"01a00a8b-8117-7b12-9e80-b36583494864"}
{"type":"turn.started"}
{"type":"item.completed","item":{"id":"item_0","type":"agent_message","text":"I’m inspecting the existing build and toolchain first, then I’ll implement the string/key parser slice and run the staged conformance checks plus the full suite if the harness is available."}}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"pwd && go version && rg --files -g '\"'!sources/*'\"' -g '\"'!*.md'\"' . || true && rg --files sources\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"pwd && go version && rg --files -g '\"'!sources/*'\"' -g '\"'!*.md'\"' . || true && rg --files sources\"","aggregated_output":"go version go1.24.6 linux/amd64\n./toml-decoder\n./go.mod\n./cmd/toml-decoder/main.go\n./cmd/toml-decoder/main_test.go\n./internal/toml/toml.go\n./internal/toml/toml_test.go\nsources/setup_harness.sh\nsources/run_conformance.sh\nsources/full_test.sh\nsources/stage_contract.sh\nsources/stage_test.sh\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,240p' internal/toml/toml.go && sed -n '1,220p' internal/toml/toml_test.go && sed -n '1,160p' cmd/toml-decoder/main.go && cat go.mod && sed -n '1,160p' sources/run_conformance.sh\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,240p' internal/toml/toml.go && sed -n '1,220p' internal/toml/toml_test.go && sed -n '1,160p' cmd/toml-decoder/main.go && cat go.mod && sed -n '1,160p' sources/run_conformance.sh\"","aggregated_output":"// Package toml provides the TOML decoder used by the command-line filter.\npackage toml\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\ntype scalar struct {\n\tType  string `json:\"type\"`\n\tValue string `json:\"value\"`\n}\n\n// Decode parses a TOML document and returns its tagged representation.\nfunc Decode(input string) (map[string]any, error) {\n\tresult := map[string]any{}\n\tfor lineNumber, line := range strings.Split(input, \"\\n\") {\n\t\tline = strings.TrimSpace(strings.SplitN(line, \"#\", 2)[0])\n\t\tif line == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(line, \"[\") {\n\t\t\treturn nil, fmt.Errorf(\"line %d: tables are not supported yet\", lineNumber+1)\n\t\t}\n\t\tparts := strings.SplitN(line, \"=\", 2)\n\t\tif len(parts) != 2 {\n\t\t\treturn nil, fmt.Errorf(\"line %d: expected key-value pair\", lineNumber+1)\n\t\t}\n\t\tkey := strings.TrimSpace(parts[0])\n\t\tif key == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"line %d: empty key\", lineNumber+1)\n\t\t}\n\t\tif _, exists := result[key]; exists {\n\t\t\treturn nil, fmt.Errorf(\"line %d: duplicate key %q\", lineNumber+1, key)\n\t\t}\n\t\tvalue, err := parseScalar(strings.TrimSpace(parts[1]))\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"line %d: %w\", lineNumber+1, err)\n\t\t}\n\t\tresult[key] = value\n\t}\n\treturn result, nil\n}\n\nfunc parseScalar(value string) (scalar, error) {\n\tif value == \"true\" || value == \"false\" {\n\t\treturn scalar{Type: \"bool\", Value: value}, nil\n\t}\n\tif _, err := strconv.ParseInt(value, 10, 64); err == nil {\n\t\treturn scalar{Type: \"integer\", Value: value}, nil\n\t}\n\tif len(value) >= 2 && ((value[0] == '\"' && value[len(value)-1] == '\"') || (value[0] == '\\'' && value[len(value)-1] == '\\'')) {\n\t\tif value[0] == '\\'' {\n\t\t\treturn scalar{Type: \"string\", Value: value[1 : len(value)-1]}, nil\n\t\t}\n\t\tdecoded, err := strconv.Unquote(value)\n\t\tif err != nil {\n\t\t\treturn scalar{}, fmt.Errorf(\"invalid string: %w\", err)\n\t\t}\n\t\treturn scalar{Type: \"string\", Value: decoded}, nil\n\t}\n\treturn scalar{}, fmt.Errorf(\"invalid value %q\", value)\n}\npackage toml\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc TestDecodeEmptyDocument(t *testing.T) {\n\tgot, err := Decode(\"\")\n\tif err != nil {\n\t\tt.Fatalf(\"Decode(\\\"\\\") returned error: %v\", err)\n\t}\n\tif want := map[string]any{}; !reflect.DeepEqual(got, want) {\n\t\tt.Fatalf(\"Decode(\\\"\\\") = %#v, want %#v\", got, want)\n\t}\n}\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\n\t\"github.com/owner/toml-decoder/internal/toml\"\n)\n\nfunc main() {\n\tinput, err := io.ReadAll(os.Stdin)\n\tif err != nil {\n\t\tfmt.Fprintln(os.Stderr, err)\n\t\tos.Exit(1)\n\t}\n\n\ttagged, err := toml.Decode(string(input))\n\tif err != nil {\n\t\tfmt.Fprintln(os.Stderr, err)\n\t\tos.Exit(1)\n\t}\n\n\tif err := json.NewEncoder(os.Stdout).Encode(tagged); err != nil {\n\t\tfmt.Fprintln(os.Stderr, err)\n\t\tos.Exit(1)\n\t}\n}\nmodule github.com/owner/toml-decoder\n\ngo 1.24\n#!/bin/sh\n# Run the upstream toml-test conformance suite against the built decoder.\n#\n# Imported sources land in sources/ inside the application directory, so this is\n# normally invoked as `sh sources/run_conformance.sh` from that directory.\n#\n# Usage:\n#   DECODER=./toml-decoder sh sources/run_conformance.sh                        # full suite\n#   DECODER=./toml-decoder sh sources/run_conformance.sh -run 'valid/string/*'  # one group\n#   DECODER=./toml-decoder sh sources/run_conformance.sh -json                  # machine-readable\n#\n# Environment:\n#   DECODER    decoder command. Required — this harness is language-neutral and\n#              deliberately has no default implementation language.\n#   TOML_TEST  absolute path to the toml-test binary (default: found on PATH)\n#\n# Exit code follows the harness exit-status standard in prompts/UAT_SETUP_INSTRUCTIONS.md:\n# 0 only when every test passes, 2 when this harness could not run at all, and any other nonzero\n# when it ran and the decoder failed. A precondition of the harness is never charged to the build.\n\nset -u\n\nif [ -z \"${DECODER:-}\" ]; then\n    echo \"error: DECODER is not set; give the command that runs your decoder.\" >&2\n    exit 2\nfi\n\nif [ -n \"${TOML_TEST:-}\" ] && [ -x \"${TOML_TEST}\" ]; then\n    HARNESS=\"${TOML_TEST}\"\nelif command -v toml-test >/dev/null 2>&1; then\n    HARNESS=\"$(command -v toml-test)\"\nelse\n    cat >&2 <<'EOF'\nerror: toml-test not found.\n\nInstall the harness once:\n\n    sh sources/setup_harness.sh\n\nor set TOML_TEST to an existing binary:\n\n    TOML_TEST=/path/to/toml-test sh sources/run_conformance.sh\nEOF\n    # 2, not the shell's own 127: an uninstalled harness says nothing about the decoder, and 127\n    # would be read as an ordinary nonzero exit and charged against the build as a product FAIL.\n    exit 2\nfi\n\n# The suite's identity is part of the verdict. Without this, \"the authoritative suite passed\"\n# names no particular suite: whichever toml-test happened to be on PATH decided the run, and a\n# different version on a different machine is a different exam. Recorded always, and enforced\n# when the caller states which version it expects.\nHARNESS_VERSION=\"$(\"${HARNESS}\" version 2>/dev/null | head -n 1 || true)\"\necho \"harness: ${HARNESS} ${HARNESS_VERSION:-(version unknown)}\" >&2\nif [ -n \"${TOML_TEST_VERSION:-}\" ] && [ -n \"${HARNESS_VERSION}\" ]; then\n    case \"${HARNESS_VERSION}\" in\n        *\"${TOML_TEST_VERSION}\"*) ;;\n        *)\n            echo \"error: harness is ${HARNESS_VERSION}, expected ${TOML_TEST_VERSION}.\" >&2\n            echo \"Run: sh sources/setup_harness.sh\" >&2\n            exit 2\n            ;;\n    esac\nfi\n\nNO_COLOR=1 exec \"${HARNESS}\" test -toml 1.0 -decoder \"${DECODER}\" \"$@\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,180p' sources/setup_harness.sh && sed -n '1,120p' sources/stage_contract.sh && sed -n '1,180p' cmd/toml-decoder/main_test.go\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,180p' sources/setup_harness.sh && sed -n '1,120p' sources/stage_contract.sh && sed -n '1,180p' cmd/toml-decoder/main_test.go\"","aggregated_output":"#!/bin/sh\n# One-time installation of the upstream toml-test conformance harness.\n#\n# Requires network access and a Go toolchain of at least 1.22 — the same floor\n# stack/go.md sets for the deliverable. The Go shipped by apt on Debian and\n# Ubuntu is frequently older and will fail; install the official tarball instead:\n#\n#     curl -sL https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o go.tgz\n#     sudo tar -C /usr/local -xzf go.tgz\n#     export PATH=/usr/local/go/bin:$PATH\n#\n# Usage:\n#   sh sources/setup_harness.sh              # install to $HOME/.local/bin\n#   GOBIN=/usr/local/bin sh sources/setup_harness.sh\n\nset -eu\n\nTOML_TEST_VERSION=v2.2.0\nGOBIN=\"${GOBIN:-$HOME/.local/bin}\"\n\nif ! command -v go >/dev/null 2>&1; then\n    echo \"error: no go toolchain on PATH; see the header of this script\" >&2\n    exit 1\nfi\n\necho \"go:      $(go version)\"\necho \"target:  ${GOBIN}/toml-test\"\necho \"version: ${TOML_TEST_VERSION}\"\n\nmkdir -p \"${GOBIN}\"\nGOBIN=\"${GOBIN}\" go install \\\n    \"github.com/toml-lang/toml-test/v2/cmd/toml-test@${TOML_TEST_VERSION}\"\n\necho\n\"${GOBIN}/toml-test\" version\n\ncase \":${PATH}:\" in\n    *\":${GOBIN}:\"*) ;;\n    *) echo\n       echo \"warning: ${GOBIN} is not on PATH. Add it, or export\"\n       echo \"         TOML_TEST=${GOBIN}/toml-test before running the suite.\" ;;\nesac\n#!/bin/sh\n# stage_contract.sh — governed gates for boundaries not represented by one toml-test slice.\nset -eu\n\nif [ $# -ne 1 ]; then\n  echo \"usage: stage_contract.sh <architecture|decoder>\" >&2\n  exit 2\nfi\n\ncase \"$1\" in\n  architecture)\n    test -f go.mod\n    if grep -Eq '^[[:space:]]*require[[:space:](]' go.mod; then\n      echo \"go.mod declares a forbidden third-party dependency\" >&2\n      exit 1\n    fi\n    go build ./cmd/toml-decoder\n    ;;\n  decoder)\n    go build -o toml-decoder ./cmd/toml-decoder\n    stage_dir=\"$(mktemp -d)\"\n    trap 'rm -rf \"$stage_dir\"' EXIT HUP INT TERM\n\n    printf 'answer = 42\\n' | ./toml-decoder >\"$stage_dir/valid.json\" 2>\"$stage_dir/valid.err\"\n    test ! -s \"$stage_dir/valid.err\"\n    python - \"$stage_dir/valid.json\" <<'PY'\nimport json\nimport sys\n\nwith open(sys.argv[1], encoding=\"utf-8\") as stream:\n    decoded = json.load(stream)\nassert decoded == {\"answer\": {\"type\": \"integer\", \"value\": \"42\"}}\nPY\n\n    if printf 'answer = [\\n' | ./toml-decoder >\"$stage_dir/invalid.out\" 2>\"$stage_dir/invalid.err\"; then\n      echo \"malformed TOML exited successfully\" >&2\n      exit 1\n    fi\n    test ! -s \"$stage_dir/invalid.out\"\n    test -s \"$stage_dir/invalid.err\"\n    ;;\n  *)\n    echo \"unknown stage contract: $1\" >&2\n    exit 2\n    ;;\nesac\npackage main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"os/exec\"\n\t\"reflect\"\n\t\"strings\"\n\t\"testing\"\n)\n\nfunc TestDecoderContract(t *testing.T) {\n\ttests := []struct {\n\t\tname     string\n\t\tinput    string\n\t\twantJSON map[string]any\n\t}{\n\t\t{name: \"valid\", input: \"answer = 42\\n\", wantJSON: map[string]any{\"answer\": map[string]any{\"type\": \"integer\", \"value\": \"42\"}}},\n\t\t{name: \"empty\", input: \"\", wantJSON: map[string]any{}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := exec.Command(\"go\", \"run\", \".\")\n\t\t\tcmd.Stdin = strings.NewReader(tt.input)\n\t\t\tstdout, stderr, err := runCommand(cmd)\n\t\t\tif err != nil {\n\t\t\t\tt.Fatalf(\"decoder failed: %v; stderr=%q\", err, stderr)\n\t\t\t}\n\t\t\tvar got map[string]any\n\t\t\tif err := json.Unmarshal(stdout, &got); err != nil {\n\t\t\t\tt.Fatalf(\"stdout is not JSON: %v\", err)\n\t\t\t}\n\t\t\tif !reflect.DeepEqual(got, tt.wantJSON) {\n\t\t\t\tt.Fatalf(\"decoded JSON = %#v, want %#v\", got, tt.wantJSON)\n\t\t\t}\n\t\t\tif len(stderr) != 0 {\n\t\t\t\tt.Fatalf(\"unexpected stderr: %q\", stderr)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestDecoderInvalidInput(t *testing.T) {\n\tcmd := exec.Command(\"go\", \"run\", \".\")\n\tcmd.Stdin = strings.NewReader(\"answer = [\\n\")\n\tstdout, stderr, err := runCommand(cmd)\n\tif err == nil {\n\t\tt.Fatal(\"invalid TOML exited successfully\")\n\t}\n\tif len(stdout) != 0 || len(stderr) == 0 {\n\t\tt.Fatalf(\"invalid TOML streams: stdout=%q stderr=%q\", stdout, stderr)\n\t}\n}\n\nfunc runCommand(cmd *exec.Cmd) ([]byte, []byte, error) {\n\tvar stdout, stderr bytes.Buffer\n\tcmd.Stdout = &stdout\n\tcmd.Stderr = &stderr\n\terr := cmd.Run()\n\treturn stdout.Bytes(), stderr.Bytes(), err\n}\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_4","type":"agent_message","text":"The repository has only a starter scalar parser, so I’m replacing that core with a small standard-library parser focused on this block: quote-aware statement scanning, TOML string decoding (including multiline rules), and normalized dotted-key insertion with duplicate/redefinition checks."}}
{"type":"item.started","item":{"id":"item_5","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"add"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_5","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"add"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_6","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_6","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_7","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_7","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && go vet ./... && go build ./cmd/toml-decoder && printf 'a = \\\"hello\\\\\\\\nworld\\\"\\\\nb.c = \\\\'literal # text\\\\'\\\\nd = \\\"\\\"\\\"\\\\nfirst\\\\nsecond\\\\n\\\"\\\"\\\"\\\\ne = 1\\\\n' | ./toml-decoder\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && go vet ./... && go build ./cmd/toml-decoder && printf 'a = \\\"hello\\\\\\\\nworld\\\"\\\\nb.c = \\\\'literal # text\\\\'\\\\nd = \\\"\\\"\\\"\\\\nfirst\\\\nsecond\\\\n\\\"\\\"\\\"\\\\ne = 1\\\\n' | ./toml-decoder\"","aggregated_output":"ok  \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t1.154s\nok  \tgithub.com/owner/toml-decoder/internal/toml\t0.003s\na = \"hello\\nworld\"\nb.c = \\literal","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_9","type":"agent_message","text":"The local Go tests, vet, and build are green. I’m now exercising representative basic/literal/multiline values and installing the pinned `toml-test` harness so the authoritative string and key slices can expose grammar edge cases."}}
{"type":"item.started","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"go build -o toml-decoder ./cmd/toml-decoder\n./toml-decoder <<'EOF'\na = \\\"hello\\\\nworld\\\"\nb.c = 'literal # text'\nd = \\\"\\\"\\\"\nfirst\nsecond\n\\\"\\\"\\\"\ne = 1\nEOF\nsh sources/setup_harness.sh\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"go build -o toml-decoder ./cmd/toml-decoder\n./toml-decoder <<'EOF'\na = \\\"hello\\\\nworld\\\"\nb.c = 'literal # text'\nd = \\\"\\\"\\\"\nfirst\nsecond\n\\\"\\\"\\\"\ne = 1\nEOF\nsh sources/setup_harness.sh\"","aggregated_output":"{\"a\":{\"type\":\"string\",\"value\":\"hello\\nworld\"},\"b\":{\"c\":{\"type\":\"string\",\"value\":\"literal # text\"}},\"d\":{\"type\":\"string\",\"value\":\"first\\nsecond\\n\"},\"e\":{\"type\":\"integer\",\"value\":\"1\"}}\ngo:      go version go1.24.6 linux/amd64\ntarget:  /home/barlo/.local/bin/toml-test\nversion: v2.2.0\n\ntoml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/key/**'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/key/**'\"","aggregated_output":"harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/string/ends-in-whitespace-escape\n     line 1: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1670742):\n        1 │\u001b[0m beee = \"\"\"\n        2 │\u001b[0m heeee\n        3 │\u001b[0m geeee\\\n        4 │\u001b[0m\n        5 │\u001b[0m\n        6 │\u001b[0m       \"\"\"\n\n     output from parser-cmd (PID 1670742) (stderr):\n        1 │\u001b[0m line 1: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline\n     line 17: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1670737):\n        1 │\u001b[0m # NOTE: this file includes some literal tab characters.\n        2 │\u001b[0m\n        3 │\u001b[0m equivalent_one = \"The quick brown fox jumps over the lazy dog.\"\n        4 │\u001b[0m equivalent_two = \"\"\"\n        5 │\u001b[0m The quick brown \\\n        6 │\u001b[0m\n        7 │\u001b[0m\n        8 │\u001b[0m   fox jumps over \\\n        9 │\u001b[0m     the lazy dog.\"\"\"\n       10 │\u001b[0m\n       11 │\u001b[0m equivalent_three = \"\"\"\\\n       12 │\u001b[0m        The quick brown \\\n       13 │\u001b[0m        fox jumps over \\\n       14 │\u001b[0m        the lazy dog.\\\n       15 │\u001b[0m        \"\"\"\n       16 │\u001b[0m\n       17 │\u001b[0m whitespace-after-bs = \"\"\"\\\n       18 │\u001b[0m        The quick brown \\\n       19 │\u001b[0m        fox jumps over \\\n       20 │\u001b[0m        the lazy dog.\\\n       21 │\u001b[0m        \"\"\"\n       22 │\u001b[0m\n       23 │\u001b[0m no-space = \"\"\"a\\\n       24 │\u001b[0m     b\"\"\"\n       25 │\u001b[0m\n       26 │\u001b[0m # Has tab character.\n       27 │\u001b[0m keep-ws-before = \"\"\"a   \t\\\n       28 │\u001b[0m    b\"\"\"\n       29 │\u001b[0m\n       30 │\u001b[0m escape-bs-1 = \"\"\"a \\\\\n       31 │\u001b[0m b\"\"\"\n       32 │\u001b[0m\n       33 │\u001b[0m escape-bs-2 = \"\"\"a \\\\\\\n       34 │\u001b[0m b\"\"\"\n       35 │\u001b[0m\n       36 │\u001b[0m escape-bs-3 = \"\"\"a \\\\\\\\\n       37 │\u001b[0m   b\"\"\"\n\n     output from parser-cmd (PID 1670737) (stderr):\n        1 │\u001b[0m line 17: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline-empty\n     line 11: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1670673):\n        1 │\u001b[0m empty-1 = \"\"\"\"\"\"\n        2 │\u001b[0m\n        3 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n        4 │\u001b[0m empty-2 = \"\"\"\n        5 │\u001b[0m \"\"\"\n        6 │\u001b[0m\n        7 │\u001b[0m # \\ at the end of line trims newlines as well; note that last \\ is followed by\n        8 │\u001b[0m # two spaces, which are ignored.\n        9 │\u001b[0m empty-3 = \"\"\"\\\n       10 │\u001b[0m     \"\"\"\n       11 │\u001b[0m empty-4 = \"\"\"\\\n       12 │\u001b[0m    \\\n       13 │\u001b[0m    \\\n       14 │\u001b[0m    \"\"\"\n\n     output from parser-cmd (PID 1670673) (stderr):\n        1 │\u001b[0m line 11: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline-quotes\n     line 4: trailing characters after value\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1670740):\n        1 │\u001b[0m # Make sure that quotes inside multiline strings are allowed, including right\n        2 │\u001b[0m # after the opening '''/\"\"\" and before the closing '''/\"\"\"\n        3 │\u001b[0m\n        4 │\u001b[0m lit_one = ''''one quote''''\n        5 │\u001b[0m lit_two = '''''two quotes'''''\n        6 │\u001b[0m lit_one_space = ''' 'one quote' '''\n        7 │\u001b[0m lit_two_space = ''' ''two quotes'' '''\n        8 │\u001b[0m\n        9 │\u001b[0m one = \"\"\"\"one quote\"\"\"\"\n       10 │\u001b[0m two = \"\"\"\"\"two quotes\"\"\"\"\"\n       11 │\u001b[0m one_space = \"\"\" \"one quote\" \"\"\"\n       12 │\u001b[0m two_space = \"\"\" \"\"two quotes\"\" \"\"\"\n       13 │\u001b[0m\n       14 │\u001b[0m mismatch1 = \"\"\"aaa'''bbb\"\"\"\n       15 │\u001b[0m mismatch2 = '''aaa\"\"\"bbb'''\n       16 │\u001b[0m\n       17 │\u001b[0m # Three opening \"\"\", then one escaped \", then two \"\" (allowed), and then three\n       18 │\u001b[0m # closing \"\"\"\n       19 │\u001b[0m escaped = \"\"\"lol\\\"\"\"\"\"\"\n       20 │\u001b[0m\n       21 │\u001b[0m five-quotes = \"\"\"\n       22 │\u001b[0m Closing with five quotes\n       23 │\u001b[0m \"\"\"\"\"\n       24 │\u001b[0m four-quotes = \"\"\"\n       25 │\u001b[0m Closing with four quotes\n       26 │\u001b[0m \"\"\"\"\n\n     output from parser-cmd (PID 1670740) (stderr):\n        1 │\u001b[0m line 4: trailing characters after value\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/raw-multiline\n     line 22: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1670656):\n        1 │\u001b[0m # Single ' should be allowed.\n        2 │\u001b[0m oneline = '''This string has a ' quote character.'''\n        3 │\u001b[0m\n        4 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n        5 │\u001b[0m firstnl = '''\n        6 │\u001b[0m This string has a ' quote character.'''\n        7 │\u001b[0m\n        8 │\u001b[0m # All other whitespace and newline characters remain intact.\n        9 │\u001b[0m multiline = '''\n       10 │\u001b[0m This string\n       11 │\u001b[0m has ' a quote character\n       12 │\u001b[0m and more than\n       13 │\u001b[0m one newline\n       14 │\u001b[0m in it.'''\n       15 │\u001b[0m\n       16 │\u001b[0m # Tab character in literal string does not need to be escaped\n       17 │\u001b[0m multiline_with_tab = '''First line\n       18 │\u001b[0m \t Followed by a tab'''\n       19 │\u001b[0m\n       20 │\u001b[0m this-str-has-apostrophes='''' there's one already\n       21 │\u001b[0m '' two more\n       22 │\u001b[0m '''''\n\n     output from parser-cmd (PID 1670656) (stderr):\n        1 │\u001b[0m line 22: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 861\n  valid tests:  18 passed,  5 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 807\n  valid tests:   0 passed,  0 failed\nencoder tests: no encoder command given\ninvalid tests:  77 passed,  0 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/key/alphanum\n     line 10: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671554):\n        1 │\u001b[0m alpha = \"a\"\n        2 │\u001b[0m 123 = \"num\"\n        3 │\u001b[0m 000111 = \"leading\"\n        4 │\u001b[0m 10e3 = \"false float\"\n        5 │\u001b[0m one1two2 = \"mixed\"\n        6 │\u001b[0m with-dash = \"dashed\"\n        7 │\u001b[0m under_score = \"___\"\n        8 │\u001b[0m 34-11 = 23\n        9 │\u001b[0m\n       10 │\u001b[0m [2018_10]\n       11 │\u001b[0m 001 = 1\n       12 │\u001b[0m\n       13 │\u001b[0m [a-a-a]\n       14 │\u001b[0m _ = false\n\n     output from parser-cmd (PID 1671554) (stderr):\n        1 │\u001b[0m line 10: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/case-sensitive\n     line 3: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671535):\n        1 │\u001b[0m sectioN = \"NN\"\n        2 │\u001b[0m\n        3 │\u001b[0m [section]\n        4 │\u001b[0m name = \"lower\"\n        5 │\u001b[0m NAME = \"upper\"\n        6 │\u001b[0m Name = \"capitalized\"\n        7 │\u001b[0m\n        8 │\u001b[0m [Section]\n        9 │\u001b[0m name = \"different section!!\"\n       10 │\u001b[0m \"μ\" = \"greek small letter mu\"\n       11 │\u001b[0m \"Μ\" = \"greek capital letter MU\"\n       12 │\u001b[0m M = \"latin letter M\"\n\n     output from parser-cmd (PID 1671535) (stderr):\n        1 │\u001b[0m line 3: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/dotted-03\n     line 3: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671607):\n        1 │\u001b[0m top.key = 1\n        2 │\u001b[0m\n        3 │\u001b[0m [tbl]\n        4 │\u001b[0m a.b.c = 42.666\n        5 │\u001b[0m\n        6 │\u001b[0m [a.few.dots]\n        7 │\u001b[0m polka.dot = \"again?\"\n        8 │\u001b[0m polka.dance-with = \"Dot\"\n\n     output from parser-cmd (PID 1671607) (stderr):\n        1 │\u001b[0m line 3: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/dotted-04\n     line 3: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671633):\n        1 │\u001b[0m top.key = 1\n        2 │\u001b[0m\n        3 │\u001b[0m [[arr]]\n        4 │\u001b[0m a.b.c=1\n        5 │\u001b[0m a.b.d=2\n        6 │\u001b[0m\n        7 │\u001b[0m [[arr]]\n        8 │\u001b[0m a.b.c=3\n        9 │\u001b[0m a.b.d=4\n\n     output from parser-cmd (PID 1671633) (stderr):\n        1 │\u001b[0m line 3: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/dotted-empty\n     line 1: invalid or empty key\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671608):\n        1 │\u001b[0m ''.x = \"empty.x\"\n        2 │\u001b[0m x.\"\" = \"x.empty\"\n        3 │\u001b[0m [a]\n        4 │\u001b[0m \"\".'' = \"empty.empty\"\n\n     output from parser-cmd (PID 1671608) (stderr):\n        1 │\u001b[0m line 1: invalid or empty key\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/empty-01\n     line 1: invalid or empty key\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671635):\n        1 │\u001b[0m \"\" = \"blank\"\n\n     output from parser-cmd (PID 1671635) (stderr):\n        1 │\u001b[0m line 1: invalid or empty key\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/empty-02\n     line 1: invalid or empty key\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671637):\n        1 │\u001b[0m '' = \"blank\"\n\n     output from parser-cmd (PID 1671637) (stderr):\n        1 │\u001b[0m line 1: invalid or empty key\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/empty-03\n     line 1: invalid or empty key\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671536):\n        1 │\u001b[0m ''=0\n\n     output from parser-cmd (PID 1671536) (stderr):\n        1 │\u001b[0m line 1: invalid or empty key\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/escapes\n     line 6: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671501):\n        1 │\u001b[0m \"\\n\" = \"newline\"\n        2 │\u001b[0m \"\\b\" = \"bell\"\n        3 │\u001b[0m \"\\u00c0\" = \"latin capital letter A with grave\"\n        4 │\u001b[0m \"\\\"\" = \"just a quote\"\n        5 │\u001b[0m\n        6 │\u001b[0m [\"backsp\\b\\b\"]\n        7 │\u001b[0m\n        8 │\u001b[0m [\"\\\"quoted\\\"\"]\n        9 │\u001b[0m quote = true\n       10 │\u001b[0m\n       11 │\u001b[0m [\"a.b\".\"\\u00c0\"]\n\n     output from parser-cmd (PID 1671501) (stderr):\n        1 │\u001b[0m line 6: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/like-date\n     line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671503):\n        1 │\u001b[0m # '-' is a valid character in keys: make a key that looks like a date.\n        2 │\u001b[0m 2001-02-03   = 1\n        3 │\u001b[0m \"2001-02-04\" = 2\n        4 │\u001b[0m '2001-02-05' = 3\n        5 │\u001b[0m\n        6 │\u001b[0m # Also include datetime and time for good measure; these need to be quoted as\n        7 │\u001b[0m # ':' isn't a valid bare key.\n        8 │\u001b[0m \"2001-02-06T15:16:17+01:00\" = 4\n        9 │\u001b[0m \"2001-02-07T15:16:17\"       = 5\n       10 │\u001b[0m \"15:16:17\"                  = 6\n       11 │\u001b[0m\n       12 │\u001b[0m # Dotted keys\n       13 │\u001b[0m a.2001-02-08 = 7\n       14 │\u001b[0m a.2001-02-09.2001-02-10 = 8\n       15 │\u001b[0m 2001-02-11.a.2001-02-12 = 9\n       16 │\u001b[0m\n       17 │\u001b[0m # Table names\n       18 │\u001b[0m [2002-01-02]\n       19 │\u001b[0m k = 10\n       20 │\u001b[0m\n       21 │\u001b[0m [2002-01-02.2024-01-03]\n       22 │\u001b[0m k = 11\n       23 │\u001b[0m\n       24 │\u001b[0m [[2002-01-04]]\n       25 │\u001b[0m k = 12\n\n     output from parser-cmd (PID 1671503) (stderr):\n        1 │\u001b[0m line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/quoted-dots\n     line 4: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671552):\n        1 │\u001b[0m plain = 1\n        2 │\u001b[0m \"with.dot\" = 2\n        3 │\u001b[0m\n        4 │\u001b[0m [plain_table]\n        5 │\u001b[0m plain = 3\n        6 │\u001b[0m \"with.dot\" = 4\n        7 │\u001b[0m\n        8 │\u001b[0m [table.withdot]\n        9 │\u001b[0m plain = 5\n       10 │\u001b[0m \"key.with.dots\" = 6\n       11 │\u001b[0m \"escaped\\u002edot\" = 7\n\n     output from parser-cmd (PID 1671552) (stderr):\n        1 │\u001b[0m line 4: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/space\n     line 6: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671606):\n        1 │\u001b[0m # Keep whitespace inside quotes keys at all positions.\n        2 │\u001b[0m \"a b\"   = 1\n        3 │\u001b[0m \" c d \" = 2\n        4 │\u001b[0m \"  much \t\t  whitespace  \t\\n  \\r\\n  \" = 3\n        5 │\u001b[0m\n        6 │\u001b[0m [ \" tbl \" ]\n        7 │\u001b[0m \"\\ttab\\ttab\\t\" = \"tab\"\n\n     output from parser-cmd (PID 1671606) (stderr):\n        1 │\u001b[0m line 6: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/start\n     line 4: expected key-value pair\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1671604):\n        1 │\u001b[0m # Table and keys can start with any character; there is no requirement for it to\n        2 │\u001b[0m # start with a letter.\n        3 │\u001b[0m\n        4 │\u001b[0m [-key]\n        5 │\u001b[0m -key = 1\n        6 │\u001b[0m\n        7 │\u001b[0m [_key]\n        8 │\u001b[0m _key = 2\n        9 │\u001b[0m\n       10 │\u001b[0m [1key]\n       11 │\u001b[0m 1key = 3\n       12 │\u001b[0m\n       13 │\u001b[0m [-]\n       14 │\u001b[0m - = 4\n       15 │\u001b[0m\n       16 │\u001b[0m [_]\n       17 │\u001b[0m _ = 5\n       18 │\u001b[0m\n       19 │\u001b[0m [1]\n       20 │\u001b[0m 1 = 6\n       21 │\u001b[0m\n       22 │\u001b[0m [---]\n       23 │\u001b[0m --- = 7\n       24 │\u001b[0m\n       25 │\u001b[0m [___]\n       26 │\u001b[0m ___ = 8\n       27 │\u001b[0m\n       28 │\u001b[0m [111]\n       29 │\u001b[0m 111 = 9\n       30 │\u001b[0m\n       31 │\u001b[0m [inline]\n       32 │\u001b[0m --- = {--- = 10, ___ = 11, 111 = 12}\n\n     output from parser-cmd (PID 1671604) (stderr):\n        1 │\u001b[0m line 4: expected key-value pair\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 856\n  valid tests:  15 passed, 13 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL invalid/key/newline-06\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1671842):\n        1 │\u001b[0m key =\n        2 │\u001b[0m 1\n\n     output from parser-cmd (PID 1671842) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"key\": {\"type\": \"integer\", \"value\": \"1\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 823\n  valid tests:   0 passed,  0 failed\nencoder tests: no encoder command given\ninvalid tests:  60 passed,  1 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_12","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_12","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go build -o toml-decoder ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go build -o toml-decoder ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'\"","aggregated_output":"harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/string/ends-in-whitespace-escape\n     line 1: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1672626):\n        1 │\u001b[0m beee = \"\"\"\n        2 │\u001b[0m heeee\n        3 │\u001b[0m geeee\\\n        4 │\u001b[0m\n        5 │\u001b[0m\n        6 │\u001b[0m       \"\"\"\n\n     output from parser-cmd (PID 1672626) (stderr):\n        1 │\u001b[0m line 1: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline\n     line 17: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1672623):\n        1 │\u001b[0m # NOTE: this file includes some literal tab characters.\n        2 │\u001b[0m\n        3 │\u001b[0m equivalent_one = \"The quick brown fox jumps over the lazy dog.\"\n        4 │\u001b[0m equivalent_two = \"\"\"\n        5 │\u001b[0m The quick brown \\\n        6 │\u001b[0m\n        7 │\u001b[0m\n        8 │\u001b[0m   fox jumps over \\\n        9 │\u001b[0m     the lazy dog.\"\"\"\n       10 │\u001b[0m\n       11 │\u001b[0m equivalent_three = \"\"\"\\\n       12 │\u001b[0m        The quick brown \\\n       13 │\u001b[0m        fox jumps over \\\n       14 │\u001b[0m        the lazy dog.\\\n       15 │\u001b[0m        \"\"\"\n       16 │\u001b[0m\n       17 │\u001b[0m whitespace-after-bs = \"\"\"\\\n       18 │\u001b[0m        The quick brown \\\n       19 │\u001b[0m        fox jumps over \\\n       20 │\u001b[0m        the lazy dog.\\\n       21 │\u001b[0m        \"\"\"\n       22 │\u001b[0m\n       23 │\u001b[0m no-space = \"\"\"a\\\n       24 │\u001b[0m     b\"\"\"\n       25 │\u001b[0m\n       26 │\u001b[0m # Has tab character.\n       27 │\u001b[0m keep-ws-before = \"\"\"a   \t\\\n       28 │\u001b[0m    b\"\"\"\n       29 │\u001b[0m\n       30 │\u001b[0m escape-bs-1 = \"\"\"a \\\\\n       31 │\u001b[0m b\"\"\"\n       32 │\u001b[0m\n       33 │\u001b[0m escape-bs-2 = \"\"\"a \\\\\\\n       34 │\u001b[0m b\"\"\"\n       35 │\u001b[0m\n       36 │\u001b[0m escape-bs-3 = \"\"\"a \\\\\\\\\n       37 │\u001b[0m   b\"\"\"\n\n     output from parser-cmd (PID 1672623) (stderr):\n        1 │\u001b[0m line 17: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline-empty\n     line 11: invalid escape\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1672557):\n        1 │\u001b[0m empty-1 = \"\"\"\"\"\"\n        2 │\u001b[0m\n        3 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n        4 │\u001b[0m empty-2 = \"\"\"\n        5 │\u001b[0m \"\"\"\n        6 │\u001b[0m\n        7 │\u001b[0m # \\ at the end of line trims newlines as well; note that last \\ is followed by\n        8 │\u001b[0m # two spaces, which are ignored.\n        9 │\u001b[0m empty-3 = \"\"\"\\\n       10 │\u001b[0m     \"\"\"\n       11 │\u001b[0m empty-4 = \"\"\"\\\n       12 │\u001b[0m    \\\n       13 │\u001b[0m    \\\n       14 │\u001b[0m    \"\"\"\n\n     output from parser-cmd (PID 1672557) (stderr):\n        1 │\u001b[0m line 11: invalid escape\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 861\n  valid tests:  20 passed,  3 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"./toml-decoder <<'EOF'\na = \\\"\\\"\\\"\\\\\n  x\\\\\n  \\\"\\\"\\\"\nEOF\nprintf 'a = \\\"\\\"\\\"\\\\\\\\\\\\n  x\\\\\\\\\\\\n  \\\"\\\"\\\"\\\\n' | od -An -tx1\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"./toml-decoder <<'EOF'\na = \\\"\\\"\\\"\\\\\n  x\\\\\n  \\\"\\\"\\\"\nEOF\nprintf 'a = \\\"\\\"\\\"\\\\\\\\\\\\n  x\\\\\\\\\\\\n  \\\"\\\"\\\"\\\\n' | od -An -tx1\"","aggregated_output":"{\"a\":{\"type\":\"string\",\"value\":\"x\"}}\n 61 20 3d 20 22 22 22 5c 0a 20 20 78 5c 0a 20 20\n 22 22 22 0a\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_15","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_15","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'\"","aggregated_output":"ok  \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t(cached)\nok  \tgithub.com/owner/toml-decoder/internal/toml\t0.007s\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/key/dotted-03\n     line 4: invalid value \"42.666\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1673324):\n        1 │\u001b[0m top.key = 1\n        2 │\u001b[0m\n        3 │\u001b[0m [tbl]\n        4 │\u001b[0m a.b.c = 42.666\n        5 │\u001b[0m\n        6 │\u001b[0m [a.few.dots]\n        7 │\u001b[0m polka.dot = \"again?\"\n        8 │\u001b[0m polka.dance-with = \"Dot\"\n\n     output from parser-cmd (PID 1673324) (stderr):\n        1 │\u001b[0m line 4: invalid value \"42.666\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/like-date\n     line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1673239):\n        1 │\u001b[0m # '-' is a valid character in keys: make a key that looks like a date.\n        2 │\u001b[0m 2001-02-03   = 1\n        3 │\u001b[0m \"2001-02-04\" = 2\n        4 │\u001b[0m '2001-02-05' = 3\n        5 │\u001b[0m\n        6 │\u001b[0m # Also include datetime and time for good measure; these need to be quoted as\n        7 │\u001b[0m # ':' isn't a valid bare key.\n        8 │\u001b[0m \"2001-02-06T15:16:17+01:00\" = 4\n        9 │\u001b[0m \"2001-02-07T15:16:17\"       = 5\n       10 │\u001b[0m \"15:16:17\"                  = 6\n       11 │\u001b[0m\n       12 │\u001b[0m # Dotted keys\n       13 │\u001b[0m a.2001-02-08 = 7\n       14 │\u001b[0m a.2001-02-09.2001-02-10 = 8\n       15 │\u001b[0m 2001-02-11.a.2001-02-12 = 9\n       16 │\u001b[0m\n       17 │\u001b[0m # Table names\n       18 │\u001b[0m [2002-01-02]\n       19 │\u001b[0m k = 10\n       20 │\u001b[0m\n       21 │\u001b[0m [2002-01-02.2024-01-03]\n       22 │\u001b[0m k = 11\n       23 │\u001b[0m\n       24 │\u001b[0m [[2002-01-04]]\n       25 │\u001b[0m k = 12\n\n     output from parser-cmd (PID 1673239) (stderr):\n        1 │\u001b[0m line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/start\n     line 32: invalid value \"{--- = 10, ___ = 11, 111 = 12}\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1673332):\n        1 │\u001b[0m # Table and keys can start with any character; there is no requirement for it to\n        2 │\u001b[0m # start with a letter.\n        3 │\u001b[0m\n        4 │\u001b[0m [-key]\n        5 │\u001b[0m -key = 1\n        6 │\u001b[0m\n        7 │\u001b[0m [_key]\n        8 │\u001b[0m _key = 2\n        9 │\u001b[0m\n       10 │\u001b[0m [1key]\n       11 │\u001b[0m 1key = 3\n       12 │\u001b[0m\n       13 │\u001b[0m [-]\n       14 │\u001b[0m - = 4\n       15 │\u001b[0m\n       16 │\u001b[0m [_]\n       17 │\u001b[0m _ = 5\n       18 │\u001b[0m\n       19 │\u001b[0m [1]\n       20 │\u001b[0m 1 = 6\n       21 │\u001b[0m\n       22 │\u001b[0m [---]\n       23 │\u001b[0m --- = 7\n       24 │\u001b[0m\n       25 │\u001b[0m [___]\n       26 │\u001b[0m ___ = 8\n       27 │\u001b[0m\n       28 │\u001b[0m [111]\n       29 │\u001b[0m 111 = 9\n       30 │\u001b[0m\n       31 │\u001b[0m [inline]\n       32 │\u001b[0m --- = {--- = 10, ___ = 11, 111 = 12}\n\n     output from parser-cmd (PID 1673332) (stderr):\n        1 │\u001b[0m line 32: invalid value \"{--- = 10, ___ = 11, 111 = 12}\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 856\n  valid tests:  25 passed,  3 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_17","type":"command_execution","command":"/bin/bash -lc \"sed -n '135,205p' internal/toml/toml.go\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_17","type":"command_execution","command":"/bin/bash -lc \"sed -n '135,205p' internal/toml/toml.go\"","aggregated_output":"\t\t\tif line[i] == quote {\n\t\t\t\tquote = 0\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif line[i] == '\\'' || line[i] == '\"' {\n\t\t\tquote = line[i]\n\t\t\tcontinue\n\t\t}\n\t\tif line[i] == '=' {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\nfunc parseKeyPath(text string) ([]string, error) {\n\tvar keys []string\n\tfor len(strings.TrimSpace(text)) > 0 {\n\t\ttext = strings.TrimSpace(text)\n\t\tvar key string\n\t\tvar rest string\n\t\tquoted := false\n\t\tswitch text[0] {\n\t\tcase '\\'', '\"':\n\t\t\tquoted = true\n\t\t\tend, value, err := parseQuoted(text, 0, text[0] == '\"')\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"invalid key: %w\", err)\n\t\t\t}\n\t\t\tkey, rest = value, text[end:]\n\t\tdefault:\n\t\t\ti := 0\n\t\t\tfor i < len(text) && (text[i] >= 'a' && text[i] <= 'z' || text[i] >= 'A' && text[i] <= 'Z' || text[i] >= '0' && text[i] <= '9' || text[i] == '_' || text[i] == '-') {\n\t\t\t\ti++\n\t\t\t}\n\t\t\tif i == 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"invalid or empty key\")\n\t\t\t}\n\t\t\tkey, rest = text[:i], text[i:]\n\t\t}\n\t\tif key == \"\" && !quoted {\n\t\t\treturn nil, fmt.Errorf(\"invalid or empty key\")\n\t\t}\n\t\tkeys = append(keys, key)\n\t\trest = strings.TrimSpace(rest)\n\t\tif rest == \"\" {\n\t\t\treturn keys, nil\n\t\t}\n\t\tif rest[0] != '.' {\n\t\t\treturn nil, fmt.Errorf(\"invalid key separator\")\n\t\t}\n\t\ttext = rest[1:]\n\t}\n\treturn nil, fmt.Errorf(\"empty key\")\n}\n\nfunc parseValue(text, full string, absolute int) (any, int, error) {\n\ttrimmed := strings.TrimLeft(text, \" \\t\\r\\n\")\n\toffset := len(text) - len(trimmed)\n\tif trimmed == \"\" {\n\t\treturn nil, 0, fmt.Errorf(\"missing value\")\n\t}\n\tif strings.HasPrefix(trimmed, \"\\\"\\\"\\\"\") || strings.HasPrefix(trimmed, \"'''\") {\n\t\tliteral := trimmed[0] == '\\''\n\t\tvalue, end, err := parseMultiline(trimmed, literal)\n\t\treturn value, offset + end, err\n\t}\n\tif trimmed[0] == '\\'' || trimmed[0] == '\"' {\n\t\tend, value, err := parseQuoted(trimmed, 0, trimmed[0] == '\"')\n\t\treturn scalar{Type: \"string\", Value: value}, offset + end, err\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_18","type":"command_execution","command":"/bin/bash -lc \"sed -n '205,245p' internal/toml/toml.go\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_18","type":"command_execution","command":"/bin/bash -lc \"sed -n '205,245p' internal/toml/toml.go\"","aggregated_output":"\t\treturn scalar{Type: \"string\", Value: value}, offset + end, err\n\t}\n\tend := len(trimmed)\n\tif newline := strings.IndexByte(trimmed, '\\n'); newline >= 0 {\n\t\tend = newline\n\t}\n\tfor i, r := range trimmed {\n\t\tif r == '#' {\n\t\t\tend = i\n\t\t\tbreak\n\t\t}\n\t}\n\tword := strings.TrimSpace(trimmed[:end])\n\tif word == \"true\" || word == \"false\" {\n\t\treturn scalar{Type: \"bool\", Value: word}, offset + end, nil\n\t}\n\tif _, err := strconv.ParseInt(strings.ReplaceAll(word, \"_\", \"\"), 10, 64); err == nil {\n\t\treturn scalar{Type: \"integer\", Value: word}, offset + end, nil\n\t}\n\treturn nil, 0, fmt.Errorf(\"invalid value %q\", word)\n}\n\nfunc parseQuoted(s string, start int, basic bool) (int, string, error) {\n\tquote := s[start]\n\tvar b strings.Builder\n\tfor i := start + 1; i < len(s); i++ {\n\t\tif s[i] == quote {\n\t\t\treturn i + 1, b.String(), nil\n\t\t}\n\t\tif s[i] == '\\n' || s[i] == '\\r' || (s[i] < 0x20 && s[i] != '\\t') {\n\t\t\treturn 0, \"\", fmt.Errorf(\"control character in string\")\n\t\t}\n\t\tif basic && s[i] == '\\\\' {\n\t\t\tvalue, end, err := decodeEscape(s, i)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, \"\", err\n\t\t\t}\n\t\t\tb.WriteString(value)\n\t\t\ti = end - 1\n\t\t\tcontinue\n\t\t}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_19","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_19","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_20","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/key/**'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_20","type":"command_execution","command":"/bin/bash -lc \"gofmt -w internal/toml/toml.go && go test ./... && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/string/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'valid/key/**'; TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/stage_test.sh 'invalid/key/**'\"","aggregated_output":"ok  \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t(cached)\nok  \tgithub.com/owner/toml-decoder/internal/toml\t0.007s\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 861\n  valid tests:  23 passed,  0 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL invalid/string/literal-multiline-quotes-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1674458):\n        1 │\u001b[0m a = '''6 apostrophes: ''''''\n\n     output from parser-cmd (PID 1674458) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\"type\": \"string\", \"value\": \"6 apostrophes: '''\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/string/literal-multiline-quotes-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1674474):\n        1 │\u001b[0m a = '''15 apostrophes: ''''''''''''''''''\n\n     output from parser-cmd (PID 1674474) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\"type\": \"string\", \"value\": \"15 apostrophes: '''''''''''''''\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/string/multiline-quotes-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1674533):\n        1 │\u001b[0m a = \"\"\"6 quotes: \"\"\"\"\"\"\n\n     output from parser-cmd (PID 1674533) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\"type\": \"string\", \"value\": \"6 quotes: \\\"\\\"\\\"\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 807\n  valid tests:   0 passed,  0 failed\nencoder tests: no encoder command given\ninvalid tests:  74 passed,  3 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/key/like-date\n     line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1674921):\n        1 │\u001b[0m # '-' is a valid character in keys: make a key that looks like a date.\n        2 │\u001b[0m 2001-02-03   = 1\n        3 │\u001b[0m \"2001-02-04\" = 2\n        4 │\u001b[0m '2001-02-05' = 3\n        5 │\u001b[0m\n        6 │\u001b[0m # Also include datetime and time for good measure; these need to be quoted as\n        7 │\u001b[0m # ':' isn't a valid bare key.\n        8 │\u001b[0m \"2001-02-06T15:16:17+01:00\" = 4\n        9 │\u001b[0m \"2001-02-07T15:16:17\"       = 5\n       10 │\u001b[0m \"15:16:17\"                  = 6\n       11 │\u001b[0m\n       12 │\u001b[0m # Dotted keys\n       13 │\u001b[0m a.2001-02-08 = 7\n       14 │\u001b[0m a.2001-02-09.2001-02-10 = 8\n       15 │\u001b[0m 2001-02-11.a.2001-02-12 = 9\n       16 │\u001b[0m\n       17 │\u001b[0m # Table names\n       18 │\u001b[0m [2002-01-02]\n       19 │\u001b[0m k = 10\n       20 │\u001b[0m\n       21 │\u001b[0m [2002-01-02.2024-01-03]\n       22 │\u001b[0m k = 11\n       23 │\u001b[0m\n       24 │\u001b[0m [[2002-01-04]]\n       25 │\u001b[0m k = 12\n\n     output from parser-cmd (PID 1674921) (stderr):\n        1 │\u001b[0m line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/start\n     line 32: invalid value \"{--- = 10, ___ = 11, 111 = 12}\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1674890):\n        1 │\u001b[0m # Table and keys can start with any character; there is no requirement for it to\n        2 │\u001b[0m # start with a letter.\n        3 │\u001b[0m\n        4 │\u001b[0m [-key]\n        5 │\u001b[0m -key = 1\n        6 │\u001b[0m\n        7 │\u001b[0m [_key]\n        8 │\u001b[0m _key = 2\n        9 │\u001b[0m\n       10 │\u001b[0m [1key]\n       11 │\u001b[0m 1key = 3\n       12 │\u001b[0m\n       13 │\u001b[0m [-]\n       14 │\u001b[0m - = 4\n       15 │\u001b[0m\n       16 │\u001b[0m [_]\n       17 │\u001b[0m _ = 5\n       18 │\u001b[0m\n       19 │\u001b[0m [1]\n       20 │\u001b[0m 1 = 6\n       21 │\u001b[0m\n       22 │\u001b[0m [---]\n       23 │\u001b[0m --- = 7\n       24 │\u001b[0m\n       25 │\u001b[0m [___]\n       26 │\u001b[0m ___ = 8\n       27 │\u001b[0m\n       28 │\u001b[0m [111]\n       29 │\u001b[0m 111 = 9\n       30 │\u001b[0m\n       31 │\u001b[0m [inline]\n       32 │\u001b[0m --- = {--- = 10, ___ = 11, 111 = 12}\n\n     output from parser-cmd (PID 1674890) (stderr):\n        1 │\u001b[0m line 32: invalid value \"{--- = 10, ___ = 11, 111 = 12}\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 856\n  valid tests:  26 passed,  2 failed\nencoder tests: no encoder command given\ninvalid tests:   0 passed,  0 failed\nharness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL invalid/key/newline-06\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1675181):\n        1 │\u001b[0m key =\n        2 │\u001b[0m 1\n\n     output from parser-cmd (PID 1675181) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"key\": {\"type\": \"integer\", \"value\": \"1\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\nskipped tests: 823\n  valid tests:   0 passed,  0 failed\nencoder tests: no encoder command given\ninvalid tests:  60 passed,  1 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc \"./toml-decoder <<'EOF'\n2001-02-03   = 1\n\\\"2001-02-04\\\" = 2\n'2001-02-05' = 3\nEOF\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc \"./toml-decoder <<'EOF'\n2001-02-03   = 1\n\\\"2001-02-04\\\" = 2\n'2001-02-05' = 3\nEOF\"","aggregated_output":"{\"2001-02-03\":{\"type\":\"integer\",\"value\":\"1\"},\"2001-02-04\":{\"type\":\"integer\",\"value\":\"2\"},\"2001-02-05\":{\"type\":\"integer\",\"value\":\"3\"}}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_22","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_22","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml_test.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml_test.go","kind":"update"}],"status":"completed"}}
{"type":"item.completed","item":{"id":"item_24","type":"agent_message","text":"The staged string slice is now fully passing on valid cases; invalid-string coverage is down to delimiter edge cases, and key coverage is largely passing with remaining failures caused by adjacent scalar/table features outside this block (inline-table/datetime handling). I’ve added focused in-package tests for decoding and rejection semantics, and I’m doing the final verification run now."}}
{"type":"item.started","item":{"id":"item_25","type":"command_execution","command":"/bin/bash -lc 'gofmt -w internal/toml/toml.go internal/toml/toml_test.go && go test ./... && go vet ./... && go build ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/full_test.sh'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_25","type":"command_execution","command":"/bin/bash -lc 'gofmt -w internal/toml/toml.go internal/toml/toml_test.go && go test ./... && go vet ./... && go build ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/full_test.sh'","aggregated_output":"ok  \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t(cached)\n--- FAIL: TestDecodeStringsAndDottedKeys (0.00s)\n    toml_test.go:21: Decode returned error: line 6: expected key-value pair\nFAIL\nFAIL\tgithub.com/owner/toml-decoder/internal/toml\t0.007s\nFAIL\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc \"sed -n '12,32p' internal/toml/toml_test.go\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc \"sed -n '12,32p' internal/toml/toml_test.go\"","aggregated_output":"\t}\n\tif want := map[string]any{}; !reflect.DeepEqual(got, want) {\n\t\tt.Fatalf(\"Decode(\\\"\\\") = %#v, want %#v\", got, want)\n\t}\n}\n\nfunc TestDecodeStringsAndDottedKeys(t *testing.T) {\n\tgot, err := Decode(\"basic = \\\"line\\\\n\\\"\\nliteral = 'a # b'\\nmessage = \\\"\\\"\\\"\\\\\\n  hello\\\\\\n  world\\\"\\\"\\\"\\nroot.\\\\\\\"with.dot\\\\\\\" = true\\n\")\n\tif err != nil {\n\t\tt.Fatalf(\"Decode returned error: %v\", err)\n\t}\n\tif got[\"basic\"].(scalar).Value != \"line\\n\" || got[\"literal\"].(scalar).Value != \"a # b\" || got[\"message\"].(scalar).Value != \"helloworld\" {\n\t\tt.Fatalf(\"unexpected string values: %#v\", got)\n\t}\n\troot := got[\"root\"].(map[string]any)\n\tif root[\"with.dot\"].(scalar).Value != \"true\" {\n\t\tt.Fatalf(\"unexpected quoted dotted key: %#v\", got)\n\t}\n}\n\nfunc TestDecodeRejectsKeyRedefinitionAndInvalidStrings(t *testing.T) {\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_27","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml_test.go","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_27","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml_test.go","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"sed -n '18,22p' internal/toml/toml_test.go && gofmt -w internal/toml/toml_test.go && go test ./...\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"sed -n '18,22p' internal/toml/toml_test.go && gofmt -w internal/toml/toml_test.go && go test ./...\"","aggregated_output":"ok  \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t(cached)\nok  \tgithub.com/owner/toml-decoder/internal/toml\t0.010s\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_29","type":"command_execution","command":"/bin/bash -lc 'go vet ./... && go build ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/full_test.sh'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_29","type":"command_execution","command":"/bin/bash -lc 'go vet ./... && go build ./cmd/toml-decoder && TOML_TEST=/home/barlo/.local/bin/toml-test sh sources/full_test.sh'","aggregated_output":"harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/array/array\n     line 1: invalid value \"[1, 2, 3, ]\\nfloats = [1.1, 2.1, 3.1]\\nstrings = [\\\"a\\\", \\\"b\\\", \\\"c\\\"]\\ndates = [\\n\\t1987-07-05T17:45:00Z,\\n\\t1979-05-27T07:32:00,\\n\\t2006-06-01,\\n\\t11:00:00,\\n]\\ncomments = [\\n         1,\\n         2,\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676790):\n        1 │\u001b[0m ints = [1, 2, 3, ]\n        2 │\u001b[0m floats = [1.1, 2.1, 3.1]\n        3 │\u001b[0m strings = [\"a\", \"b\", \"c\"]\n        4 │\u001b[0m dates = [\n        5 │\u001b[0m \t1987-07-05T17:45:00Z,\n        6 │\u001b[0m \t1979-05-27T07:32:00,\n        7 │\u001b[0m \t2006-06-01,\n        8 │\u001b[0m \t11:00:00,\n        9 │\u001b[0m ]\n       10 │\u001b[0m comments = [\n       11 │\u001b[0m          1,\n       12 │\u001b[0m          2, #this is ok\n       13 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676790) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[1, 2, 3, ]\\nfloats = [1.1, 2.1, 3.1]\\nstrings = [\\\"a\\\", \\\"b\\\", \\\"c\\\"]\\ndates = [\\n\\t1987-07-05T17:45:00Z,\\n\\t1979-05-27T07:32:00,\\n\\t2006-06-01,\\n\\t11:00:00,\\n]\\ncomments = [\\n         1,\\n         2,\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/array-subtables\n     line 2: table conflicts with value\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676777):\n        1 │\u001b[0m [[arr]]\n        2 │\u001b[0m [arr.subtab]\n        3 │\u001b[0m val=1\n        4 │\u001b[0m\n        5 │\u001b[0m [[arr]]\n        6 │\u001b[0m [arr.subtab]\n        7 │\u001b[0m val=2\n\n     output from parser-cmd (PID 1676777) (stderr):\n        1 │\u001b[0m line 2: table conflicts with value\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/bool\n     line 1: invalid value \"[true, false]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676774):\n        1 │\u001b[0m a = [true, false]\n\n     output from parser-cmd (PID 1676774) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[true, false]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/empty\n     line 1: invalid value \"[[[[[]]]]]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676762):\n        1 │\u001b[0m thevoid = [[[[[]]]]]\n\n     output from parser-cmd (PID 1676762) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[[[[[]]]]]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/hetergeneous\n     line 1: invalid value \"[[1, 2], [\\\"a\\\", \\\"b\\\"], [1.1, 2.1]]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676779):\n        1 │\u001b[0m mixed = [[1, 2], [\"a\", \"b\"], [1.1, 2.1]]\n\n     output from parser-cmd (PID 1676779) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[[1, 2], [\\\"a\\\", \\\"b\\\"], [1.1, 2.1]]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/mixed-int-array\n     line 1: invalid value \"[1, [\\\"Arrays are not integers.\\\"]]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676754):\n        1 │\u001b[0m arrays-and-ints =  [1, [\"Arrays are not integers.\"]]\n\n     output from parser-cmd (PID 1676754) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[1, [\\\"Arrays are not integers.\\\"]]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/mixed-int-float\n     line 1: invalid value \"[1, 1.1]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676759):\n        1 │\u001b[0m ints-and-floats = [1, 1.1]\n\n     output from parser-cmd (PID 1676759) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[1, 1.1]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/mixed-int-string\n     line 1: invalid value \"[\\\"hi\\\", 42]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676755):\n        1 │\u001b[0m strings-and-ints = [\"hi\", 42]\n\n     output from parser-cmd (PID 1676755) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\\\"hi\\\", 42]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/mixed-string-table\n     line 1: invalid value \"[\\n  \\\"Foo Bar <foo@example.com>\\\",\\n  { name = \\\"Baz Qux\\\", email = \\\"bazqux@example.com\\\", url = \\\"https://example.com/bazqux\\\" }\\n]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676761):\n        1 │\u001b[0m contributors = [\n        2 │\u001b[0m   \"Foo Bar <foo@example.com>\",\n        3 │\u001b[0m   { name = \"Baz Qux\", email = \"bazqux@example.com\", url = \"https://example.com/bazqux\" }\n        4 │\u001b[0m ]\n        5 │\u001b[0m\n        6 │\u001b[0m # Start with a table as the first element. This tests a case that some libraries\n        7 │\u001b[0m # might have where they will check if the first entry is a table/map/hash/assoc\n        8 │\u001b[0m # array and then encode it as a table array. This was a reasonable thing to do\n        9 │\u001b[0m # before TOML 1.0 since arrays could only contain one type, but now it's no\n       10 │\u001b[0m # longer.\n       11 │\u001b[0m mixed = [{k=\"a\"}, \"b\", 1]\n\n     output from parser-cmd (PID 1676761) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\\n  \\\"Foo Bar <foo@example.com>\\\",\\n  { name = \\\"Baz Qux\\\", email = \\\"bazqux@example.com\\\", url = \\\"https://example.com/bazqux\\\" }\\n]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/nested\n     line 1: invalid value \"[[\\\"a\\\"], [\\\"b\\\"]]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676781):\n        1 │\u001b[0m nest = [[\"a\"], [\"b\"]]\n\n     output from parser-cmd (PID 1676781) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[[\\\"a\\\"], [\\\"b\\\"]]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/nested-double\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676766):\n        1 │\u001b[0m nest = [\n        2 │\u001b[0m \t[\n        3 │\u001b[0m \t\t[\"a\"],\n        4 │\u001b[0m \t\t[1, 2, [3]]\n        5 │\u001b[0m \t]\n        6 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676766) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/nested-inline-table\n     line 1: invalid value \"[ { b = {} } ]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676775):\n        1 │\u001b[0m a = [ { b = {} } ]\n\n     output from parser-cmd (PID 1676775) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ { b = {} } ]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/nospaces\n     line 1: invalid value \"[1,2,3]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676750):\n        1 │\u001b[0m ints = [1,2,3]\n\n     output from parser-cmd (PID 1676750) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[1,2,3]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/string-quote-comma-01\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676758):\n        1 │\u001b[0m title = [\n        2 │\u001b[0m \"Client: \\\"XXXX\\\", Job: XXXX\",\n        3 │\u001b[0m \"Code: XXXX\"\n        4 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676758) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/string-quote-comma-02\n     line 1: invalid value \"[ \\\" \\\\\\\", \\\",]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676756):\n        1 │\u001b[0m title = [ \" \\\", \",]\n\n     output from parser-cmd (PID 1676756) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ \\\" \\\\\\\", \\\",]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/string-with-comma-01\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676768):\n        1 │\u001b[0m title = [\n        2 │\u001b[0m \"Client: XXXX, Job: XXXX\",\n        3 │\u001b[0m \"Code: XXXX\"\n        4 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676768) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/string-with-comma-02\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676753):\n        1 │\u001b[0m title = [\n        2 │\u001b[0m \"\"\"Client: XXXX,\n        3 │\u001b[0m Job: XXXX\"\"\",\n        4 │\u001b[0m \"Code: XXXX\"\n        5 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676753) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/strings\n     line 1: invalid value \"[ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''']\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676747):\n        1 │\u001b[0m string_array = [ \"all\", 'strings', \"\"\"are the same\"\"\", '''type''']\n\n     output from parser-cmd (PID 1676747) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''']\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/table-array-string-backslash\n     line 1: invalid value \"[ { bar=\\\"\\\\\\\"{{baz}}\\\\\\\"\\\"} ]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676765):\n        1 │\u001b[0m foo = [ { bar=\"\\\"{{baz}}\\\"\"} ]\n\n     output from parser-cmd (PID 1676765) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ { bar=\\\"\\\\\\\"{{baz}}\\\\\\\"\\\"} ]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/array/trailing-comma\n     line 1: invalid value \"[1,]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676748):\n        1 │\u001b[0m arr-1 = [1,]\n        2 │\u001b[0m\n        3 │\u001b[0m arr-2 = [2,3,]\n        4 │\u001b[0m\n        5 │\u001b[0m arr-3 = [4,\n        6 │\u001b[0m ]\n        7 │\u001b[0m\n        8 │\u001b[0m arr-4 = [\n        9 │\u001b[0m \t5,\n       10 │\u001b[0m \t6,\n       11 │\u001b[0m ]\n\n     output from parser-cmd (PID 1676748) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[1,]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/comment/after-literal-no-ws\n     line 1: invalid value \"inf\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676735):\n        1 │\u001b[0m inf=inf#infinity\n        2 │\u001b[0m nan=nan#not a number\n        3 │\u001b[0m true=true#true\n        4 │\u001b[0m false=false#false\n\n     output from parser-cmd (PID 1676735) (stderr):\n        1 │\u001b[0m line 1: invalid value \"inf\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/comment/everywhere\n     line 7: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676760):\n        1 │\u001b[0m # Top comment.\n        2 │\u001b[0m   # Top comment.\n        3 │\u001b[0m # Top comment.\n        4 │\u001b[0m\n        5 │\u001b[0m # [no-extraneous-groups-please]\n        6 │\u001b[0m\n        7 │\u001b[0m [group] # Comment\n        8 │\u001b[0m answer = 42 # Comment\n        9 │\u001b[0m # no-extraneous-keys-please = 999\n       10 │\u001b[0m # Inbetween comment.\n       11 │\u001b[0m more = [ # Comment\n       12 │\u001b[0m   # What about multiple # comments?\n       13 │\u001b[0m   # Can you handle it?\n       14 │\u001b[0m   #\n       15 │\u001b[0m           # Evil.\n       16 │\u001b[0m # Evil.\n       17 │\u001b[0m   42, 42, # Comments within arrays are fun.\n       18 │\u001b[0m   # What about multiple # comments?\n       19 │\u001b[0m   # Can you handle it?\n       20 │\u001b[0m   #\n       21 │\u001b[0m           # Evil.\n       22 │\u001b[0m # Evil.\n       23 │\u001b[0m # ] Did I fool you?\n       24 │\u001b[0m ] # Hopefully not.\n       25 │\u001b[0m\n       26 │\u001b[0m # Make sure the space between the datetime and \"#\" isn't lexed.\n       27 │\u001b[0m dt = 1979-05-27T07:32:12-07:00  # c\n       28 │\u001b[0m d = 1979-05-27 # Comment\n       29 │\u001b[0m\n       30 │\u001b[0m [[aot]] # Comment\n       31 │\u001b[0m k = 98 # Comment\n       32 │\u001b[0m [[aot]]# Comment\n       33 │\u001b[0m k = 99# Comment\n\n     output from parser-cmd (PID 1676760) (stderr):\n        1 │\u001b[0m line 7: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/comment/tricky\n     line 1: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676763):\n        1 │\u001b[0m [section]#attached comment\n        2 │\u001b[0m #[notsection]\n        3 │\u001b[0m one = \"11\"#cmt\n        4 │\u001b[0m two = \"22#\"\n        5 │\u001b[0m three = '#'\n        6 │\u001b[0m\n        7 │\u001b[0m four = \"\"\"# no comment\n        8 │\u001b[0m # nor this\n        9 │\u001b[0m #also not comment\"\"\"#is_comment\n       10 │\u001b[0m\n       11 │\u001b[0m five = 5.5#66\n       12 │\u001b[0m six = 6#7\n       13 │\u001b[0m 8 = \"eight\"\n       14 │\u001b[0m #nine = 99\n       15 │\u001b[0m ten = 10e2#1\n       16 │\u001b[0m eleven = 1.11e1#23\n       17 │\u001b[0m\n       18 │\u001b[0m [\"hash#tag\"]\n       19 │\u001b[0m \"#!\" = \"hash bang\"\n       20 │\u001b[0m arr3 = [ \"#\", '#', \"\"\"###\"\"\" ]\n       21 │\u001b[0m arr4 = [ 1,# 9, 9,\n       22 │\u001b[0m 2#,9\n       23 │\u001b[0m ,#9\n       24 │\u001b[0m 3#]\n       25 │\u001b[0m ,4]\n       26 │\u001b[0m arr5 = [[[[#[\"#\"],\n       27 │\u001b[0m [\"#\"]]]]#]\n       28 │\u001b[0m ]\n       29 │\u001b[0m tbl1 = { \"#\" = '}#'}#}}\n\n     output from parser-cmd (PID 1676763) (stderr):\n        1 │\u001b[0m line 1: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/datetime\n     line 1: invalid value \"1987-07-05 17:45:00Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676764):\n        1 │\u001b[0m space = 1987-07-05 17:45:00Z\n        2 │\u001b[0m\n        3 │\u001b[0m # ABNF is case-insensitive, both \"Z\" and \"z\" must be supported.\n        4 │\u001b[0m lower = 1987-07-05t17:45:00z\n\n     output from parser-cmd (PID 1676764) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05 17:45:00Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/edge\n     line 1: invalid value \"0001-01-01 00:00:00Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676788):\n        1 │\u001b[0m first-offset = 0001-01-01 00:00:00Z\n        2 │\u001b[0m first-local  = 0001-01-01 00:00:00\n        3 │\u001b[0m first-date   = 0001-01-01\n        4 │\u001b[0m\n        5 │\u001b[0m last-offset = 9999-12-31 23:59:59Z\n        6 │\u001b[0m last-local  = 9999-12-31 23:59:59\n        7 │\u001b[0m last-date   = 9999-12-31\n\n     output from parser-cmd (PID 1676788) (stderr):\n        1 │\u001b[0m line 1: invalid value \"0001-01-01 00:00:00Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/leap-year\n     line 1: invalid value \"2000-02-29 15:15:15Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676783):\n        1 │\u001b[0m 2000-datetime       = 2000-02-29 15:15:15Z\n        2 │\u001b[0m 2000-datetime-local = 2000-02-29 15:15:15\n        3 │\u001b[0m 2000-date           = 2000-02-29\n        4 │\u001b[0m\n        5 │\u001b[0m 2024-datetime       = 2024-02-29 15:15:15Z\n        6 │\u001b[0m 2024-datetime-local = 2024-02-29 15:15:15\n        7 │\u001b[0m 2024-date           = 2024-02-29\n\n     output from parser-cmd (PID 1676783) (stderr):\n        1 │\u001b[0m line 1: invalid value \"2000-02-29 15:15:15Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/local\n     line 1: invalid value \"1987-07-05T17:45:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676929):\n        1 │\u001b[0m local = 1987-07-05T17:45:00\n        2 │\u001b[0m milli = 1977-12-21T10:32:00.555\n        3 │\u001b[0m space = 1987-07-05 17:45:00\n\n     output from parser-cmd (PID 1676929) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/local-date\n     line 1: invalid value \"1987-07-05\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676785):\n        1 │\u001b[0m bestdayever = 1987-07-05\n\n     output from parser-cmd (PID 1676785) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/local-time\n     line 1: invalid value \"17:45:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676928):\n        1 │\u001b[0m besttimeever = 17:45:00\n        2 │\u001b[0m milliseconds = 10:32:00.555\n\n     output from parser-cmd (PID 1676928) (stderr):\n        1 │\u001b[0m line 1: invalid value \"17:45:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/milliseconds\n     line 1: invalid value \"1987-07-05T17:45:56.123Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676930):\n        1 │\u001b[0m utc1  = 1987-07-05T17:45:56.123Z\n        2 │\u001b[0m utc2  = 1987-07-05T17:45:56.6Z\n        3 │\u001b[0m wita1 = 1987-07-05T17:45:56.123+08:00\n        4 │\u001b[0m wita2 = 1987-07-05T17:45:56.6+08:00\n\n     output from parser-cmd (PID 1676930) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:56.123Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/datetime/timezone\n     line 1: invalid value \"1987-07-05T17:45:56Z\\npdt  = 1987-07-05T17:45:56-05:00\\nnzst = 1987-07-05T17:45:56+12:00\\nnzdt = 1987-07-05T17:45:56+13:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676931):\n        1 │\u001b[0m utc  = 1987-07-05T17:45:56Z\n        2 │\u001b[0m pdt  = 1987-07-05T17:45:56-05:00\n        3 │\u001b[0m nzst = 1987-07-05T17:45:56+12:00\n        4 │\u001b[0m nzdt = 1987-07-05T17:45:56+13:00  # DST\n\n     output from parser-cmd (PID 1676931) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:56Z\\npdt  = 1987-07-05T17:45:56-05:00\\nnzst = 1987-07-05T17:45:56+12:00\\nnzdt = 1987-07-05T17:45:56+13:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/example\n     line 1: invalid value \"1987-07-05T17:45:00Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676958):\n        1 │\u001b[0m best-day-ever = 1987-07-05T17:45:00Z\n        2 │\u001b[0m\n        3 │\u001b[0m [numtheory]\n        4 │\u001b[0m boring = false\n        5 │\u001b[0m perfection = [6, 28, 496]\n\n     output from parser-cmd (PID 1676958) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:00Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/float/exponent\n     line 1: invalid value \"3e2\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676960):\n        1 │\u001b[0m lower = 3e2\n        2 │\u001b[0m upper = 3E2\n        3 │\u001b[0m neg = 3e-2\n        4 │\u001b[0m pos = 3E+2\n        5 │\u001b[0m zero = 3e0\n        6 │\u001b[0m pointlower = 3.1e2\n        7 │\u001b[0m pointupper = 3.1E2\n        8 │\u001b[0m minustenth = -1E-1\n\n     output from parser-cmd (PID 1676960) (stderr):\n        1 │\u001b[0m line 1: invalid value \"3e2\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/float/inf-and-nan\n     line 3: invalid value \"nan\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676965):\n        1 │\u001b[0m # We don't encode +nan and -nan back with the signs; many languages don't\n        2 │\u001b[0m # support a sign on NaN (it doesn't really make much sense).\n        3 │\u001b[0m nan = nan\n        4 │\u001b[0m nan_neg = -nan\n        5 │\u001b[0m nan_plus = +nan\n        6 │\u001b[0m infinity = inf\n        7 │\u001b[0m infinity_neg = -inf\n        8 │\u001b[0m infinity_plus = +inf\n\n     output from parser-cmd (PID 1676965) (stderr):\n        1 │\u001b[0m line 3: invalid value \"nan\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/float/underscore\n     line 3: invalid value \"3e1_4\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677218):\n        1 │\u001b[0m before = 3_141.5927\n        2 │\u001b[0m after = 3141.592_7\n        3 │\u001b[0m exponent = 3e1_4\n\n     output from parser-cmd (PID 1677218) (stderr):\n        1 │\u001b[0m line 3: invalid value \"3e1_4\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/float/zero\n     line 4: invalid value \"0e0\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677183):\n        1 │\u001b[0m zero = 0.0\n        2 │\u001b[0m signed-pos = +0.0\n        3 │\u001b[0m signed-neg = -0.0\n        4 │\u001b[0m exponent = 0e0\n        5 │\u001b[0m exponent-two-0 = 0e00\n        6 │\u001b[0m exponent-signed-pos = +0e0\n        7 │\u001b[0m exponent-signed-neg = -0e0\n\n     output from parser-cmd (PID 1677183) (stderr):\n        1 │\u001b[0m line 4: invalid value \"0e0\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/array-01\n     line 1: invalid value \"[ {'a'= 1}, {'a'= 2} ]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677088):\n        1 │\u001b[0m arr = [ {'a'= 1}, {'a'= 2} ]\n        2 │\u001b[0m\n        3 │\u001b[0m people = [{first_name = \"Bruce\", last_name = \"Springsteen\"},\n        4 │\u001b[0m           {first_name = \"Eric\", last_name = \"Clapton\"},\n        5 │\u001b[0m           {first_name = \"Bob\", last_name = \"Seger\"}]\n\n     output from parser-cmd (PID 1677088) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ {'a'= 1}, {'a'= 2} ]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/array-02\n     line 4: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676961):\n        1 │\u001b[0m # \"No newlines are allowed between the curly braces unless they are valid within\n        2 │\u001b[0m # a value\"\n        3 │\u001b[0m\n        4 │\u001b[0m a = { a = [\n        5 │\u001b[0m ]}\n\n     output from parser-cmd (PID 1676961) (stderr):\n        1 │\u001b[0m line 4: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/array-03\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676963):\n        1 │\u001b[0m b = { a = [\n        2 │\u001b[0m \t\t1,\n        3 │\u001b[0m \t\t2,\n        4 │\u001b[0m \t], b = [\n        5 │\u001b[0m \t\t3,\n        6 │\u001b[0m \t\t4,\n        7 │\u001b[0m \t]}\n\n     output from parser-cmd (PID 1676963) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/empty\n     line 3: invalid value \"[ { not_empty = 1 }, {} ]\\nempty_in_array2 = [{},{not_empty=1}]\\nmany_empty = [{},{},{}]\\nnested_empty = {\\\"empty\\\"={}}\\nwith_cmt ={            }\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676968):\n        1 │\u001b[0m empty1 = {}\n        2 │\u001b[0m empty2 = { }\n        3 │\u001b[0m empty_in_array = [ { not_empty = 1 }, {} ]\n        4 │\u001b[0m empty_in_array2 = [{},{not_empty=1}]\n        5 │\u001b[0m many_empty = [{},{},{}]\n        6 │\u001b[0m nested_empty = {\"empty\"={}}\n        7 │\u001b[0m with_cmt ={            }#nothing here\n\n     output from parser-cmd (PID 1676968) (stderr):\n        1 │\u001b[0m line 3: invalid value \"[ { not_empty = 1 }, {} ]\\nempty_in_array2 = [{},{not_empty=1}]\\nmany_empty = [{},{},{}]\\nnested_empty = {\\\"empty\\\"={}}\\nwith_cmt ={            }\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/inline-table\n     line 5: invalid value \"[{ \\\"a\\\" = 1 }, { \\\"b\\\" = 2 }]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1676970):\n        1 │\u001b[0m name        = { first = \"Tom\", last = \"Preston-Werner\" }\n        2 │\u001b[0m point       = { x = 1, y = 2 }\n        3 │\u001b[0m simple      = { a = 1 }\n        4 │\u001b[0m str-key     = { \"a\" = 1 }\n        5 │\u001b[0m table-array = [{ \"a\" = 1 }, { \"b\" = 2 }]\n\n     output from parser-cmd (PID 1676970) (stderr):\n        1 │\u001b[0m line 5: invalid value \"[{ \\\"a\\\" = 1 }, { \\\"b\\\" = 2 }]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/key-dotted-05\n     line 1: invalid value \"[{a.b = 1}]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677035):\n        1 │\u001b[0m arr-1 = [{a.b = 1}]\n        2 │\u001b[0m arr-2 = [\"str\", {a.b = 1}]\n        3 │\u001b[0m\n        4 │\u001b[0m arr-3 = [{a.b = 1}, {a.b = 2}]\n        5 │\u001b[0m arr-4 = [\"str\", {a.b = 1}, {a.b = 2}]\n\n     output from parser-cmd (PID 1677035) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[{a.b = 1}]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/key-dotted-06\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677036):\n        1 │\u001b[0m top.dot.dot = [\n        2 │\u001b[0m \t{dot.dot.dot = 1},\n        3 │\u001b[0m \t{dot.dot.dot = 2},\n        4 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677036) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/key-dotted-07\n     line 1: invalid value \"[\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677037):\n        1 │\u001b[0m arr = [\n        2 │\u001b[0m \t{a.b = [{c.d = 1}]}\n        3 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677037) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/nest\n     line 1: unterminated inline table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677039):\n        1 │\u001b[0m tbl_tbl_empty = { tbl_0 = {} }\n        2 │\u001b[0m tbl_tbl_val   = { tbl_1 = { one = 1 } }\n        3 │\u001b[0m tbl_arr_tbl   = { arr_tbl = [ { one = 1 } ] }\n        4 │\u001b[0m arr_tbl_tbl   = [ { tbl = { one = 1 } } ]\n        5 │\u001b[0m\n        6 │\u001b[0m # Array-of-array-of-table is interesting because it can only\n        7 │\u001b[0m # be represented in inline form.\n        8 │\u001b[0m arr_arr_tbl_empty = [ [ {} ] ]\n        9 │\u001b[0m arr_arr_tbl_val = [ [ { one = 1 } ] ]\n       10 │\u001b[0m arr_arr_tbls  = [ [ { one = 1 }, { two = 2 } ] ]\n\n     output from parser-cmd (PID 1677039) (stderr):\n        1 │\u001b[0m line 1: unterminated inline table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/inline-table/spaces\n     line 2: invalid value \"[\\\"derive\\\"\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677041):\n        1 │\u001b[0m # https://github.com/toml-lang/toml-test/issues/146\n        2 │\u001b[0m clap-1 = { version = \"4\"  , features = [\"derive\", \"cargo\"] }\n        3 │\u001b[0m\n        4 │\u001b[0m # Contains some literal tabs!\n        5 │\u001b[0m clap-2 = { version = \"4\"\t   \t,\t  \tfeatures = [   \"derive\" \t  ,  \t  \"cargo\"   ]   , nest   =   {  \t  \"a\"   =   'x'  , \t  'b'   = [ 1.5    ,   9.0  ]  }  }\n\n     output from parser-cmd (PID 1677041) (stderr):\n        1 │\u001b[0m line 2: invalid value \"[\\\"derive\\\"\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/integer/float64-max\n     Values for key \"max_int\" don't match:\n       Expected:     9007199254740991\n       Your encoder: 9_007_199_254_740_991\n\n     input sent to parser-cmd (PID 1677040):\n        1 │\u001b[0m # Maximum and minimum safe float64 natural numbers. Mainly here for\n        2 │\u001b[0m # -int-as-float.\n        3 │\u001b[0m max_int =  9_007_199_254_740_991\n        4 │\u001b[0m min_int = -9_007_199_254_740_991\n\n     output from parser-cmd (PID 1677040) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"max_int\": {\"type\": \"integer\", \"value\": \"9_007_199_254_740_991\"},\n        3 │\u001b[0m   \"min_int\": {\"type\": \"integer\", \"value\": \"-9_007_199_254_740_991\"}\n        4 │\u001b[0m }\n\n     want:\n        1 │\u001b[0m {\n        2 │\u001b[0m     \"max_int\": {\"type\": \"integer\", \"value\": \"9007199254740991\"},\n        3 │\u001b[0m     \"min_int\": {\"type\": \"integer\", \"value\": \"-9007199254740991\"}\n        4 │\u001b[0m }\n\nFAIL valid/integer/integer\n     Values for key \"posanswer\" don't match:\n       Expected:     42\n       Your encoder: +42\n\n     input sent to parser-cmd (PID 1677042):\n        1 │\u001b[0m answer = 42\n        2 │\u001b[0m posanswer = +42\n        3 │\u001b[0m neganswer = -42\n        4 │\u001b[0m zero = 0\n\n     output from parser-cmd (PID 1677042) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"answer\":    {\"type\": \"integer\", \"value\": \"42\"},\n        3 │\u001b[0m   \"neganswer\": {\"type\": \"integer\", \"value\": \"-42\"},\n        4 │\u001b[0m   \"posanswer\": {\"type\": \"integer\", \"value\": \"+42\"},\n        5 │\u001b[0m   \"zero\":      {\"type\": \"integer\", \"value\": \"0\"}\n        6 │\u001b[0m }\n\n     want:\n        1 │\u001b[0m {\n        2 │\u001b[0m     \"answer\":    {\"type\": \"integer\", \"value\": \"42\"},\n        3 │\u001b[0m     \"neganswer\": {\"type\": \"integer\", \"value\": \"-42\"},\n        4 │\u001b[0m     \"posanswer\": {\"type\": \"integer\", \"value\": \"42\"},\n        5 │\u001b[0m     \"zero\":      {\"type\": \"integer\", \"value\": \"0\"}\n        6 │\u001b[0m }\n\nFAIL valid/integer/literals\n     line 1: invalid value \"0b11010110\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677044):\n        1 │\u001b[0m bin1 = 0b11010110\n        2 │\u001b[0m bin2 = 0b1_0_1\n        3 │\u001b[0m\n        4 │\u001b[0m oct1 = 0o01234567\n        5 │\u001b[0m oct2 = 0o755\n        6 │\u001b[0m oct3 = 0o7_6_5\n        7 │\u001b[0m\n        8 │\u001b[0m hex1 = 0xDEADBEEF\n        9 │\u001b[0m hex2 = 0xdeadbeef\n       10 │\u001b[0m hex3 = 0xdead_beef\n       11 │\u001b[0m hex4 = 0x00987\n\n     output from parser-cmd (PID 1677044) (stderr):\n        1 │\u001b[0m line 1: invalid value \"0b11010110\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/integer/underscore\n     Values for key \"kilo\" don't match:\n       Expected:     1000\n       Your encoder: 1_000\n\n     input sent to parser-cmd (PID 1677082):\n        1 │\u001b[0m kilo = 1_000\n        2 │\u001b[0m x = 1_1_1_1\n\n     output from parser-cmd (PID 1677082) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"kilo\": {\"type\": \"integer\", \"value\": \"1_000\"},\n        3 │\u001b[0m   \"x\":    {\"type\": \"integer\", \"value\": \"1_1_1_1\"}\n        4 │\u001b[0m }\n\n     want:\n        1 │\u001b[0m {\n        2 │\u001b[0m     \"kilo\": {\"type\": \"integer\", \"value\": \"1000\"},\n        3 │\u001b[0m     \"x\":    {\"type\": \"integer\", \"value\": \"1111\"}\n        4 │\u001b[0m }\n\nFAIL valid/integer/zero\n     line 5: invalid value \"0x0\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677084):\n        1 │\u001b[0m d1 = 0\n        2 │\u001b[0m d2 = +0\n        3 │\u001b[0m d3 = -0\n        4 │\u001b[0m\n        5 │\u001b[0m h1 = 0x0\n        6 │\u001b[0m h2 = 0x00\n        7 │\u001b[0m h3 = 0x00000\n        8 │\u001b[0m\n        9 │\u001b[0m o1 = 0o0\n       10 │\u001b[0m a2 = 0o00\n       11 │\u001b[0m a3 = 0o00000\n       12 │\u001b[0m\n       13 │\u001b[0m b1 = 0b0\n       14 │\u001b[0m b2 = 0b00\n       15 │\u001b[0m b3 = 0b00000\n\n     output from parser-cmd (PID 1677084) (stderr):\n        1 │\u001b[0m line 5: invalid value \"0x0\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/key/like-date\n     line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677179):\n        1 │\u001b[0m # '-' is a valid character in keys: make a key that looks like a date.\n        2 │\u001b[0m 2001-02-03   = 1\n        3 │\u001b[0m \"2001-02-04\" = 2\n        4 │\u001b[0m '2001-02-05' = 3\n        5 │\u001b[0m\n        6 │\u001b[0m # Also include datetime and time for good measure; these need to be quoted as\n        7 │\u001b[0m # ':' isn't a valid bare key.\n        8 │\u001b[0m \"2001-02-06T15:16:17+01:00\" = 4\n        9 │\u001b[0m \"2001-02-07T15:16:17\"       = 5\n       10 │\u001b[0m \"15:16:17\"                  = 6\n       11 │\u001b[0m\n       12 │\u001b[0m # Dotted keys\n       13 │\u001b[0m a.2001-02-08 = 7\n       14 │\u001b[0m a.2001-02-09.2001-02-10 = 8\n       15 │\u001b[0m 2001-02-11.a.2001-02-12 = 9\n       16 │\u001b[0m\n       17 │\u001b[0m # Table names\n       18 │\u001b[0m [2002-01-02]\n       19 │\u001b[0m k = 10\n       20 │\u001b[0m\n       21 │\u001b[0m [2002-01-02.2024-01-03]\n       22 │\u001b[0m k = 11\n       23 │\u001b[0m\n       24 │\u001b[0m [[2002-01-04]]\n       25 │\u001b[0m k = 12\n\n     output from parser-cmd (PID 1677179) (stderr):\n        1 │\u001b[0m line 2: invalid value \"1\\n\\\"2001-02-04\\\" = 2\\n'2001-02-05' = 3\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/multibyte\n     line 9: invalid value \"[ \\\"] \\\", \\\"\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677220):\n        1 │\u001b[0m # Test multibyte throughout\n        2 │\u001b[0m\n        3 │\u001b[0m # Tèƨƭ ƒïℓè ƒôř TÓM£\n        4 │\u001b[0m # Óñℓ¥ ƭλïƨ ôñè ƭřïèƨ ƭô è₥úℓáƭè á TÓM£ ƒïℓè ωřïƭƭèñ β¥ á úƨèř ôƒ ƭλè ƙïñδ ôƒ ƥářƨèř ωřïƭèřƨ ƥřôβáβℓ¥ λáƭè\n        5 │\u001b[0m\n        6 │\u001b[0m ['𝐭𝐛𝐥']\n        7 │\u001b[0m string = \"𝓼𝓽𝓻𝓲𝓷𝓰 - #\"          # \" 𝓼𝓽𝓻𝓲𝓷𝓰\n        8 │\u001b[0m \t['𝐭𝐛𝐥'.sub]\n        9 │\u001b[0m \t'𝕒𝕣𝕣𝕒𝕪' = [ \"] \", \" # \"]      # ] 𝓪𝓻𝓻𝓪𝔂\n       10 │\u001b[0m \t'𝕒𝕣𝕣𝕒𝕪𝟚' = [ \"Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ\", \"Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ\" ]\n       11 │\u001b[0m \t# Ýôú δïδñ'ƭ ƭλïñƙ ïƭ'δ áƨ èáƨ¥ áƨ çλúçƙïñϱ ôúƭ ƭλè ℓáƨƭ #, δïδ ¥ôú?\n       12 │\u001b[0m \tanother_test_string = \"§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #\"\n       13 │\u001b[0m \tescapes = \" Âñδ ωλèñ \\\"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \\\"\"   # \"áñδ çô₥₥èñƭƨ ářè ƭλèřè ƭôô\"\n       14 │\u001b[0m \t# Tλïñϱƨ ωïℓℓ ϱèƭ λářδèř\n       15 │\u001b[0m \t\t['𝐭𝐛𝐥'.sub.\"βïƭ#\"]\n       16 │\u001b[0m \t\t\"ωλáƭ?\" = \"Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?\"\n       17 │\u001b[0m \t\tmulti_line_array = [\n       18 │\u001b[0m \t\t\t\"]\",\n       19 │\u001b[0m \t\t\t# ] Óλ ¥èƨ Ì δïδ\n       20 │\u001b[0m \t\t\t]\n\n     output from parser-cmd (PID 1677220) (stderr):\n        1 │\u001b[0m line 9: invalid value \"[ \\\"] \\\", \\\"\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/array-0\n     line 1: invalid value \"[ 1, 2, 3 ]\\ncolors = [ \\\"red\\\", \\\"yellow\\\", \\\"green\\\" ]\\nnested_arrays_of_ints = [ [ 1, 2 ], [3, 4, 5] ]\\nnested_mixed_array = [ [ 1, 2 ], [\\\"a\\\", \\\"b\\\", \\\"c\\\"] ]\\nstring_array = [ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''' ]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677431):\n        1 │\u001b[0m integers = [ 1, 2, 3 ]\n        2 │\u001b[0m colors = [ \"red\", \"yellow\", \"green\" ]\n        3 │\u001b[0m nested_arrays_of_ints = [ [ 1, 2 ], [3, 4, 5] ]\n        4 │\u001b[0m nested_mixed_array = [ [ 1, 2 ], [\"a\", \"b\", \"c\"] ]\n        5 │\u001b[0m string_array = [ \"all\", 'strings', \"\"\"are the same\"\"\", '''type''' ]\n        6 │\u001b[0m\n        7 │\u001b[0m # Mixed-type arrays are allowed\n        8 │\u001b[0m numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]\n        9 │\u001b[0m contributors = [\n       10 │\u001b[0m   \"Foo Bar <foo@example.com>\",\n       11 │\u001b[0m   { name = \"Baz Qux\", email = \"bazqux@example.com\", url = \"https://example.com/bazqux\" }\n       12 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677431) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ 1, 2, 3 ]\\ncolors = [ \\\"red\\\", \\\"yellow\\\", \\\"green\\\" ]\\nnested_arrays_of_ints = [ [ 1, 2 ], [3, 4, 5] ]\\nnested_mixed_array = [ [ 1, 2 ], [\\\"a\\\", \\\"b\\\", \\\"c\\\"] ]\\nstring_array = [ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''' ]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/array-1\n     line 1: invalid value \"[\\n  1, 2, 3\\n]\\n\\nintegers3 = [\\n  1,\\n  2,\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677304):\n        1 │\u001b[0m integers2 = [\n        2 │\u001b[0m   1, 2, 3\n        3 │\u001b[0m ]\n        4 │\u001b[0m\n        5 │\u001b[0m integers3 = [\n        6 │\u001b[0m   1,\n        7 │\u001b[0m   2, # this is ok\n        8 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677304) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[\\n  1, 2, 3\\n]\\n\\nintegers3 = [\\n  1,\\n  2,\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-0\n     line 3: invalid value \"738594937\\n\\n[[products]]\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677314):\n        1 │\u001b[0m [[products]]\n        2 │\u001b[0m name = \"Hammer\"\n        3 │\u001b[0m sku = 738594937\n        4 │\u001b[0m\n        5 │\u001b[0m [[products]]  # empty table within the array\n        6 │\u001b[0m\n        7 │\u001b[0m [[products]]\n        8 │\u001b[0m name = \"Nail\"\n        9 │\u001b[0m sku = 284758393\n       10 │\u001b[0m\n       11 │\u001b[0m color = \"gray\"\n\n     output from parser-cmd (PID 1677314) (stderr):\n        1 │\u001b[0m line 3: invalid value \"738594937\\n\\n[[products]]\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-1\n     line 4: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677274):\n        1 │\u001b[0m [[fruits]]\n        2 │\u001b[0m name = \"apple\"\n        3 │\u001b[0m\n        4 │\u001b[0m [fruits.physical]  # subtable\n        5 │\u001b[0m color = \"red\"\n        6 │\u001b[0m shape = \"round\"\n        7 │\u001b[0m\n        8 │\u001b[0m [[fruits.varieties]]  # nested array of tables\n        9 │\u001b[0m name = \"red delicious\"\n       10 │\u001b[0m\n       11 │\u001b[0m [[fruits.varieties]]\n       12 │\u001b[0m name = \"granny smith\"\n       13 │\u001b[0m\n       14 │\u001b[0m\n       15 │\u001b[0m [[fruits]]\n       16 │\u001b[0m name = \"banana\"\n       17 │\u001b[0m\n       18 │\u001b[0m [[fruits.varieties]]\n       19 │\u001b[0m name = \"plantain\"\n\n     output from parser-cmd (PID 1677274) (stderr):\n        1 │\u001b[0m line 4: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-2\n     line 1: invalid value \"[ { x = 1, y = 2, z = 3 },\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677271):\n        1 │\u001b[0m points = [ { x = 1, y = 2, z = 3 },\n        2 │\u001b[0m            { x = 7, y = 8, z = 9 },\n        3 │\u001b[0m            { x = 2, y = 4, z = 8 } ]\n\n     output from parser-cmd (PID 1677271) (stderr):\n        1 │\u001b[0m line 1: invalid value \"[ { x = 1, y = 2, z = 3 },\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/float-0\n     line 2: invalid value \"+1.0\\nflt2 = 3.1415\\nflt3 = -0.01\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677259):\n        1 │\u001b[0m # fractional\n        2 │\u001b[0m flt1 = +1.0\n        3 │\u001b[0m flt2 = 3.1415\n        4 │\u001b[0m flt3 = -0.01\n        5 │\u001b[0m\n        6 │\u001b[0m # exponent\n        7 │\u001b[0m flt4 = 5e+22\n        8 │\u001b[0m flt5 = 1e06\n        9 │\u001b[0m flt6 = -2E-2\n       10 │\u001b[0m\n       11 │\u001b[0m # both\n       12 │\u001b[0m flt7 = 6.626e-34\n\n     output from parser-cmd (PID 1677259) (stderr):\n        1 │\u001b[0m line 2: invalid value \"+1.0\\nflt2 = 3.1415\\nflt3 = -0.01\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/float-2\n     line 2: invalid value \"inf\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677272):\n        1 │\u001b[0m # infinity\n        2 │\u001b[0m sf1 = inf  # positive infinity\n        3 │\u001b[0m sf2 = +inf # positive infinity\n        4 │\u001b[0m sf3 = -inf # negative infinity\n        5 │\u001b[0m\n        6 │\u001b[0m # not a number\n        7 │\u001b[0m sf4 = nan  # actual sNaN/qNaN encoding is implementation-specific\n        8 │\u001b[0m sf5 = +nan # same as `nan`\n        9 │\u001b[0m sf6 = -nan # valid, actual encoding is implementation-specific\n\n     output from parser-cmd (PID 1677272) (stderr):\n        1 │\u001b[0m line 2: invalid value \"inf\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/integer-0\n     Values for key \"int1\" don't match:\n       Expected:     99\n       Your encoder: +99\n\n     input sent to parser-cmd (PID 1677297):\n        1 │\u001b[0m int1 = +99\n        2 │\u001b[0m int2 = 42\n        3 │\u001b[0m int3 = 0\n        4 │\u001b[0m int4 = -17\n\n     output from parser-cmd (PID 1677297) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"int1\": {\"type\": \"integer\", \"value\": \"+99\"},\n        3 │\u001b[0m   \"int2\": {\"type\": \"integer\", \"value\": \"42\"},\n        4 │\u001b[0m   \"int3\": {\"type\": \"integer\", \"value\": \"0\"},\n        5 │\u001b[0m   \"int4\": {\"type\": \"integer\", \"value\": \"-17\"}\n        6 │\u001b[0m }\n\n     want:\n        1 │\u001b[0m {\n        2 │\u001b[0m     \"int1\": {\"type\": \"integer\", \"value\": \"99\"},\n        3 │\u001b[0m     \"int2\": {\"type\": \"integer\", \"value\": \"42\"},\n        4 │\u001b[0m     \"int3\": {\"type\": \"integer\", \"value\": \"0\"},\n        5 │\u001b[0m     \"int4\": {\"type\": \"integer\", \"value\": \"-17\"}\n        6 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/integer-1\n     line 1: invalid value \"1_000\\nint6 = 5_349_221\\nint7 = 53_49_221\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677307):\n        1 │\u001b[0m int5 = 1_000\n        2 │\u001b[0m int6 = 5_349_221\n        3 │\u001b[0m int7 = 53_49_221  # Indian number system grouping\n        4 │\u001b[0m int8 = 1_2_3_4_5  # VALID but discouraged\n\n     output from parser-cmd (PID 1677307) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1_000\\nint6 = 5_349_221\\nint7 = 53_49_221\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/integer-2\n     line 2: invalid value \"0xDEADBEEF\\nhex2 = 0xdeadbeef\\nhex3 = 0xdead_beef\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677650):\n        1 │\u001b[0m # hexadecimal with prefix `0x`\n        2 │\u001b[0m hex1 = 0xDEADBEEF\n        3 │\u001b[0m hex2 = 0xdeadbeef\n        4 │\u001b[0m hex3 = 0xdead_beef\n        5 │\u001b[0m\n        6 │\u001b[0m # octal with prefix `0o`\n        7 │\u001b[0m oct1 = 0o01234567\n        8 │\u001b[0m oct2 = 0o755 # useful for Unix file permissions\n        9 │\u001b[0m\n       10 │\u001b[0m # binary with prefix `0b`\n       11 │\u001b[0m bin1 = 0b11010110\n\n     output from parser-cmd (PID 1677650) (stderr):\n        1 │\u001b[0m line 2: invalid value \"0xDEADBEEF\\nhex2 = 0xdeadbeef\\nhex3 = 0xdead_beef\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/local-date-0\n     line 1: invalid value \"1979-05-27\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677360):\n        1 │\u001b[0m ld1 = 1979-05-27\n\n     output from parser-cmd (PID 1677360) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1979-05-27\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/local-date-time-0\n     line 1: invalid value \"1979-05-27T07:32:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677389):\n        1 │\u001b[0m ldt1 = 1979-05-27T07:32:00\n        2 │\u001b[0m ldt2 = 1979-05-27T00:32:00.999\n\n     output from parser-cmd (PID 1677389) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1979-05-27T07:32:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/local-time-0\n     line 1: invalid value \"07:32:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677386):\n        1 │\u001b[0m lt1 = 07:32:00\n        2 │\u001b[0m lt2 = 00:32:00.999\n\n     output from parser-cmd (PID 1677386) (stderr):\n        1 │\u001b[0m line 1: invalid value \"07:32:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/offset-date-time-0\n     line 1: invalid value \"1979-05-27T07:32:00Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677402):\n        1 │\u001b[0m odt1 = 1979-05-27T07:32:00Z\n        2 │\u001b[0m odt2 = 1979-05-27T00:32:00-07:00\n        3 │\u001b[0m odt3 = 1979-05-27T00:32:00.999-07:00\n\n     output from parser-cmd (PID 1677402) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1979-05-27T07:32:00Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/offset-date-time-1\n     line 1: invalid value \"1979-05-27 07:32:00Z\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677385):\n        1 │\u001b[0m odt4 = 1979-05-27 07:32:00Z\n\n     output from parser-cmd (PID 1677385) (stderr):\n        1 │\u001b[0m line 1: invalid value \"1979-05-27 07:32:00Z\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/table-3\n     line 1: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677482):\n        1 │\u001b[0m [a.b.c]            # this is best practice\n        2 │\u001b[0m [ d.e.f ]          # same as [d.e.f]\n        3 │\u001b[0m [ g .  h  . i ]    # same as [g.h.i]\n        4 │\u001b[0m [ j . \"ʞ\" . 'l' ]  # same as [j.\"ʞ\".'l']\n\n     output from parser-cmd (PID 1677482) (stderr):\n        1 │\u001b[0m line 1: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/table-4\n     line 4: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677484):\n        1 │\u001b[0m # [x] you\n        2 │\u001b[0m # [x.y] don't\n        3 │\u001b[0m # [x.y.z] need these\n        4 │\u001b[0m [x.y.z.w] # for this to work\n        5 │\u001b[0m\n        6 │\u001b[0m [x] # defining a super-table afterward is ok\n\n     output from parser-cmd (PID 1677484) (stderr):\n        1 │\u001b[0m line 4: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/table-7\n     line 8: invalid value \"1999-08-04\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677526):\n        1 │\u001b[0m # Top-level table begins.\n        2 │\u001b[0m name = \"Fido\"\n        3 │\u001b[0m breed = \"pug\"\n        4 │\u001b[0m\n        5 │\u001b[0m # Top-level table ends.\n        6 │\u001b[0m [owner]\n        7 │\u001b[0m name = \"Regina Dogman\"\n        8 │\u001b[0m member_since = 1999-08-04\n\n     output from parser-cmd (PID 1677526) (stderr):\n        1 │\u001b[0m line 8: invalid value \"1999-08-04\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-1.0.0/table-9\n     line 8: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677539):\n        1 │\u001b[0m [fruit]\n        2 │\u001b[0m apple.color = \"red\"\n        3 │\u001b[0m apple.taste.sweet = true\n        4 │\u001b[0m\n        5 │\u001b[0m # [fruit.apple]  # INVALID\n        6 │\u001b[0m # [fruit.apple.taste]  # INVALID\n        7 │\u001b[0m\n        8 │\u001b[0m [fruit.apple.texture]  # you can add sub-tables\n        9 │\u001b[0m smooth = true\n\n     output from parser-cmd (PID 1677539) (stderr):\n        1 │\u001b[0m line 8: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-example-1\n     line 7: invalid value \"1979-05-27T07:32:00-08:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677510):\n        1 │\u001b[0m # This is a TOML document. Boom.\n        2 │\u001b[0m\n        3 │\u001b[0m title = \"TOML Example\"\n        4 │\u001b[0m\n        5 │\u001b[0m [owner]\n        6 │\u001b[0m name = \"Lance Uppercut\"\n        7 │\u001b[0m dob = 1979-05-27T07:32:00-08:00 # First class dates? Why not?\n        8 │\u001b[0m\n        9 │\u001b[0m [database]\n       10 │\u001b[0m server = \"192.168.1.1\"\n       11 │\u001b[0m ports = [ 8001, 8001, 8002 ]\n       12 │\u001b[0m connection_max = 5000\n       13 │\u001b[0m enabled = true\n       14 │\u001b[0m\n       15 │\u001b[0m [servers]\n       16 │\u001b[0m\n       17 │\u001b[0m   # You can indent as you please. Tabs or spaces. TOML don't care.\n       18 │\u001b[0m   [servers.alpha]\n       19 │\u001b[0m   ip = \"10.0.0.1\"\n       20 │\u001b[0m   dc = \"eqdc10\"\n       21 │\u001b[0m\n       22 │\u001b[0m   [servers.beta]\n       23 │\u001b[0m   ip = \"10.0.0.2\"\n       24 │\u001b[0m   dc = \"eqdc10\"\n       25 │\u001b[0m\n       26 │\u001b[0m [clients]\n       27 │\u001b[0m data = [ [\"gamma\", \"delta\"], [1, 2] ]\n       28 │\u001b[0m\n       29 │\u001b[0m # Line breaks are OK when inside arrays\n       30 │\u001b[0m hosts = [\n       31 │\u001b[0m   \"alpha\",\n       32 │\u001b[0m   \"omega\"\n       33 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677510) (stderr):\n        1 │\u001b[0m line 7: invalid value \"1979-05-27T07:32:00-08:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/spec-example-1-compact\n     line 5: invalid value \"1979-05-27T07:32:00-08:00\"\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677509):\n        1 │\u001b[0m #Useless spaces eliminated.\n        2 │\u001b[0m title=\"TOML Example\"\n        3 │\u001b[0m [owner]\n        4 │\u001b[0m name=\"Lance Uppercut\"\n        5 │\u001b[0m dob=1979-05-27T07:32:00-08:00#First class dates\n        6 │\u001b[0m [database]\n        7 │\u001b[0m server=\"192.168.1.1\"\n        8 │\u001b[0m ports=[8001,8001,8002]\n        9 │\u001b[0m connection_max=5000\n       10 │\u001b[0m enabled=true\n       11 │\u001b[0m [servers]\n       12 │\u001b[0m [servers.alpha]\n       13 │\u001b[0m ip=\"10.0.0.1\"\n       14 │\u001b[0m dc=\"eqdc10\"\n       15 │\u001b[0m [servers.beta]\n       16 │\u001b[0m ip=\"10.0.0.2\"\n       17 │\u001b[0m dc=\"eqdc10\"\n       18 │\u001b[0m [clients]\n       19 │\u001b[0m data=[[\"gamma\",\"delta\"],[1,2]]\n       20 │\u001b[0m hosts=[\n       21 │\u001b[0m \"alpha\",\n       22 │\u001b[0m \"omega\"\n       23 │\u001b[0m ]\n\n     output from parser-cmd (PID 1677509) (stderr):\n        1 │\u001b[0m line 5: invalid value \"1979-05-27T07:32:00-08:00\"\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline-empty\n     line 1: invalid multiline delimiter\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677670):\n        1 │\u001b[0m empty-1 = \"\"\"\"\"\"\n        2 │\u001b[0m\n        3 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n        4 │\u001b[0m empty-2 = \"\"\"\n        5 │\u001b[0m \"\"\"\n        6 │\u001b[0m\n        7 │\u001b[0m # \\ at the end of line trims newlines as well; note that last \\ is followed by\n        8 │\u001b[0m # two spaces, which are ignored.\n        9 │\u001b[0m empty-3 = \"\"\"\\\n       10 │\u001b[0m     \"\"\"\n       11 │\u001b[0m empty-4 = \"\"\"\\\n       12 │\u001b[0m    \\\n       13 │\u001b[0m    \\\n       14 │\u001b[0m    \"\"\"\n\n     output from parser-cmd (PID 1677670) (stderr):\n        1 │\u001b[0m line 1: invalid multiline delimiter\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/string/multiline-quotes\n     line 19: invalid multiline delimiter\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677669):\n        1 │\u001b[0m # Make sure that quotes inside multiline strings are allowed, including right\n        2 │\u001b[0m # after the opening '''/\"\"\" and before the closing '''/\"\"\"\n        3 │\u001b[0m\n        4 │\u001b[0m lit_one = ''''one quote''''\n        5 │\u001b[0m lit_two = '''''two quotes'''''\n        6 │\u001b[0m lit_one_space = ''' 'one quote' '''\n        7 │\u001b[0m lit_two_space = ''' ''two quotes'' '''\n        8 │\u001b[0m\n        9 │\u001b[0m one = \"\"\"\"one quote\"\"\"\"\n       10 │\u001b[0m two = \"\"\"\"\"two quotes\"\"\"\"\"\n       11 │\u001b[0m one_space = \"\"\" \"one quote\" \"\"\"\n       12 │\u001b[0m two_space = \"\"\" \"\"two quotes\"\" \"\"\"\n       13 │\u001b[0m\n       14 │\u001b[0m mismatch1 = \"\"\"aaa'''bbb\"\"\"\n       15 │\u001b[0m mismatch2 = '''aaa\"\"\"bbb'''\n       16 │\u001b[0m\n       17 │\u001b[0m # Three opening \"\"\", then one escaped \", then two \"\" (allowed), and then three\n       18 │\u001b[0m # closing \"\"\"\n       19 │\u001b[0m escaped = \"\"\"lol\\\"\"\"\"\"\"\n       20 │\u001b[0m\n       21 │\u001b[0m five-quotes = \"\"\"\n       22 │\u001b[0m Closing with five quotes\n       23 │\u001b[0m \"\"\"\"\"\n       24 │\u001b[0m four-quotes = \"\"\"\n       25 │\u001b[0m Closing with four quotes\n       26 │\u001b[0m \"\"\"\"\n\n     output from parser-cmd (PID 1677669) (stderr):\n        1 │\u001b[0m line 19: invalid multiline delimiter\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/table/array-nest\n     line 4: invalid table path\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677632):\n        1 │\u001b[0m [[albums]]\n        2 │\u001b[0m name = \"Born to Run\"\n        3 │\u001b[0m\n        4 │\u001b[0m   [[albums.songs]]\n        5 │\u001b[0m   name = \"Jungleland\"\n        6 │\u001b[0m\n        7 │\u001b[0m   [[albums.songs]]\n        8 │\u001b[0m   name = \"Meeting Across the River\"\n        9 │\u001b[0m\n       10 │\u001b[0m [[albums]]\n       11 │\u001b[0m name = \"Born in the USA\"\n       12 │\u001b[0m\n       13 │\u001b[0m   [[albums.songs]]\n       14 │\u001b[0m   name = \"Glory Days\"\n       15 │\u001b[0m\n       16 │\u001b[0m   [[albums.songs]]\n       17 │\u001b[0m   name = \"Dancing in the Dark\"\n\n     output from parser-cmd (PID 1677632) (stderr):\n        1 │\u001b[0m line 4: invalid table path\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/table/array-table-array\n     line 2: invalid table path\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677649):\n        1 │\u001b[0m [[a]]\n        2 │\u001b[0m     [[a.b]]\n        3 │\u001b[0m         [a.b.c]\n        4 │\u001b[0m             d = \"val0\"\n        5 │\u001b[0m     [[a.b]]\n        6 │\u001b[0m         [a.b.c]\n        7 │\u001b[0m             d = \"val1\"\n\n     output from parser-cmd (PID 1677649) (stderr):\n        1 │\u001b[0m line 2: invalid table path\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/table/without-super\n     line 4: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677848):\n        1 │\u001b[0m # [x] you\n        2 │\u001b[0m # [x.y] don't\n        3 │\u001b[0m # [x.y.z] need these\n        4 │\u001b[0m [x.y.z.w] # for this to work\n        5 │\u001b[0m [x] # defining a super-table afterwards is ok\n\n     output from parser-cmd (PID 1677848) (stderr):\n        1 │\u001b[0m line 4: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL valid/table/without-super-with-values\n     line 4: invalid table\n \n     Exit 1\n\n     input sent to parser-cmd (PID 1677999):\n        1 │\u001b[0m # [x] you\n        2 │\u001b[0m # [x.y] don't\n        3 │\u001b[0m # [x.y.z] need these\n        4 │\u001b[0m [x.y.z.w] # for this to work\n        5 │\u001b[0m a = 1\n        6 │\u001b[0m b = 2\n        7 │\u001b[0m [x] # defining a super-table afterwards is ok\n        8 │\u001b[0m c = 3\n        9 │\u001b[0m d = 4\n\n     output from parser-cmd (PID 1677999) (stderr):\n        1 │\u001b[0m line 4: invalid table\n        2 │\u001b[0m\n        3 │\u001b[0m Exit 1\n\n     want:\n          <empty>\n\nFAIL invalid/control/bare-cr\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677944):\n        1 │\u001b[0m # The following line contains a single carriage return control character\r\n        2 │\u001b[0m \r\n\n     output from parser-cmd (PID 1677944) (stdout):\n        1 │\u001b[0m {}\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-cr\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677947):\n        1 │\u001b[0m comment-cr   = \"Carriage return in comment\" # \ra=1\n\n     output from parser-cmd (PID 1677947) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-cr\": {\"type\": \"string\", \"value\": \"Carriage return in comment\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-del\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677948):\n        1 │\u001b[0m comment-del  = \"0x7f\"   # \n\n     output from parser-cmd (PID 1677948) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-del\": {\"type\": \"string\", \"value\": \"0x7f\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-ff\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677961):\n        1 │\u001b[0m comment-ff   = \"0x7f\"   # \f\n\n     output from parser-cmd (PID 1677961) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-ff\": {\"type\": \"string\", \"value\": \"0x7f\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-lf\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677962):\n        1 │\u001b[0m comment-lf   = \"ctrl-P\" # \u0010\n\n     output from parser-cmd (PID 1677962) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-lf\": {\"type\": \"string\", \"value\": \"ctrl-P\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-null\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677964):\n        1 │\u001b[0m comment-null = \"null\"   # \u0000\n\n     output from parser-cmd (PID 1677964) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-null\": {\"type\": \"string\", \"value\": \"null\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/comment-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677968):\n        1 │\u001b[0m comment-us   = \"ctrl-_\" # \u001f\n\n     output from parser-cmd (PID 1677968) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"comment-us\": {\"type\": \"string\", \"value\": \"ctrl-_\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/multi-del\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677970):\n        1 │\u001b[0m multi-del  = \"\"\"null\"\"\"\n\n     output from parser-cmd (PID 1677970) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"multi-del\": {\"type\": \"string\", \"value\": \"null\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/only-ff\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1677996):\n        1 │\u001b[0m \f\n\n     output from parser-cmd (PID 1677996) (stdout):\n        1 │\u001b[0m {}\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/only-vt\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678001):\n        1 │\u001b[0m \u000b\n\n     output from parser-cmd (PID 1678001) (stdout):\n        1 │\u001b[0m {}\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/rawmulti-del\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678005):\n        1 │\u001b[0m rawmulti-del  = '''null'''\n\n     output from parser-cmd (PID 1678005) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"rawmulti-del\": {\"type\": \"string\", \"value\": \"null\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/rawstring-del\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678034):\n        1 │\u001b[0m rawstring-del  = 'null'\n\n     output from parser-cmd (PID 1678034) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"rawstring-del\": {\"type\": \"string\", \"value\": \"null\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/control/string-del\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678067):\n        1 │\u001b[0m string-del  = \"null\"\n\n     output from parser-cmd (PID 1678067) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"string-del\": {\"type\": \"string\", \"value\": \"null\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/encoding/ideographic-space\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678341):\n        1 │\u001b[0m # First on next line is U+3000 IDEOGRAPHIC SPACE\n        2 │\u001b[0m  foo = \"bar\"\n\n     output from parser-cmd (PID 1678341) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"foo\": {\"type\": \"string\", \"value\": \"bar\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/exp-dot-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678398):\n        1 │\u001b[0m exp-dot-02 = 1.e2\n\n     output from parser-cmd (PID 1678398) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"exp-dot-02\": {\"type\": \"float\", \"value\": \"1.e2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/exp-dot-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678496):\n        1 │\u001b[0m exp-dot-03 = 3.e+20\n\n     output from parser-cmd (PID 1678496) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"exp-dot-03\": {\"type\": \"float\", \"value\": \"3.e+20\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/exp-trailing-us-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678400):\n        1 │\u001b[0m exp-trailing-us-02 = 1.2_e2\n\n     output from parser-cmd (PID 1678400) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"exp-trailing-us-02\": {\"type\": \"float\", \"value\": \"1.2_e2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-dot\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678396):\n        1 │\u001b[0m leading-dot = .12345\n\n     output from parser-cmd (PID 1678396) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-dot\": {\"type\": \"float\", \"value\": \".12345\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-dot-neg\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678393):\n        1 │\u001b[0m leading-dot-neg = -.12345\n\n     output from parser-cmd (PID 1678393) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-dot-neg\": {\"type\": \"float\", \"value\": \"-.12345\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-dot-plus\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678394):\n        1 │\u001b[0m leading-dot-plus = +.12345\n\n     output from parser-cmd (PID 1678394) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-dot-plus\": {\"type\": \"float\", \"value\": \"+.12345\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678446):\n        1 │\u001b[0m leading-us = _1.2\n\n     output from parser-cmd (PID 1678446) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-us\": {\"type\": \"float\", \"value\": \"_1.2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-zero\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678451):\n        1 │\u001b[0m leading-zero = 03.14\n\n     output from parser-cmd (PID 1678451) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero\": {\"type\": \"float\", \"value\": \"03.14\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-zero-neg\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678442):\n        1 │\u001b[0m leading-zero-neg = -03.14\n\n     output from parser-cmd (PID 1678442) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-neg\": {\"type\": \"float\", \"value\": \"-03.14\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/leading-zero-plus\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678440):\n        1 │\u001b[0m leading-zero-plus = +03.14\n\n     output from parser-cmd (PID 1678440) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-plus\": {\"type\": \"float\", \"value\": \"+03.14\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-dot\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678531):\n        1 │\u001b[0m trailing-dot = 1.\n\n     output from parser-cmd (PID 1678531) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-dot\": {\"type\": \"float\", \"value\": \"1.\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-dot-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678501):\n        1 │\u001b[0m trailing-point = 1.\n\n     output from parser-cmd (PID 1678501) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-point\": {\"type\": \"float\", \"value\": \"1.\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-dot-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678518):\n        1 │\u001b[0m a = 1.\n        2 │\u001b[0m b = 2\n\n     output from parser-cmd (PID 1678518) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\"type\": \"float\", \"value\": \"1.\"},\n        3 │\u001b[0m   \"b\": {\"type\": \"integer\", \"value\": \"2\"}\n        4 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-dot-min\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678692):\n        1 │\u001b[0m trailing-dot-min = -1.\n\n     output from parser-cmd (PID 1678692) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-dot-min\": {\"type\": \"float\", \"value\": \"-1.\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-dot-plus\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678584):\n        1 │\u001b[0m trailing-dot-plus = +1.\n\n     output from parser-cmd (PID 1678584) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-dot-plus\": {\"type\": \"float\", \"value\": \"+1.\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678533):\n        1 │\u001b[0m trailing-us = 1.2_\n\n     output from parser-cmd (PID 1678533) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-us\": {\"type\": \"float\", \"value\": \"1.2_\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/trailing-us-exp-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678505):\n        1 │\u001b[0m trailing-us-exp-2 = 1.2_e2\n\n     output from parser-cmd (PID 1678505) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-us-exp-2\": {\"type\": \"float\", \"value\": \"1.2_e2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/us-after-dot\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678566):\n        1 │\u001b[0m us-after-dot = 1._2\n\n     output from parser-cmd (PID 1678566) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"us-after-dot\": {\"type\": \"float\", \"value\": \"1._2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/float/us-before-dot\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678504):\n        1 │\u001b[0m us-before-dot = 1_.2\n\n     output from parser-cmd (PID 1678504) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"us-before-dot\": {\"type\": \"float\", \"value\": \"1_.2\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/inline-table/linebreak-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678567):\n        1 │\u001b[0m # No newlines are allowed between the curly braces unless they are valid within\n        2 │\u001b[0m # a value.\n        3 │\u001b[0m simple = { a = 1\n        4 │\u001b[0m }\n\n     output from parser-cmd (PID 1678567) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"simple\": {\n        3 │\u001b[0m     \"a\": {\"type\": \"integer\", \"value\": \"1\"}\n        4 │\u001b[0m   }\n        5 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/inline-table/linebreak-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678820):\n        1 │\u001b[0m t = {a=1,\n        2 │\u001b[0m b=2}\n\n     output from parser-cmd (PID 1678820) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"t\": {\n        3 │\u001b[0m     \"a\": {\"type\": \"integer\", \"value\": \"1\"},\n        4 │\u001b[0m     \"b\": {\"type\": \"integer\", \"value\": \"2\"}\n        5 │\u001b[0m   }\n        6 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/inline-table/linebreak-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678818):\n        1 │\u001b[0m t = {a=1\n        2 │\u001b[0m ,b=2}\n\n     output from parser-cmd (PID 1678818) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"t\": {\n        3 │\u001b[0m     \"a\": {\"type\": \"integer\", \"value\": \"1\"},\n        4 │\u001b[0m     \"b\": {\"type\": \"integer\", \"value\": \"2\"}\n        5 │\u001b[0m   }\n        6 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/inline-table/linebreak-04\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678649):\n        1 │\u001b[0m json_like = {\n        2 │\u001b[0m           first = \"Tom\",\n        3 │\u001b[0m           last = \"Preston-Werner\"\n        4 │\u001b[0m }\n\n     output from parser-cmd (PID 1678649) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"json_like\": {\n        3 │\u001b[0m     \"first\": {\"type\": \"string\", \"value\": \"Tom\"},\n        4 │\u001b[0m     \"last\":  {\"type\": \"string\", \"value\": \"Preston-Werner\"}\n        5 │\u001b[0m   }\n        6 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/inline-table/overwrite-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678656):\n        1 │\u001b[0m a={}\n        2 │\u001b[0m # Inline tables are immutable and can't be extended\n        3 │\u001b[0m [a.b]\n\n     output from parser-cmd (PID 1678656) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"b\": {}\n        4 │\u001b[0m   }\n        5 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/double-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678713):\n        1 │\u001b[0m double-us = 1__23\n\n     output from parser-cmd (PID 1678713) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"double-us\": {\"type\": \"integer\", \"value\": \"1__23\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678817):\n        1 │\u001b[0m leading-us = _123\n\n     output from parser-cmd (PID 1678817) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-us\": {\"type\": \"integer\", \"value\": \"_123\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678855):\n        1 │\u001b[0m leading-zero-01 = 01\n\n     output from parser-cmd (PID 1678855) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-01\": {\"type\": \"integer\", \"value\": \"01\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678826):\n        1 │\u001b[0m leading-zero-02 = 00\n\n     output from parser-cmd (PID 1678826) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-02\": {\"type\": \"integer\", \"value\": \"00\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678973):\n        1 │\u001b[0m leading-zero-03 = 0_0\n\n     output from parser-cmd (PID 1678973) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-03\": {\"type\": \"integer\", \"value\": \"0_0\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-sign-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678854):\n        1 │\u001b[0m leading-zero-sign-01 = -01\n\n     output from parser-cmd (PID 1678854) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-sign-01\": {\"type\": \"integer\", \"value\": \"-01\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-sign-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678843):\n        1 │\u001b[0m leading-zero-sign-02 = +01\n\n     output from parser-cmd (PID 1678843) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-sign-02\": {\"type\": \"integer\", \"value\": \"+01\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/leading-zero-sign-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679174):\n        1 │\u001b[0m leading-zero-sign-03 = +0_1\n\n     output from parser-cmd (PID 1679174) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"leading-zero-sign-03\": {\"type\": \"integer\", \"value\": \"+0_1\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/integer/trailing-us\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1678827):\n        1 │\u001b[0m trailing-us = 123_\n\n     output from parser-cmd (PID 1678827) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"trailing-us\": {\"type\": \"integer\", \"value\": \"123_\"}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/spec-1.0.0/inline-table-2-0\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679365):\n        1 │\u001b[0m [product]\n        2 │\u001b[0m type = { name = \"Nail\" }\n        3 │\u001b[0m type.edible = false  # INVALID\n\n     output from parser-cmd (PID 1679365) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"product\": {\n        3 │\u001b[0m     \"type\": {\n        4 │\u001b[0m       \"edible\": {\"type\": \"bool\", \"value\": \"false\"},\n        5 │\u001b[0m       \"name\":   {\"type\": \"string\", \"value\": \"Nail\"}\n        6 │\u001b[0m     }\n        7 │\u001b[0m   }\n        8 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679779):\n        1 │\u001b[0m # First a.b.c defines a table: a.b.c = {z=9}\n        2 │\u001b[0m #\n        3 │\u001b[0m # Then we define a.b.c.t = \"str\" to add a str to the above table, making it:\n        4 │\u001b[0m #\n        5 │\u001b[0m #   a.b.c = {z=9, t=\"...\"}\n        6 │\u001b[0m #\n        7 │\u001b[0m # While this makes sense, logically, it was decided this is not valid TOML as\n        8 │\u001b[0m # it's too confusing/convoluted.\n        9 │\u001b[0m #\n       10 │\u001b[0m # See: https://github.com/toml-lang/toml/issues/846\n       11 │\u001b[0m #      https://github.com/toml-lang/toml/pull/859\n       12 │\u001b[0m\n       13 │\u001b[0m [a.b.c]\n       14 │\u001b[0m   z = 9\n       15 │\u001b[0m\n       16 │\u001b[0m [a]\n       17 │\u001b[0m   b.c.t = \"Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed\"\n\n     output from parser-cmd (PID 1679779) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"b\": {\n        4 │\u001b[0m       \"c\": {\n        5 │\u001b[0m         \"z\": {\"type\": \"integer\", \"value\": \"9\"},\n        6 │\u001b[0m         \"t\": {\n        7 │\u001b[0m           \"type\":  \"string\",\n        8 │\u001b[0m           \"value\": \"Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed\"\n        9 │\u001b[0m         }\n       10 │\u001b[0m       }\n       11 │\u001b[0m     }\n       12 │\u001b[0m   }\n       13 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679805):\n        1 │\u001b[0m # This is the same issue as in injection-1.toml, except that nests one level\n        2 │\u001b[0m # deeper. See that file for a more complete description.\n        3 │\u001b[0m\n        4 │\u001b[0m [a.b.c.d]\n        5 │\u001b[0m   z = 9\n        6 │\u001b[0m\n        7 │\u001b[0m [a]\n        8 │\u001b[0m   b.c.d.k.t = \"Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed\"\n\n     output from parser-cmd (PID 1679805) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"b\": {\n        4 │\u001b[0m       \"c\": {\n        5 │\u001b[0m         \"d\": {\n        6 │\u001b[0m           \"z\": {\"type\": \"integer\", \"value\": \"9\"},\n        7 │\u001b[0m           \"k\": {\n        8 │\u001b[0m             \"t\": {\n        9 │\u001b[0m               \"type\":  \"string\",\n       10 │\u001b[0m               \"value\": \"Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed\"\n       11 │\u001b[0m             }\n       12 │\u001b[0m           }\n       13 │\u001b[0m         }\n       14 │\u001b[0m       }\n       15 │\u001b[0m     }\n       16 │\u001b[0m   }\n       17 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-04\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679809):\n        1 │\u001b[0m [dependencies.foo]\n        2 │\u001b[0m version = \"0.16\"\n        3 │\u001b[0m\n        4 │\u001b[0m [dependencies]\n        5 │\u001b[0m libc = \"0.2\"\n        6 │\u001b[0m\n        7 │\u001b[0m [dependencies]\n        8 │\u001b[0m rand = \"0.3.14\"\n\n     output from parser-cmd (PID 1679809) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"dependencies\": {\n        3 │\u001b[0m     \"libc\": {\"type\": \"string\", \"value\": \"0.2\"},\n        4 │\u001b[0m     \"rand\": {\"type\": \"string\", \"value\": \"0.3.14\"},\n        5 │\u001b[0m     \"foo\": {\n        6 │\u001b[0m       \"version\": {\"type\": \"string\", \"value\": \"0.16\"}\n        7 │\u001b[0m     }\n        8 │\u001b[0m   }\n        9 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-08\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679924):\n        1 │\u001b[0m [a.b.c]\n        2 │\u001b[0m z = 9\n        3 │\u001b[0m\n        4 │\u001b[0m [[totally_unrelated]]\n        5 │\u001b[0m x = 123\n        6 │\u001b[0m\n        7 │\u001b[0m [a]\n        8 │\u001b[0m b.c.t = \"this should NOT be allowed\"\n\n     output from parser-cmd (PID 1679924) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"totally_unrelated\": [{\n        3 │\u001b[0m     \"x\": {\"type\": \"integer\", \"value\": \"123\"}\n        4 │\u001b[0m   }],\n        5 │\u001b[0m   \"a\": {\n        6 │\u001b[0m     \"b\": {\n        7 │\u001b[0m       \"c\": {\n        8 │\u001b[0m         \"t\": {\"type\": \"string\", \"value\": \"this should NOT be allowed\"},\n        9 │\u001b[0m         \"z\": {\"type\": \"integer\", \"value\": \"9\"}\n       10 │\u001b[0m       }\n       11 │\u001b[0m     }\n       12 │\u001b[0m   }\n       13 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/array-implicit\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679840):\n        1 │\u001b[0m # This test is a bit tricky. It should fail because the first use of\n        2 │\u001b[0m # `[[albums.songs]]` without first declaring `albums` implies that `albums`\n        3 │\u001b[0m # must be a table. The alternative would be quite weird. Namely, it wouldn't\n        4 │\u001b[0m # comply with the TOML spec: \"Each double-bracketed sub-table will belong to\n        5 │\u001b[0m # the most *recently* defined table element *above* it.\"\n        6 │\u001b[0m #\n        7 │\u001b[0m # This is in contrast to the *valid* test, table-array-implicit where\n        8 │\u001b[0m # `[[albums.songs]]` works by itself, so long as `[[albums]]` isn't declared\n        9 │\u001b[0m # later. (Although, `[albums]` could be.)\n       10 │\u001b[0m [[albums.songs]]\n       11 │\u001b[0m name = \"Glory Days\"\n       12 │\u001b[0m\n       13 │\u001b[0m [[albums]]\n       14 │\u001b[0m name = \"Born in the USA\"\n\n     output from parser-cmd (PID 1679840) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"albums\": [{\n        3 │\u001b[0m     \"name\": {\"type\": \"string\", \"value\": \"Born in the USA\"}\n        4 │\u001b[0m   }]\n        5 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/duplicate-key-01\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679893):\n        1 │\u001b[0m [a]\n        2 │\u001b[0m b = 1\n        3 │\u001b[0m\n        4 │\u001b[0m [a]\n        5 │\u001b[0m c = 2\n\n     output from parser-cmd (PID 1679893) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"b\": {\"type\": \"integer\", \"value\": \"1\"},\n        4 │\u001b[0m     \"c\": {\"type\": \"integer\", \"value\": \"2\"}\n        5 │\u001b[0m   }\n        6 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/duplicate-key-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679895):\n        1 │\u001b[0m [fruit]\n        2 │\u001b[0m apple.color = \"red\"\n        3 │\u001b[0m\n        4 │\u001b[0m [[fruit.apple]]\n\n     output from parser-cmd (PID 1679895) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"fruit\": {\"apple\": [{}]}\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/duplicate-key-06\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1680125):\n        1 │\u001b[0m [tbl]\n        2 │\u001b[0m [[tbl]]\n\n     output from parser-cmd (PID 1680125) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"tbl\": [{}]\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/duplicate-key-09\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1679927):\n        1 │\u001b[0m [a]\n        2 │\u001b[0m foo=\"bar\"\n        3 │\u001b[0m [a.b]\n        4 │\u001b[0m foo=\"bar\"\n        5 │\u001b[0m [a]\n\n     output from parser-cmd (PID 1679927) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"foo\": {\"type\": \"string\", \"value\": \"bar\"},\n        4 │\u001b[0m     \"b\": {\n        5 │\u001b[0m       \"foo\": {\"type\": \"string\", \"value\": \"bar\"}\n        6 │\u001b[0m     }\n        7 │\u001b[0m   }\n        8 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/overwrite-bool-with-array\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1680041):\n        1 │\u001b[0m a=true\n        2 │\u001b[0m [[a]]\n\n     output from parser-cmd (PID 1680041) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": [{}]\n        3 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/redefine-02\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1680068):\n        1 │\u001b[0m [t1]\n        2 │\u001b[0m t2.t3.v = 0\n        3 │\u001b[0m [t1.t2]\n\n     output from parser-cmd (PID 1680068) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"t1\": {\n        3 │\u001b[0m     \"t2\": {\n        4 │\u001b[0m       \"t3\": {\n        5 │\u001b[0m         \"v\": {\"type\": \"integer\", \"value\": \"0\"}\n        6 │\u001b[0m       }\n        7 │\u001b[0m     }\n        8 │\u001b[0m   }\n        9 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/redefine-03\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1680069):\n        1 │\u001b[0m [t1]\n        2 │\u001b[0m t2.t3.v = 0\n        3 │\u001b[0m [t1.t2.t3]\n\n     output from parser-cmd (PID 1680069) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"t1\": {\n        3 │\u001b[0m     \"t2\": {\n        4 │\u001b[0m       \"t3\": {\n        5 │\u001b[0m         \"v\": {\"type\": \"integer\", \"value\": \"0\"}\n        6 │\u001b[0m       }\n        7 │\u001b[0m     }\n        8 │\u001b[0m   }\n        9 │\u001b[0m }\n\n     want:\n       Exit code 1\n\nFAIL invalid/table/super-twice\n     Expected an error, but no error was reported.\n\n     input sent to parser-cmd (PID 1680090):\n        1 │\u001b[0m [a.b]\n        2 │\u001b[0m [a]\n        3 │\u001b[0m [a]\n\n     output from parser-cmd (PID 1680090) (stdout):\n        1 │\u001b[0m {\n        2 │\u001b[0m   \"a\": {\n        3 │\u001b[0m     \"b\": {}\n        4 │\u001b[0m   }\n        5 │\u001b[0m }\n\n     want:\n       Exit code 1\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\n  valid tests: 125 passed, 80 failed\nencoder tests: no encoder command given\ninvalid tests: 413 passed, 61 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.completed","item":{"id":"item_30","type":"agent_message","text":"<reusable-compact filename=\"stage_test.sh\">\nExecutable stage gate requiring exactly one TOML test pattern. It pins `TOML_TEST_VERSION` to `v2.2.0`, builds `./cmd/toml-decoder`, runs `sources/run_conformance.sh -run \"$1\"` with `DECODER=\"$PWD/toml-decoder\"`, and uses the command exit status as the verdict.\n</reusable-compact>\n\nRESULT: FAILED\n\nFILES CHANGED:\n- internal/toml/toml.go\n- internal/toml/toml_test.go\n- toml-decoder\n\nSUMMARY:\nImplemented TOML basic, literal, multiline strings, dotted keys, duplicate-key checks, tables, and basic inline tables. Local tests, vet, and build pass. Staged results: valid strings 23/23; invalid strings 74/77; valid keys 26/28; invalid keys 60/61. Full suite failed: 125 valid passed, 80 failed; 413 invalid passed, 61 failed.\n\nBLOCKERS:\n- Remaining failures require parser features outside this block, including arrays, datetimes, complete scalar validation, table semantics, and multiline delimiter edge cases.\n\nFAILURE_SUMMARY: Authoritative conformance suite still has substantial failures outside the implemented slice.\nFAILURE_DETAIL: Local checks pass, but staged string/key and full conformance gates do not. Implement complete TOML arrays, datetimes, scalar lexical validation, table redefinition semantics, and remaining string delimiter rules before rerunning."}}
{"type":"turn.completed","usage":{"input_tokens":1435021,"cached_input_tokens":1355008,"cache_write_input_tokens":0,"output_tokens":14439,"reasoning_output_tokens":4759}}