Run artifact

workspace/targets/toml/LINEAGE.json

{
  "version": 1,
  "import": {
    "root": "/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/sources",
    "format": "markdown"
  },
  "sources": {
    "INSTRUCTIONS.md": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "5f94adab4012709386f8527eaf7ca98638794051b622ea8c8e34e8e532d9622d",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "go-module-decoder-command",
              "text": "Establish the standard-library-only Go module and decoder command.",
              "stories": [
                "architecture"
              ]
            },
            {
              "name": "stdin-tagged-json-contract",
              "text": "The program is a filter: read TOML from **stdin**, write tagged JSON to **stdout**, exit `0`.",
              "stories": [
                "decoder-contract"
              ]
            },
            {
              "name": "parse-toml-strings",
              "text": "- **Scalars** \u2014 booleans, integers (including `0x`, `0o`, `0b`, underscores), floats (including `inf`, `nan`, exponents), basic and literal strings, then\n  multi-line strings with their line-ending backslash and trimming rules.",
              "stories": [
                "parser-strings"
              ]
            },
            {
              "name": "parse-lexical-scalars",
              "text": "- **Scalars** \u2014 booleans, integers (including `0x`, `0o`, `0b`, underscores),\n  floats (including `inf`, `nan`, exponents), basic and literal strings, then\n  multi-line strings with their line-ending backslash and trimming rules.",
              "stories": [
                "parser-lexical-scalars"
              ]
            },
            {
              "name": "parse-lexical-boundaries",
              "text": "- **Scaffolding** \u2014 line handling, comments, whitespace, the stdin/stdout/exit\n  contract, tagged JSON emission.",
              "stories": [
                "parser-lexical-boundaries"
              ]
            },
            {
              "name": "parse-key-semantics",
              "text": "- **Keys** \u2014 bare, quoted, and dotted keys; the redefinition rules.",
              "stories": [
                "parser-keys"
              ]
            },
            {
              "name": "parse-tables",
              "text": "- **Tables** \u2014 `[table]`, `[a.b.c]` implicit creation, `[[array of tables]]`,\n  and the rules governing which of these may follow which.",
              "stories": [
                "parser-tables"
              ]
            },
            {
              "name": "parse-arrays-inline-tables",
              "text": "- **Inline tables and arrays** \u2014 including nesting and the TOML 1.0 restriction\n  that inline tables are closed to later extension.",
              "stories": [
                "parser-arrays-inline"
              ]
            },
            {
              "name": "parse-datetimes",
              "text": "- **Datetimes** \u2014 offset, local datetime, local date, local time.",
              "stories": [
                "parser-datetimes"
              ]
            },
            {
              "name": "pass-complete-conformance-suite",
              "text": "- `sh sources/full_test.sh` runs cleanly with zero errors and exits zero.",
              "stories": [
                "conformance"
              ]
            }
          ]
        }
      ]
    },
    "full_test.sh": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "54fcd3c5b0b92e31d7c4c90c3a04ff65617600dcd858947455cda8fbcb2800a6",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "pin-test-version",
              "text": "The version setup_harness.sh installs. run_conformance.sh refuses a different one, so a passing verdict names a specific exam rather than whichever harness was on PATH.",
              "stories": [
                "conformance"
              ]
            },
            {
              "name": "build-decoder",
              "text": "go build -o toml-decoder ./cmd/toml-decoder",
              "stories": [
                "architecture"
              ]
            },
            {
              "name": "run-conformance-suite",
              "text": "DECODER=\"$PWD/toml-decoder\" exec sh sources/run_conformance.sh",
              "stories": [
                "conformance"
              ]
            }
          ]
        }
      ]
    },
    "run_conformance.sh": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "15ecb784a928f4835ca1620341fcaf8af6bcf97ffd26aa8946c9ceecff475afe",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "run-toml-conformance",
              "text": "Run the upstream toml-test conformance suite against the built decoder.",
              "stories": [
                "conformance"
              ]
            },
            {
              "name": "standardize-harness-exit-status",
              "text": "Exit code follows the harness exit-status standard in prompts/UAT_SETUP_INSTRUCTIONS.md: 0 only when every test passes, 2 when this harness could not run at all, and any other nonzero when it ran and the decoder failed.",
              "stories": [
                "conformance"
              ]
            }
          ]
        }
      ]
    },
    "setup_harness.sh": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "a94f9cee6ae45b4265e244f40b882f9692f59c67aff16953d2db837fb3885a56",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "install-conformance-harness",
              "text": "One-time installation of the upstream toml-test conformance harness.",
              "stories": [
                "conformance"
              ]
            }
          ]
        }
      ]
    },
    "stage_contract.sh": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "c95f3a314d9d8099bf27a64404a7eba213710c2948d41c1ce6c44f87f225227b",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "architecture-stage-gate",
              "text": "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",
              "stories": [
                "architecture"
              ]
            },
            {
              "name": "decoder-stage-gate",
              "text": "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\"",
              "stories": [
                "decoder-contract"
              ]
            }
          ]
        }
      ]
    },
    "stage_test.sh": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "93254a9d7ac72f19345b48fc36faffb1dc79dcc66f55cf18fee48c2cdce988cd",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "require-single-pattern-argument",
              "text": "if [ $# -ne 1 ]; then\n  echo \"usage: stage_test.sh <toml-test -run pattern>\" >&2\n  exit 2\nfi",
              "stories": []
            },
            {
              "name": "set-test-version",
              "text": "TOML_TEST_VERSION=\"${TOML_TEST_VERSION:-v2.2.0}\"\nexport TOML_TEST_VERSION",
              "stories": []
            },
            {
              "name": "build-decoder",
              "text": "go build -o toml-decoder ./cmd/toml-decoder",
              "stories": [
                "architecture"
              ]
            },
            {
              "name": "run-authoritative-test-slice",
              "text": "DECODER=\"$PWD/toml-decoder\" exec sh sources/run_conformance.sh -run \"$1\"",
              "stories": [
                "conformance"
              ]
            },
            {
              "name": "preserve-test-verdict",
              "text": "Exit status is the verdict and the whole verdict. Do not filter, skip, or reinterpret.",
              "stories": []
            }
          ]
        }
      ]
    },
    "toml-v1.0.0.md": {
      "state": "current",
      "versions": [
        {
          "commit": "93b12d4",
          "date": "2026-08-16",
          "hash": "4cc2468f55b36a27660425430f19c3e63c9da492e6936aded2cf5eed9fcdce45",
          "release": "",
          "state": "consumed",
          "via": "plan",
          "ticket": null,
          "requirements": [
            {
              "name": "document-lexical-rules",
              "text": "* TOML is case-sensitive.\n* A TOML file must be a valid UTF-8 encoded Unicode document.\n* Whitespace means tab (0x09) or space (0x20).\n* Newline means LF (0x0A) or CRLF (0x0D 0x0A).\n\nA hash symbol marks the rest of the line as a comment, except when inside a\nstring.",
              "stories": [
                "parser-lexical-boundaries"
              ]
            },
            {
              "name": "key-definition-semantics",
              "text": "A key may be either bare, quoted, or dotted.",
              "stories": [
                "parser-keys"
              ]
            },
            {
              "name": "scalar-values",
              "text": "Values must have one of the following types.\n\n- [String](#string)\n- [Integer](#integer)\n- [Float](#float)\n- [Boolean](#boolean)\n- [Offset Date-Time](#offset-date-time)\n- [Local Date-Time](#local-date-time)\n- [Local Date](#local-date)\n- [Local Time](#local-time)\n- [Array](#array)\n- [Inline Table](#inline-table)",
              "stories": [
                "parser-lexical-scalars"
              ]
            },
            {
              "name": "string-values",
              "text": "There are four ways to express strings: basic, multi-line basic, literal, and\nmulti-line literal. All strings must contain only valid UTF-8 characters.",
              "stories": [
                "parser-strings"
              ]
            },
            {
              "name": "datetime-values",
              "text": "To unambiguously represent a specific instant in time, you may use an [RFC\n3339](https://tools.ietf.org/html/rfc3339) formatted date-time with offset.",
              "stories": [
                "parser-datetimes"
              ]
            },
            {
              "name": "arrays-and-inline-tables",
              "text": "Arrays are square brackets with values inside. Whitespace is ignored. Elements\nare separated by commas.\n\nInline tables provide a more compact syntax for expressing tables.",
              "stories": [
                "parser-arrays-inline"
              ]
            },
            {
              "name": "tables-and-arrays-of-tables",
              "text": "Tables (also known as hash tables or dictionaries) are collections of key/value\npairs. They are defined by headers, with square brackets on a line by\nthemselves.\n\nThe last syntax that has not yet been described allows writing arrays of tables.",
              "stories": [
                "parser-tables"
              ]
            },
            {
              "name": "toml-file-extension",
              "text": "TOML files should use the extension `.toml`.",
              "stories": []
            },
            {
              "name": "toml-mime-type",
              "text": "When transferring TOML files over the internet, the appropriate MIME type is\n`application/toml`.",
              "stories": []
            }
          ]
        }
      ]
    }
  }
}