Run artifact

workspace/targets/toml/evidence/block-6.md

Evidence: Block 6 ยท Service (block-6)

Stories built

Acceptance tooling authorization

Missing context

Stacked context

Build directory changes

Pre-build acceptance observation

intent: The decoder passes all authoritative valid TOML table and array-of-table cases owned by this feature. return code: 1 stdout: FAIL valid/table/array-nest line 4: invalid table path

Exit 1

input sent to parser-cmd (PID 1725827): 1 โ”‚ [[albums]] 2 โ”‚ name = "Born to Run" 3 โ”‚ 4 โ”‚ [[albums.songs]] 5 โ”‚ name = "Jungleland" 6 โ”‚ 7 โ”‚ [[albums.songs]] 8 โ”‚ name = "Meeting Across the River" 9 โ”‚ 10 โ”‚ [[albums]] 11 โ”‚ name = "Born in the USA" 12 โ”‚ 13 โ”‚ [[albums.songs]] 14 โ”‚ name = "Glory Days" 15 โ”‚ 16 โ”‚ [[albums.songs]] 17 โ”‚ name = "Dancing in the Dark"

output from parser-cmd (PID 1725827) (stderr): 1 โ”‚ line 4: invalid table path 2 โ”‚ 3 โ”‚ Exit 1

want: <empty>

FAIL valid/table/array-table-array line 2: invalid table path

Exit 1

input sent to parser-cmd (PID 1725821): 1 โ”‚ [[a]] 2 โ”‚ [[a.b]] 3 โ”‚ [a.b.c] 4 โ”‚ d = "val0" 5 โ”‚ [[a.b]] 6 โ”‚ [a.b.c] 7 โ”‚ d = "val1"

output from parser-cmd (PID 1725821) (stderr): 1 โ”‚ line 2: invalid table path 2 โ”‚ 3 โ”‚ Exit 1

want: <empty>

toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 860 valid tests: 22 passed, 2 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true stderr: --- drydock: values at failure --- result = CompletedProcess(args=['sh', 'sources/stage_test.sh', 'valid/table/**'], returncode=1, stdout='FAIL valid/table/array-nest\n line 4: invalid table path\n \n Exit 1\n\n input sent to parser-cmd (PID 1725827):\n 1 โ”‚\x1b[0m [[albums]]\n 2 โ”‚\x1b[0m name = "Born to Run"\n 3 โ”‚\x1b[0m\n 4 โ”‚\x1b[0m [[albums.songs]]\n 5 โ”‚\x1b[0m name = "Jungleland"\n โ€ฆ (+1542 chars) --- drydock: end values --- Traceback (most recent call last): File "tables-valid.py", line 10, in <module> assert result.returncode == 0 ^^^^^^^^^^^^^^^^^^^^^^ AssertionError

intent: The decoder rejects all authoritative invalid TOML table and array-of-table cases owned by this feature. return code: 1 stdout: FAIL invalid/table/append-with-dotted-keys-01 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726104): 1 โ”‚ # First a.b.c defines a table: a.b.c = {z=9} 2 โ”‚ # 3 โ”‚ # Then we define a.b.c.t = "str" to add a str to the above table, making it: 4 โ”‚ # 5 โ”‚ # a.b.c = {z=9, t="..."} 6 โ”‚ # 7 โ”‚ # While this makes sense, logically, it was decided this is not valid TOML as 8 โ”‚ # it's too confusing/convoluted. 9 โ”‚ # 10 โ”‚ # See: https://github.com/toml-lang/toml/issues/846 11 โ”‚ # https://github.com/toml-lang/toml/pull/859 12 โ”‚ 13 โ”‚ [a.b.c] 14 โ”‚ z = 9 15 โ”‚ 16 โ”‚ [a] 17 โ”‚ b.c.t = "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed"

output from parser-cmd (PID 1726104) (stdout): 1 โ”‚ { 2 โ”‚ "a": { 3 โ”‚ "b": { 4 โ”‚ "c": { 5 โ”‚ "z": {"type": "integer", "value": "9"}, 6 โ”‚ "t": { 7 โ”‚ "type": "string", 8 โ”‚ "value": "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed" 9 โ”‚ } 10 โ”‚ } 11 โ”‚ } 12 โ”‚ } 13 โ”‚ }

