{
"version": 1,
"import": {
"root": "/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260814.050011/sources",
"format": "markdown"
},
"sources": {
"INSTRUCTIONS.md": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"hash": "35b5b0925e6b554446bab223fe23f35b3f6e392a929e91feddf2265b526a310a",
"release": "",
"state": "consumed",
"via": "plan",
"ticket": null,
"requirements": [
{
"name": "go-parser-architecture",
"text": "The implementation language is Go, fixed by this Target's `TECHNOLOGY_STACK.md` and governed by `stack/go.md`.",
"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": "reject-invalid-toml",
"text": "On invalid TOML, write a diagnostic to **stderr** and exit non-zero.",
"stories": [
"decoder-invalid-input"
]
},
{
"name": "tagged-json-encoding",
"text": "Every TOML **value** becomes `{\"type\": \"<TOML_TYPE>\", \"value\": \"<TOML_VALUE>\"}`.",
"stories": [
"decoder-tagged-json"
]
},
{
"name": "parse-strings",
"text": "basic and literal strings, then multi-line strings with their line-ending backslash and trimming rules.",
"stories": [
"lexical-strings"
]
},
{
"name": "parse-scalars",
"text": "**Scalars** \u2014 booleans, integers (including `0x`, `0o`, `0b`, underscores), floats (including `inf`, `nan`, exponents), basic and literal strings, then",
"stories": [
"lexical-numbers"
]
},
{
"name": "parse-datetimes",
"text": "**Datetimes** \u2014 offset, local datetime, local date, local time.",
"stories": [
"lexical-datetime"
]
},
{
"name": "process-lexical-input",
"text": "**Scaffolding** \u2014 line handling, comments, whitespace, the stdin/stdout/exit\n contract, tagged JSON emission.",
"stories": [
"lexical-whitespace-comments"
]
},
{
"name": "parse-key-forms",
"text": "**Keys** \u2014 bare, quoted, and dotted keys; the redefinition rules.",
"stories": [
"keys-forms"
]
},
{
"name": "parse-arrays",
"text": "**Inline tables and arrays** \u2014 including nesting and the TOML 1.0 restriction\n that inline tables are closed to later extension.",
"stories": [
"structures-arrays"
]
},
{
"name": "enforce-key-semantics",
"text": "**Invalid-input hardening** \u2014 control characters, bad UTF-8, duplicate keys,\n redefinition after an inline table, unterminated constructs.",
"stories": [
"keys-semantics"
]
},
{
"name": "parse-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": [
"structures-inline-tables"
]
},
{
"name": "close-inline-tables",
"text": "the TOML 1.0 restriction that inline tables are closed to later extension.",
"stories": [
"structures-inline-table-closure"
]
},
{
"name": "parse-standard-tables",
"text": "**Tables** \u2014 `[table]`, `[a.b.c]` implicit creation, `[[array of tables]]`,",
"stories": [
"tables-standard"
]
},
{
"name": "reject-table-redefinitions",
"text": "and the rules governing which of these may follow which.",
"stories": [
"tables-redefinition"
]
},
{
"name": "parse-arrays-of-tables",
"text": "`[[array of tables]]`",
"stories": [
"tables-arrays"
]
},
{
"name": "enforce-array-table-ordering",
"text": "the rules governing which of these may follow which.",
"stories": [
"tables-arrays-ordering"
]
},
{
"name": "pass-conformance-suite",
"text": "Every supplied valid and invalid case passes: the failed, errored, and skipped\ncounts are all zero.",
"stories": [
"conformance"
]
}
]
}
]
},
"full_test.sh": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"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": [
"decoder-contract"
]
},
{
"name": "run-conformance-suite",
"text": "DECODER=\"$PWD/toml-decoder\" exec sh sources/run_conformance.sh",
"stories": [
"conformance"
]
}
]
}
]
},
"run_conformance.sh": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"hash": "08bc510bd052f639f3ea85afb174ad1774e6ba7541a262f146590a4ea92d0f86",
"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": "select-conformance-tests",
"text": "DECODER=./toml-decoder sh sources/run_conformance.sh -run 'valid/string/*' # one group\nDECODER=./toml-decoder sh sources/run_conformance.sh -json # machine-readable",
"stories": [
"conformance"
]
},
{
"name": "require-decoder-command",
"text": "DECODER decoder command. Required \u2014 this harness is language-neutral and\n deliberately has no default implementation language.",
"stories": [
"conformance"
]
},
{
"name": "resolve-test-harness",
"text": "TOML_TEST absolute path to the toml-test binary (default: found on PATH)",
"stories": [
"conformance"
]
},
{
"name": "pin-harness-version",
"text": "The suite's identity is part of the verdict.",
"stories": [
"conformance"
]
},
{
"name": "return-harness-verdict",
"text": "Exit code is the harness exit code: 0 only when every test passes.",
"stories": [
"conformance"
]
}
]
}
]
},
"setup_harness.sh": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"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.\n...\nGOBIN=\"${GOBIN:-$HOME/.local/bin}\"\n...\nGOBIN=\"${GOBIN}\" go install \\\n \"github.com/toml-lang/toml-test/v2/cmd/toml-test@${TOML_TEST_VERSION}\"",
"stories": [
"conformance"
]
}
]
}
]
},
"stage_test.sh": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"hash": "93254a9d7ac72f19345b48fc36faffb1dc79dcc66f55cf18fee48c2cdce988cd",
"release": "",
"state": "consumed",
"via": "plan",
"ticket": null,
"requirements": [
{
"name": "run-conformance-slice",
"text": "Same contract as full_test.sh, scoped to the cases a single story owns: build the decoder, then run the installed toml-test suite over the pattern given as $1.",
"stories": [
"decoder-contract",
"conformance"
]
},
{
"name": "preserve-verdict",
"text": "Exit status is the verdict and the whole verdict. Do not filter, skip, or reinterpret.",
"stories": [
"conformance"
]
}
]
}
]
},
"toml-v1.0.0.md": {
"state": "current",
"versions": [
{
"commit": null,
"date": "2026-08-14",
"hash": "4cc2468f55b36a27660425430f19c3e63c9da492e6936aded2cf5eed9fcdce45",
"release": "",
"state": "consumed",
"via": "plan",
"ticket": null,
"requirements": [
{
"name": "document-lexing",
"text": "A TOML file must be a valid UTF-8 encoded Unicode document.",
"stories": [
"lexical-whitespace-comments"
]
},
{
"name": "comments",
"text": "A hash symbol marks the rest of the line as a comment, except when inside a string.",
"stories": [
"lexical-whitespace-comments"
]
},
{
"name": "key-forms",
"text": "A key may be either bare, quoted, or dotted.",
"stories": [
"keys-forms"
]
},
{
"name": "key-semantics",
"text": "Defining a key multiple times is invalid.",
"stories": [
"keys-semantics"
]
},
{
"name": "string-forms",
"text": "There are four ways to express strings: basic, multi-line basic, literal, and multi-line literal.",
"stories": [
"lexical-strings"
]
},
{
"name": "numeric-values",
"text": "Integers are whole numbers.",
"stories": [
"lexical-numbers"
]
},
{
"name": "floating-point-values",
"text": "Floats should be implemented as IEEE 754 binary64 values.",
"stories": [
"lexical-numbers"
]
},
{
"name": "boolean-values",
"text": "Booleans are just the tokens you're used to. Always lowercase.",
"stories": [
"lexical-numbers"
]
},
{
"name": "date-time-values",
"text": "To unambiguously represent a specific instant in time, you may use an RFC 3339 formatted date-time with offset.",
"stories": [
"lexical-datetime"
]
},
{
"name": "arrays",
"text": "Arrays are square brackets with values inside.",
"stories": [
"structures-arrays"
]
},
{
"name": "standard-tables",
"text": "Tables (also known as hash tables or dictionaries) are collections of key/value pairs.",
"stories": [
"tables-standard"
]
},
{
"name": "table-redefinition",
"text": "Like keys, you cannot define a table more than once. Doing so is invalid.",
"stories": [
"tables-redefinition"
]
},
{
"name": "inline-tables",
"text": "Inline tables provide a more compact syntax for expressing tables.",
"stories": [
"structures-inline-tables"
]
},
{
"name": "inline-table-closure",
"text": "Inline tables are fully self-contained and define all keys and sub-tables within them. Keys and sub-tables cannot be added outside the braces.",
"stories": [
"structures-inline-table-closure"
]
},
{
"name": "arrays-of-tables",
"text": "The last syntax that has not yet been described allows writing arrays of tables.",
"stories": [
"tables-arrays"
]
},
{
"name": "arrays-of-tables-ordering",
"text": "If the parent of a table or array of tables is an array element, that element must already have been defined before the child can be defined.",
"stories": [
"tables-arrays-ordering"
]
},
{
"name": "filename-extension",
"text": "TOML files should use the extension `.toml`.",
"stories": []
},
{
"name": "mime-type",
"text": "When transferring TOML files over the internet, the appropriate MIME type is `application/toml`.",
"stories": []
}
]
}
]
}
}
}
Run artifact