{"id":"e183aa25-9605-4014-8bce-34773fdcfe61","kind":"codai.resolve.attestation.v0","repo_url":"https://github.com/dragoscv/resolve-smoke-statslib","base_commit":"52fa52e194c085e816c48d79b9bbb9172624722f","patch":"diff --git a/statslib/__init__.py b/statslib/__init__.py\nindex 55f2fff..b67113e 100644\n--- a/statslib/__init__.py\n+++ b/statslib/__init__.py\n@@ -3,6 +3,6 @@ def median(values):\n     s = sorted(values)\n     n = len(s)\n     mid = n // 2\n-    # BUG: for even-length inputs this returns the upper-middle element\n-    # instead of the average of the two middle elements.\n+    if n % 2 == 0:\n+        return (s[mid - 1] + s[mid]) / 2\n     return s[mid]\n","repro_test":{"path":"codai_repro_test.py","content":"import pytest\n\nfrom statslib import median\n\n\ndef test_median_even_length_sorted():\n    assert median([1, 2, 3, 4]) == pytest.approx(2.5)\n\n\ndef test_median_even_length_unsorted():\n    assert median([4, 1, 3, 2]) == pytest.approx(2.5)\n\n\ndef test_median_even_length_two_elements():\n    assert median([10, 20]) == pytest.approx(15)\n\n\ndef test_median_odd_length_still_works():\n    assert median([3, 1, 2]) == 2"},"test_command":"python -m pytest -q codai_repro_test.py","regression_command":"python -m pytest -q --deselect codai_repro_test.py --ignore=codai_repro_test.py","test_output_before":"FFF.                                                                     [100%]\n=================================== FAILURES ===================================\n________________________ test_median_even_length_sorted ________________________\n\n    def test_median_even_length_sorted():\n>       assert median([1, 2, 3, 4]) == pytest.approx(2.5)\nE       assert 3 == 2.5 ± 2.5e-06\nE         \nE         comparison failed\nE         Obtained: 3\nE         Expected: 2.5 ± 2.5e-06\n\ncodai_repro_test.py:7: AssertionError\n_______________________ test_median_even_length_unsorted _______________________\n\n    def test_median_even_length_unsorted():\n>       assert median([4, 1, 3, 2]) == pytest.approx(2.5)\nE       assert 3 == 2.5 ± 2.5e-06\nE         \nE         comparison failed\nE         Obtained: 3\nE         Expected: 2.5 ± 2.5e-06\n\ncodai_repro_test.py:11: AssertionError\n_____________________ test_median_even_length_two_elements _____________________\n\n    def test_median_even_length_two_elements():\n>       assert median([10, 20]) == pytest.approx(15)\nE       assert 20 == 15 ± 1.5e-05\nE         \nE         comparison failed\nE         Obtained: 20\nE         Expected: 15 ± 1.5e-05\n\ncodai_repro_test.py:15: AssertionError\n=========================== short test summary info ============================\nFAILED codai_repro_test.py::test_median_even_length_sorted - assert 3 == 2.5 ± 2.5e-06\n  \n  comparison failed\n  Obtained: 3\n  Expected: 2.5 ± 2.5e-06\nFAILED codai_repro_test.py::test_median_even_length_unsorted - assert 3 == 2.5 ± 2.5e-06\n  \n  comparison failed\n  Obtained: 3\n  Expected: 2.5 ± 2.5e-06\nFAILED codai_repro_test.py::test_median_even_length_two_elements - assert 20 == 15 ± 1.5e-05\n  \n  comparison failed\n  Obtained: 20\n  Expected: 15 ± 1.5e-05\n3 failed, 1 passed in 1.53s\n","test_output_after":"....                                                                     [100%]\n4 passed in 1.21s\n","regression_output":".                                                                        [100%]\n1 passed in 0.86s\n","runner_image_digest":"4d87d171","started_at":"2026-09-27T15:13:29.068Z","verified_at":"2026-09-27T15:15:43.042Z","signature":{"payload":"eyJhdHRlc3RhdGlvbl9pZCI6ImUxODNhYTI1LTk2MDUtNDAxNC04YmNlLTM0NzczZmRjZmU2MSIsImJhc2VfY29tbWl0IjoiNTJmYTUyZTE5NGMwODVlODE2YzQ4ZDc5YjliYmI5MTcyNjI0NzIyZiIsImtpbmQiOiJjb2RhaS5yZXNvbHZlLmF0dGVzdGF0aW9uLnYxIiwicGF0Y2hfc2hhMjU2IjoiNTNlY2I3Nzk4MDdkNDNjZTg2YjI5YzdhMWUwMzNlMjI2NzlkZDFlOTNlYTA0NWFkODFjZjU1YjMzZTVjNTNhOSIsInJlZ3Jlc3Npb25fY29tbWFuZCI6InB5dGhvbiAtbSBweXRlc3QgLXEgLS1kZXNlbGVjdCBjb2RhaV9yZXByb190ZXN0LnB5IC0taWdub3JlPWNvZGFpX3JlcHJvX3Rlc3QucHkiLCJyZWdyZXNzaW9uX291dHB1dF9zaGEyNTYiOiI2ZWRiZGY2ODU1YzFlNTJiNmQ0NzE3MDc4OTIwYjk2MWUxZWJmOWE2N2IyMzNlZjk0ZmQ3MzIxOWEzZGE3NWI4IiwicmVwb191cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZHJhZ29zY3YvcmVzb2x2ZS1zbW9rZS1zdGF0c2xpYiIsInJlcHJvX3Rlc3QiOnsicGF0aCI6ImNvZGFpX3JlcHJvX3Rlc3QucHkiLCJzaGEyNTYiOiJiMjFlYzE1MTc2NmUzMWI2OWFhMGZjNTc0ODc4NzRiZDc4NGZlZDBmNDZmYWMxODYxZDc0MjczN2VmYjNmNGE4In0sInJ1bm5lcl9pbWFnZV9kaWdlc3QiOiI0ZDg3ZDE3MSIsInN0YXJ0ZWRfYXQiOiIyMDI2LTA5LTI3VDE1OjEzOjI5LjA2OFoiLCJ0ZXN0X2NvbW1hbmQiOiJweXRob24gLW0gcHl0ZXN0IC1xIGNvZGFpX3JlcHJvX3Rlc3QucHkiLCJ0ZXN0X291dHB1dF9hZnRlcl9zaGEyNTYiOiIwZjM1OWI2NWViNDllMWMxNmZjOTg3M2MzMjM4ZTk3ZWM5YjA4YjE1ZWViMjVhZGU5MmIyMzczN2VjOTg1MjY5IiwidGVzdF9vdXRwdXRfYmVmb3JlX3NoYTI1NiI6IjQ5NjkzNGM4ZTgxZTViODhmZDYyYzRjNmU5NDdiMTUzYzk0NWU3MmQ5MzQwYzRmMzNiYWMyMDgwZThhNzZhMWQiLCJ2ZXJpZmllZF9hdCI6IjIwMjYtMDktMjdUMTU6MTU6NDMuMDQyWiJ9","signatures":[{"sig":"MEYCIQCV7RKcX/YCIYqznYO/gaqPUd94tKfhGJ3RTL2ytX/fkwIhAJ/m6CrSXcJeQSV44EwmV69pSvSBAD4Br8h9tIHojuuP","keyid":"projects/codai-p/locations/global/keyRings/codai/cryptoKeys/resolve-attestation/cryptoKeyVersions/1"}],"payloadType":"application/vnd.codai.resolve.attestation+json;v=1"}}