want: Exit code 1

FAIL invalid/table/append-with-dotted-keys-02 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726233): 1 โ”‚ # This is the same issue as in injection-1.toml, except that nests one level 2 โ”‚ # deeper. See that file for a more complete description. 3 โ”‚ 4 โ”‚ [a.b.c.d] 5 โ”‚ z = 9 6 โ”‚ 7 โ”‚ [a] 8 โ”‚ b.c.d.k.t = "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed"

output from parser-cmd (PID 1726233) (stdout): 1 โ”‚ { 2 โ”‚ "a": { 3 โ”‚ "b": { 4 โ”‚ "c": { 5 โ”‚ "d": { 6 โ”‚ "z": {"type": "integer", "value": "9"}, 7 โ”‚ "k": { 8 โ”‚ "t": { 9 โ”‚ "type": "string", 10 โ”‚ "value": "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed" 11 โ”‚ } 12 โ”‚ } 13 โ”‚ } 14 โ”‚ } 15 โ”‚ } 16 โ”‚ } 17 โ”‚ }

want: Exit code 1

FAIL invalid/table/append-with-dotted-keys-04 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726077): 1 โ”‚ [dependencies.foo] 2 โ”‚ version = "0.16" 3 โ”‚ 4 โ”‚ [dependencies] 5 โ”‚ libc = "0.2" 6 โ”‚ 7 โ”‚ [dependencies] 8 โ”‚ rand = "0.3.14"

output from parser-cmd (PID 1726077) (stdout): 1 โ”‚ { 2 โ”‚ "dependencies": { 3 โ”‚ "libc": {"type": "string", "value": "0.2"}, 4 โ”‚ "rand": {"type": "string", "value": "0.3.14"}, 5 โ”‚ "foo": { 6 โ”‚ "version": {"type": "string", "value": "0.16"} 7 โ”‚ } 8 โ”‚ } 9 โ”‚ }

want: Exit code 1

FAIL invalid/table/append-with-dotted-keys-08 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726226): 1 โ”‚ [a.b.c] 2 โ”‚ z = 9 3 โ”‚ 4 โ”‚ [[totally_unrelated]] 5 โ”‚ x = 123 6 โ”‚ 7 โ”‚ [a] 8 โ”‚ b.c.t = "this should NOT be allowed"

output from parser-cmd (PID 1726226) (stdout): 1 โ”‚ { 2 โ”‚ "totally_unrelated": [{ 3 โ”‚ "x": {"type": "integer", "value": "123"} 4 โ”‚ }], 5 โ”‚ "a": { 6 โ”‚ "b": { 7 โ”‚ "c": { 8 โ”‚ "t": {"type": "string", "value": "this should NOT be allowed"}, 9 โ”‚ "z": {"type": "integer", "value": "9"} 10 โ”‚ } 11 โ”‚ } 12 โ”‚ } 13 โ”‚ }

want: Exit code 1

FAIL invalid/table/array-implicit Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726162): 1 โ”‚ # This test is a bit tricky. It should fail because the first use of 2 โ”‚ # [[albums.songs]] without first declaring albums implies that albums 3 โ”‚ # must be a table. The alternative would be quite weird. Namely, it wouldn't 4 โ”‚ # comply with the TOML spec: "Each double-bracketed sub-table will belong to 5 โ”‚ # the most recently defined table element above it." 6 โ”‚ # 7 โ”‚ # This is in contrast to the valid test, table-array-implicit where 8 โ”‚ # [[albums.songs]] works by itself, so long as [[albums]] isn't declared 9 โ”‚ # later. (Although, [albums] could be.) 10 โ”‚ [[albums.songs]] 11 โ”‚ name = "Glory Days" 12 โ”‚ 13 โ”‚ [[albums]] 14 โ”‚ name = "Born in the USA"

output from parser-cmd (PID 1726162) (stdout): 1 โ”‚ { 2 โ”‚ "albums": [{ 3 โ”‚ "name": {"type": "string", "value": "Born in the USA"} 4 โ”‚ }] 5 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-01 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726107): 1 โ”‚ [a] 2 โ”‚ b = 1 3 โ”‚ 4 โ”‚ [a] 5 โ”‚ c = 2

output from parser-cmd (PID 1726107) (stdout): 1 โ”‚ { 2 โ”‚ "a": { 3 โ”‚ "b": {"type": "integer", "value": "1"}, 4 โ”‚ "c": {"type": "integer", "value": "2"} 5 โ”‚ } 6 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-03 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726166): 1 โ”‚ [fruit] 2 โ”‚ apple.color = "red" 3 โ”‚ 4 โ”‚ [[fruit.apple]]

output from parser-cmd (PID 1726166) (stdout): 1 โ”‚ { 2 โ”‚ "fruit": {"apple": [{}]} 3 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-04 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726105): 1 โ”‚ [fruit] 2 โ”‚ apple.color = "red" 3 โ”‚ 4 โ”‚ [fruit.apple] # INVALID

output from parser-cmd (PID 1726105) (stdout): 1 โ”‚ { 2 โ”‚ "fruit": { 3 โ”‚ "apple": { 4 โ”‚ "color": {"type": "string", "value": "red"} 5 โ”‚ } 6 โ”‚ } 7 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-05 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726112): 1 โ”‚ [fruit] 2 โ”‚ apple.taste.sweet = true 3 โ”‚ 4 โ”‚ [fruit.apple.taste] # INVALID

output from parser-cmd (PID 1726112) (stdout): 1 โ”‚ { 2 โ”‚ "fruit": { 3 โ”‚ "apple": { 4 โ”‚ "taste": { 5 โ”‚ "sweet": {"type": "bool", "value": "true"} 6 โ”‚ } 7 โ”‚ } 8 โ”‚ } 9 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-06 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726101): 1 โ”‚ [tbl] 2 โ”‚ [[tbl]]

output from parser-cmd (PID 1726101) (stdout): 1 โ”‚ { 2 โ”‚ "tbl": [{}] 3 โ”‚ }

want: Exit code 1

FAIL invalid/table/duplicate-key-09 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726164): 1 โ”‚ [a] 2 โ”‚ foo="bar" 3 โ”‚ [a.b] 4 โ”‚ foo="bar" 5 โ”‚ [a]

output from parser-cmd (PID 1726164) (stdout): 1 โ”‚ { 2 โ”‚ "a": { 3 โ”‚ "foo": {"type": "string", "value": "bar"}, 4 โ”‚ "b": { 5 โ”‚ "foo": {"type": "string", "value": "bar"} 6 โ”‚ } 7 โ”‚ } 8 โ”‚ }

want: Exit code 1

FAIL invalid/table/overwrite-bool-with-array Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726317): 1 โ”‚ a=true 2 โ”‚ [[a]]

output from parser-cmd (PID 1726317) (stdout): 1 โ”‚ { 2 โ”‚ "a": [{}] 3 โ”‚ }

want: Exit code 1

FAIL invalid/table/redefine-02 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726353): 1 โ”‚ [t1] 2 โ”‚ t2.t3.v = 0 3 โ”‚ [t1.t2]

output from parser-cmd (PID 1726353) (stdout): 1 โ”‚ { 2 โ”‚ "t1": { 3 โ”‚ "t2": { 4 โ”‚ "t3": { 5 โ”‚ "v": {"type": "integer", "value": "0"} 6 โ”‚ } 7 โ”‚ } 8 โ”‚ } 9 โ”‚ }

want: Exit code 1

FAIL invalid/table/redefine-03 Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726355): 1 โ”‚ [t1] 2 โ”‚ t2.t3.v = 0 3 โ”‚ [t1.t2.t3]

output from parser-cmd (PID 1726355) (stdout): 1 โ”‚ { 2 โ”‚ "t1": { 3 โ”‚ "t2": { 4 โ”‚ "t3": { 5 โ”‚ "v": {"type": "integer", "value": "0"} 6 โ”‚ } 7 โ”‚ } 8 โ”‚ } 9 โ”‚ }

want: Exit code 1

FAIL invalid/table/super-twice Expected an error, but no error was reported.

input sent to parser-cmd (PID 1726361): 1 โ”‚ [a.b] 2 โ”‚ [a] 3 โ”‚ [a]

output from parser-cmd (PID 1726361) (stdout): 1 โ”‚ { 2 โ”‚ "a": { 3 โ”‚ "b": {} 4 โ”‚ } 5 โ”‚ }

want: Exit code 1

toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 822 valid tests: 0 passed, 0 failed encoder tests: no encoder command given invalid tests: 47 passed, 15 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true stderr: --- drydock: values at failure --- result = CompletedProcess(args=['sh', 'sources/stage_test.sh', 'invalid/table/**'], returncode=1, stdout='FAIL invalid/table/append-with-dotted-keys-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1726104):\n 1 โ”‚\x1b[0m # First a.b.c defines a table: a.b.c = {z=9}\n 2 โ”‚\x1b[0m #\n 3 โ”‚\x1b[0m # Then we define a.b.c.t = "str" to add a str to tโ€ฆ (+11446 chars) --- drydock: end values --- Traceback (most recent call last): File "tables-invalid.py", line 10, in <module> assert result.returncode == 0 ^^^^^^^^^^^^^^^^^^^^^^ AssertionError

intent: The decoder passes all authoritative valid TOML datetime cases owned by this feature. return code: 1 stdout: FAIL valid/datetime/datetime line 4: invalid value "1987-07-05t17:45:00z"

Exit 1

input sent to parser-cmd (PID 1726620): 1 โ”‚ space = 1987-07-05 17:45:00Z 2 โ”‚ 3 โ”‚ # ABNF is case-insensitive, both "Z" and "z" must be supported. 4 โ”‚ lower = 1987-07-05t17:45:00z

output from parser-cmd (PID 1726620) (stderr): 1 โ”‚ line 4: invalid value "1987-07-05t17:45:00z" 2 โ”‚ 3 โ”‚ Exit 1

want: <empty>

toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 875 valid tests: 8 passed, 1 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true stderr: --- drydock: values at failure --- result = CompletedProcess(args=['sh', 'sources/stage_test.sh', 'valid/datetime/**'], returncode=1, stdout='FAIL valid/datetime/datetime\n line 4: invalid value "1987-07-05t17:45:00z"\n \n Exit 1\n\n input sent to parser-cmd (PID 1726620):\n 1 โ”‚\x1b[0m space = 1987-07-05 17:45:00Z\n 2 โ”‚\x1b[0m\n 3 โ”‚\x1b[0m # ABNF is case-insensitive, both "Z" and "z" must be supported.\n โ€ฆ (+624 chars) --- drydock: end values --- Traceback (most recent call last): File "datetimes-valid.py", line 10, in <module> assert result.returncode == 0 ^^^^^^^^^^^^^^^^^^^^^^ AssertionError

intent: The decoder rejects all authoritative invalid TOML datetime, local-date, local-datetime, and local-time cases owned by this feature. return code: 0 stdout: toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 884 valid tests: 0 passed, 0 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true

Post-build programmatic acceptance

intent: The decoder passes all authoritative valid TOML table and array-of-table cases owned by this feature. target interpreter: /mnt/c/Users/barlo/projects/drydock/.venv/bin/python3 provisioning: not required return code: 0 stdout: toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 860 valid tests: 24 passed, 0 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true

intent: The decoder rejects all authoritative invalid TOML table and array-of-table cases owned by this feature. target interpreter: /mnt/c/Users/barlo/projects/drydock/.venv/bin/python3 provisioning: not required return code: 0 stdout: toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 822 valid tests: 0 passed, 0 failed encoder tests: no encoder command given invalid tests: 62 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true

intent: The decoder passes all authoritative valid TOML datetime cases owned by this feature. target interpreter: /mnt/c/Users/barlo/projects/drydock/.venv/bin/python3 provisioning: not required return code: 0 stdout: toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 875 valid tests: 9 passed, 0 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true

intent: The decoder rejects all authoritative invalid TOML datetime, local-date, local-datetime, and local-time cases owned by this feature. target interpreter: /mnt/c/Users/barlo/projects/drydock/.venv/bin/python3 provisioning: not required return code: 0 stdout: toml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder] skipped tests: 884 valid tests: 0 passed, 0 failed encoder tests: no encoder command given invalid tests: 0 passed, 0 failed

harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true

Build summary

RESULT: SUCCESS

FILES CHANGED:

SUMMARY: Implemented table lifecycle/array-of-table resolution and TOML datetime parsing, normalization, and precision truncation. Full suite passed: 205 valid, 474 invalid. Race tests and vet passed.

BLOCKERS: