{"receipt_id":"base-1","seq":1,"branch_id":"base","kind":"command","cmd":"python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-crossgl__crosstl-202-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfYmFja2VuZC90ZXN0X2RpcmVjdHgvdGVzdF9jb2RlZ2VuLnB5IGIvdGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X2NvZGVnZW4ucHkKaW5kZXggYTdjYTc5ZC4uZWQ3MTEyYiAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X2NvZGVnZW4ucHkKKysrIGIvdGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X2NvZGVnZW4ucHkKQEAgLTE2MCw2ICsxNjAsNTYgQEAgZGVmIHRlc3RfZm9yX2NvZGVnZW4oKToKICAgICAgICAgcHl0ZXN0LmZhaWwoIkZvciBsb29wIHBhcnNpbmcgb3IgY29kZSBnZW5lcmF0aW9uIG5vdCBpbXBsZW1lbnRlZC4iKQogCiAKK2RlZiB0ZXN0X3doaWxlX2NvZGVnZW4oKToKKyAgICBjb2RlID0gIiIiCisgICAgc3RydWN0IFZTSW5wdXQgeworICAgIGZsb2F0NCBwb3NpdGlvbiA6IFBPU0lUSU9OOworICAgIGZsb2F0NCBjb2xvciA6IFRFWENPT1JEMDsKKyAgICB9OworCisgICAgc3RydWN0IFZTT3V0cHV0IHsKKyAgICAgICAgZmxvYXQ0IG91dF9wb3NpdGlvbiA6IFRFWENPT1JEMDsKKyAgICB9OworCisgICAgVlNPdXRwdXQgVlNNYWluKFZTSW5wdXQgaW5wdXQpIHsKKyAgICAgICAgVlNPdXRwdXQgb3V0cHV0OworICAgICAgICBvdXRwdXQub3V0X3Bvc2l0aW9uID0gaW5wdXQucG9zaXRpb247CisgICAgICAgIGludCBpID0gMDsKKyAgICAgICAgd2hpbGUgKGkgPCAxMCkgeworICAgICAgICAgICAgb3V0cHV0Lm91dF9wb3NpdGlvbiA9IGlucHV0LmNvbG9yOworICAgICAgICAgICAgaSA9IGkgKyAxOyAgLy8gSW5jcmVtZW50IHRoZSBsb29wIHZhcmlhYmxlCisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG91dHB1dDsKKyAgICB9CisKKyAgICBzdHJ1Y3QgUFNJbnB1dCB7CisgICAgICAgIGZsb2F0NCBpbl9wb3NpdGlvbiA6IFRFWENPT1JEMDsKKyAgICB9OworCisgICAgc3RydWN0IFBTT3V0cHV0IHsKKyAgICAgICAgZmxvYXQ0IG91dF9jb2xvciA6IFNWX1RBUkdFVDA7CisgICAgfTsKKworICAgIFBTT3V0cHV0IFBTTWFpbihQU0lucHV0IGlucHV0KSB7CisgICAgICAgIFBTT3V0cHV0IG91dHB1dDsKKyAgICAgICAgb3V0cHV0Lm91dF9jb2xvciA9IGlucHV0LmluX3Bvc2l0aW9uOworICAgICAgICBpbnQgaSA9IDA7CisgICAgICAgIHdoaWxlIChpIDwgMTApIHsKKyAgICAgICAgICAgIG91dHB1dC5vdXRfY29sb3IgPSBmbG9hdDQoMS4wLCAxLjAsIDEuMCwgMS4wKTsKKyAgICAgICAgICAgIGkgPSBpICsgMTsgIC8vIEluY3JlbWVudCB0aGUgbG9vcCB2YXJpYWJsZQorICAgICAgICB9CisgICAgICAgIHJldHVybiBvdXRwdXQ7CisgICAgfQorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgdG9rZW5zID0gdG9rZW5pemVfY29kZShjb2RlKQorICAgICAgICBhc3QgPSBwYXJzZV9jb2RlKHRva2VucykKKyAgICAgICAgZ2VuZXJhdGVkX2NvZGUgPSBnZW5lcmF0ZV9jb2RlKGFzdCkKKyAgICAgICAgcHJpbnQoZ2VuZXJhdGVkX2NvZGUpCisgICAgZXhjZXB0IFN5bnRheEVycm9yOgorICAgICAgICBweXRlc3QuZmFpbCgiV2hpbGUgbG9vcCBwYXJzaW5nIG9yIGNvZGUgZ2VuZXJhdGlvbiBub3QgaW1wbGVtZW50ZWQuIikKKworCiBkZWYgdGVzdF9lbHNlX2NvZGVnZW4oKToKICAgICBjb2RlID0gIiIiCiAgICAgc3RydWN0IFZTSW5wdXQgewpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X3BhcnNlci5weSBiL3Rlc3RzL3Rlc3RfYmFja2VuZC90ZXN0X2RpcmVjdHgvdGVzdF9wYXJzZXIucHkKaW5kZXggZWVkOTFlOS4uN2QzY2MyZCAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X3BhcnNlci5weQorKysgYi90ZXN0cy90ZXN0X2JhY2tlbmQvdGVzdF9kaXJlY3R4L3Rlc3RfcGFyc2VyLnB5CkBAIC03NSw2ICs3NSwyNSBAQCBkZWYgdGVzdF9mb3JfcGFyc2luZygpOgogICAgICAgICBweXRlc3QuZmFpbCgiZm9yIHBhcnNpbmcgbm90IGltcGxlbWVudGVkLiIpCiAKIAorZGVmIHRlc3Rfd2hpbGVfcGFyc2luZygpOgorICAgIGNvZGUgPSAiIiIKKyAgICBWU091dHB1dCBWU01haW4oVlNJbnB1dCBpbnB1dCkgeworICAgICAgICBWU091dHB1dCBvdXRwdXQ7CisgICAgICAgIGludCBpID0gMDsKKyAgICAgICAgd2hpbGUgKGkgPCAxMCkgeworICAgICAgICAgICAgb3V0cHV0Lm91dF9wb3NpdGlvbiA9IGlucHV0LnBvc2l0aW9uOworICAgICAgICAgICAgaSA9IGkgKyAxOworICAgICAgICB9CisgICAgICAgIHJldHVybiBvdXRwdXQ7CisgICAgfQorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgdG9rZW5zID0gdG9rZW5pemVfY29kZShjb2RlKQorICAgICAgICBwYXJzZV9jb2RlKHRva2VucykKKyAgICBleGNlcHQgU3ludGF4RXJyb3I6CisgICAgICAgIHB5dGVzdC5mYWlsKCJ3aGlsZSBwYXJzaW5nIG5vdCBpbXBsZW1lbnRlZCIpCisKKwogZGVmIHRlc3RfZWxzZV9wYXJzaW5nKCk6CiAgICAgY29kZSA9ICIiIgogICAgIFBTT3V0cHV0IFBTTWFpbihQU0lucHV0IGlucHV0KSB7CmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3RyYW5zbGF0b3IvdGVzdF9jb2RlZ2VuL3Rlc3RfZGlyZWN0eF9jb2RlZ2VuLnB5IGIvdGVzdHMvdGVzdF90cmFuc2xhdG9yL3Rlc3RfY29kZWdlbi90ZXN0X2RpcmVjdHhfY29kZWdlbi5weQppbmRleCA2ODZkYmY0Li5jYTgxNmEyIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0X3RyYW5zbGF0b3IvdGVzdF9jb2RlZ2VuL3Rlc3RfZGlyZWN0eF9jb2RlZ2VuLnB5CisrKyBiL3Rlc3RzL3Rlc3RfdHJhbnNsYXRvci90ZXN0X2NvZGVnZW4vdGVzdF9kaXJlY3R4X2NvZGVnZW4ucHkKQEAgLTU1OSw1ICs1NTksNDIgQEAgZGVmIHRlc3RfYml0d2lzZV9vcGVyYXRvcnMoKToKICAgICAgICAgcHl0ZXN0LmZhaWwoIkJpdHdpc2UgU2hpZnQgY29kZWdlbiBub3QgaW1wbGVtZW50ZWQiKQogCiAKK2RlZiB0ZXN0X2JpdHdpc2VfYW5kX29wZXJhdG9yKCk6CisgICAgY29kZSA9ICIiIgorICAgIHNoYWRlciBtYWluIHsKKyAgICBzdHJ1Y3QgVlNJbnB1dCB7CisgICAgICAgIHZlYzIgdGV4Q29vcmQgQCBURVhDT09SRDA7CisgICAgfTsKKyAgICBzdHJ1Y3QgVlNPdXRwdXQgeworICAgICAgICB2ZWM0IGNvbG9yIEAgQ09MT1I7CisgICAgfTsKKyAgICBzYW1wbGVyMkQgaUNoYW5uZWwwOworICAgIHZlcnRleCB7CisgICAgICAgIFZTT3V0cHV0IG1haW4oVlNJbnB1dCBpbnB1dCkgeworICAgICAgICAgICAgVlNPdXRwdXQgb3V0cHV0OworICAgICAgICAgICAgLy8gVXNlIGJpdHdpc2UgQU5EIG9uIHRleHR1cmUgY29vcmRpbmF0ZXMgKGZvciB0ZXN0aW5nIHB1cnBvc2VzKQorICAgICAgICAgICAgb3V0cHV0LmNvbG9yID0gdmVjNChmbG9hdChpbnQoaW5wdXQudGV4Q29vcmQueCAqIDEwMC4wKSAmIDE1KSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0KGludChpbnB1dC50ZXhDb29yZC55ICogMTAwLjApICYgMTUpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCAxLjApOworICAgICAgICAgICAgcmV0dXJuIG91dHB1dDsKKyAgICAgICAgfQorICAgIH0KKyAgICBmcmFnbWVudCB7CisgICAgICAgIHZlYzQgbWFpbihWU091dHB1dCBpbnB1dCkgQCBnbF9GcmFnQ29sb3IgeworICAgICAgICAgICAgLy8gU2ltcGxlIGZyYWdtZW50IHNoYWRlciB0byBkaXNwbGF5IHRoZSByZXN1bHQgb2YgdGhlIEFORCBvcGVyYXRpb24KKyAgICAgICAgICAgIHJldHVybiB2ZWM0KGlucHV0LmNvbG9yLnJnYiwgMS4wKTsKKyAgICAgICAgfQorICAgIH0KK30KKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIHRva2VucyA9IHRva2VuaXplX2NvZGUoY29kZSkKKyAgICAgICAgYXN0ID0gcGFyc2VfY29kZSh0b2tlbnMpCisgICAgICAgIGdlbmVyYXRlZF9jb2RlID0gZ2VuZXJhdGVfY29kZShhc3QpCisgICAgICAgIHByaW50KGdlbmVyYXRlZF9jb2RlKQorICAgIGV4Y2VwdCBTeW50YXhFcnJvcjoKKyAgICAgICAgcHl0ZXN0LmZhaWwoIkJpdHdpc2UgQU5EIGNvZGVnZW4gbm90IGltcGxlbWVudGVkIikKKworCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHB5dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfdHJhbnNsYXRvci90ZXN0X3BhcnNlci5weSBiL3Rlc3RzL3Rlc3RfdHJhbnNsYXRvci90ZXN0X3BhcnNlci5weQppbmRleCAyYmNkNWM3Li43MzdlMWQ2IDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0X3RyYW5zbGF0b3IvdGVzdF9wYXJzZXIucHkKKysrIGIvdGVzdHMvdGVzdF90cmFuc2xhdG9yL3Rlc3RfcGFyc2VyLnB5CkBAIC01NTEsNSArNTUxLDQwIEBAIGRlZiB0ZXN0X3hvcl9vcGVyYXRvcigpOgogICAgICAgICBweXRlc3QuZmFpbCgiQml0d2lzZSBYT1Igbm90IHdvcmtpbmciKQogCiAKK2RlZiB0ZXN0X2FuZF9vcGVyYXRvcigpOgorICAgIGNvZGUgPSAiIiIKKyAgICBzaGFkZXIgbWFpbiB7CisgICAgc3RydWN0IFZTSW5wdXQgeworICAgICAgICB2ZWMyIHRleENvb3JkIEAgVEVYQ09PUkQwOworICAgIH07CisgICAgc3RydWN0IFZTT3V0cHV0IHsKKyAgICAgICAgdmVjNCBjb2xvciBAIENPTE9SOworICAgIH07CisgICAgc2FtcGxlcjJEIGlDaGFubmVsMDsKKyAgICB2ZXJ0ZXggeworICAgICAgICBWU091dHB1dCBtYWluKFZTSW5wdXQgaW5wdXQpIHsKKyAgICAgICAgICAgIFZTT3V0cHV0IG91dHB1dDsKKyAgICAgICAgICAgIC8vIFVzZSBiaXR3aXNlIEFORCBvbiB0ZXh0dXJlIGNvb3JkaW5hdGVzIChmb3IgdGVzdGluZyBwdXJwb3NlcykKKyAgICAgICAgICAgIG91dHB1dC5jb2xvciA9IHZlYzQoZmxvYXQoaW50KGlucHV0LnRleENvb3JkLnggKiAxMDAuMCkgJiAxNSksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdChpbnQoaW5wdXQudGV4Q29vcmQueSAqIDEwMC4wKSAmIDE1KSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMS4wKTsKKyAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7CisgICAgICAgIH0KKyAgICB9CisgICAgZnJhZ21lbnQgeworICAgICAgICB2ZWM0IG1haW4oVlNPdXRwdXQgaW5wdXQpIEAgZ2xfRnJhZ0NvbG9yIHsKKyAgICAgICAgICAgIC8vIFNpbXBsZSBmcmFnbWVudCBzaGFkZXIgdG8gZGlzcGxheSB0aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uCisgICAgICAgICAgICByZXR1cm4gdmVjNChpbnB1dC5jb2xvci5yZ2IsIDEuMCk7CisgICAgICAgIH0KKyAgICB9Cit9CisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICB0b2tlbnMgPSB0b2tlbml6ZV9jb2RlKGNvZGUpCisgICAgICAgIHBhcnNlX2NvZGUodG9rZW5zKQorICAgIGV4Y2VwdCBTeW50YXhFcnJvcjoKKyAgICAgICAgcHl0ZXN0LmZhaWwoIkJpdHdpc2UgQU5EIG5vdCB3b3JraW5nIikKKworCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHB5dGVzdC5tYWluKCkK'\"'\"'))'","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-1.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:10:58.529839Z","duration_s":0.024519,"timed_out":false,"image_before":"eeb07a28-7ccc-3f81-929d-e9b94d085cef","image_after":"7fc2f8a1-76f7-44c9-8224-c5e557138665","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-2","seq":2,"branch_id":"base","kind":"command","cmd":"git apply /tmp/receipts-crossgl__crosstl-202-test.patch","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"/tmp/receipts-crossgl__crosstl-202-test.patch:114: trailing whitespace.\n            output.color = vec4(float(int(input.texCoord.x * 100.0) & 15), \n/tmp/receipts-crossgl__crosstl-202-test.patch:115: trailing whitespace.\n                                float(int(input.texCoord.y * 100.0) & 15), \n/tmp/receipts-crossgl__crosstl-202-test.patch:161: trailing whitespace.\n            output.color = vec4(float(int(input.texCoord.x * 100.0) & 15), \n/tmp/receipts-crossgl__crosstl-202-test.patch:162: trailing whitespace.\n                                float(int(input.texCoord.y * 100.0) & 15), \nwarning: 4 lines add whitespace errors.\n","stdout_sha256":"7e243acf71c3793e3b1d02cdc60c7d827291e83db5c7a8083434bc621b8e9147","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-2.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:01.374057Z","duration_s":0.004435,"timed_out":false,"image_before":"7fc2f8a1-76f7-44c9-8224-c5e557138665","image_after":"82a731a0-8cb6-47c8-9c1c-6a772d280524","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-3","seq":3,"branch_id":"base","kind":"command","cmd":"/opt/receipts-80ccb92a57a34af8933b75ae01493fbb/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-80ccb92a57a34af8933b75ae01493fbb/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/test_backend/test_directx/test_codegen.py tests/test_backend/test_directx/test_parser.py tests/test_translator/test_codegen/test_directx_codegen.py tests/test_translator/test_parser.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/base-3.xml","path":null,"exit_code":1,"stdout_tail":"xColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n_______________________ test_assignment_shift_operators ________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = addColor(vec4(1.0, 1.0, 1.0, 1.0), vec4(0.5, 0.5, 0.5, 1.0));\n    uint a >>= 1;\n    uint b <<= 2;\n     output.color = vec4(input.texCoord, 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    float brightness = texture( iChannel0, input.color.xy).r;\n    float bloom = max(0.0,  brightness - 0.5);\n    uint a >>= 1;\n    uint b <<= 2;\n    float3 texColor = texture( iChannel0, input.color.xy).rgb;\n    float3 colorWithBloom =  texColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n____________________________ test_bitwise_operators ____________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = addColor(vec4(1.0, 1.0, 1.0, 1.0), vec4(0.5, 0.5, 0.5, 1.0));\n     isLightOn = 2 BITWISE_AND 1;\n     isLightOn = 2 BITWISE_OR 1;\n     isLightOn = 2 ^ 1;\n     output.color = vec4(input.texCoord, 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    float brightness = texture( iChannel0, input.color.xy).r;\n    float bloom = max(0.0,  brightness - 0.5);\n     isLightOn = 2 BITWISE_AND 1;\n     isLightOn = 2 BITWISE_OR 1;\n     isLightOn = 2 ^ 1;\n    float3 texColor = texture( iChannel0, input.color.xy).rgb;\n    float3 colorWithBloom =  texColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n__________________________ test_bitwise_and_operator ___________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = vec4(float(int(input.texCoord.x * 100.0) BITWISE_AND 15), float(int(input.texCoord.y * 100.0) BITWISE_AND 15), 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    return vec4(input.color.rgb, 1.0);\n}\n\n\n------------- generated xml file: /opt/receipts/reports/base-3.xml -------------\n=========================== short test summary info ============================\nPASSED tests/test_backend/test_directx/test_codegen.py::test_struct_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_if_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_for_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_else_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_function_call_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_else_if_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_assignment_ops_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_struct_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_if_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_for_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_else_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_function_call_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_else_if_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_assignment_ops_parsing\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_struct\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_if_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_for_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_else_if_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_function_call\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_or_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_modulus_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_xor_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_shift_operators\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_operators\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_and_operator\nPASSED tests/test_translator/test_parser.py::test_struct_tokenization\nPASSED tests/test_translator/test_parser.py::test_if_statement\nPASSED tests/test_translator/test_parser.py::test_for_statement\nPASSED tests/test_translator/test_parser.py::test_else_if_statement\nPASSED tests/test_translator/test_parser.py::test_function_call\nPASSED tests/test_translator/test_parser.py::test_assign_shift_right\nPASSED tests/test_translator/test_parser.py::test_logical_operators\nPASSED tests/test_translator/test_parser.py::test_var_assignment\nPASSED tests/test_translator/test_parser.py::test_assign_ops\nPASSED tests/test_translator/test_parser.py::test_bitwise_operators\nPASSED tests/test_translator/test_parser.py::test_xor_operator\nPASSED tests/test_translator/test_parser.py::test_and_operator\nFAILED tests/test_backend/test_directx/test_codegen.py::test_while_codegen - ...\nFAILED tests/test_backend/test_directx/test_parser.py::test_while_parsing - F...\n========================= 2 failed, 37 passed in 0.25s =========================\n","stderr_tail":"","stdout_sha256":"be8d5b4c4f89526f15fa16b92cfbb7e0e11601c349826db4fe0028bed6e95c10","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-3.log","tree_digest":"f467a3eb45613b3b2fb7be801d223d65a47ad112b478a8076a667f234c177e47","tree_download_s":1.7122017918154597,"started_at":"2026-10-03T21:11:04.322330Z","duration_s":0.738091,"timed_out":false,"image_before":"82a731a0-8cb6-47c8-9c1c-6a772d280524","image_after":"00a42a63-7b4f-4d83-a673-e72951102476","junit":{"passed":["tests/test_backend/test_directx/test_codegen.py::test_struct_codegen","tests/test_backend/test_directx/test_codegen.py::test_if_codegen","tests/test_backend/test_directx/test_codegen.py::test_for_codegen","tests/test_backend/test_directx/test_codegen.py::test_else_codegen","tests/test_backend/test_directx/test_codegen.py::test_function_call_codegen","tests/test_backend/test_directx/test_codegen.py::test_else_if_codegen","tests/test_backend/test_directx/test_codegen.py::test_assignment_ops_parsing","tests/test_backend/test_directx/test_parser.py::test_struct_parsing","tests/test_backend/test_directx/test_parser.py::test_if_parsing","tests/test_backend/test_directx/test_parser.py::test_for_parsing","tests/test_backend/test_directx/test_parser.py::test_else_parsing","tests/test_backend/test_directx/test_parser.py::test_function_call_parsing","tests/test_backend/test_directx/test_parser.py::test_else_if_parsing","tests/test_backend/test_directx/test_parser.py::test_assignment_ops_parsing","tests/test_translator/test_codegen/test_directx_codegen.py::test_struct","tests/test_translator/test_codegen/test_directx_codegen.py::test_if_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_for_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_else_if_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_function_call","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_or_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_modulus_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_xor_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_shift_operators","tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_operators","tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_and_operator","tests/test_translator/test_parser.py::test_struct_tokenization","tests/test_translator/test_parser.py::test_if_statement","tests/test_translator/test_parser.py::test_for_statement","tests/test_translator/test_parser.py::test_else_if_statement","tests/test_translator/test_parser.py::test_function_call","tests/test_translator/test_parser.py::test_assign_shift_right","tests/test_translator/test_parser.py::test_logical_operators","tests/test_translator/test_parser.py::test_var_assignment","tests/test_translator/test_parser.py::test_assign_ops","tests/test_translator/test_parser.py::test_bitwise_operators","tests/test_translator/test_parser.py::test_xor_operator","tests/test_translator/test_parser.py::test_and_operator"],"failed":["tests/test_backend/test_directx/test_codegen.py::test_while_codegen","tests/test_backend/test_directx/test_parser.py::test_while_parsing"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_backend/test_directx/test_codegen.py::test_while_codegen":"Failed: While loop parsing or code generation not implemented.\nE   SyntaxError: Expected SEMICOLON, got LBRACE\n\nDuring handling of the above exception, another exception occurred:\nE   Failed: While loop parsing or code generation not implemented.","tests/test_backend/test_directx/test_parser.py::test_while_parsing":"Failed: while parsing not implemented\nE   SyntaxError: Expected SEMICOLON, got LBRACE\n\nDuring handling of the above exception, another exception occurred:\nE   Failed: while parsing not implemented"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-4","seq":4,"branch_id":"base","kind":"command","cmd":"/opt/receipts-0a6e46c1d98a43c38f419c6ea3342eb2/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-0a6e46c1d98a43c38f419c6ea3342eb2/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/test_backend/test_directx/test_codegen.py tests/test_backend/test_directx/test_parser.py tests/test_translator/test_codegen/test_directx_codegen.py tests/test_translator/test_parser.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/base-4.xml","path":null,"exit_code":1,"stdout_tail":"xColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n_______________________ test_assignment_shift_operators ________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = addColor(vec4(1.0, 1.0, 1.0, 1.0), vec4(0.5, 0.5, 0.5, 1.0));\n    uint a >>= 1;\n    uint b <<= 2;\n     output.color = vec4(input.texCoord, 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    float brightness = texture( iChannel0, input.color.xy).r;\n    float bloom = max(0.0,  brightness - 0.5);\n    uint a >>= 1;\n    uint b <<= 2;\n    float3 texColor = texture( iChannel0, input.color.xy).rgb;\n    float3 colorWithBloom =  texColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n____________________________ test_bitwise_operators ____________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = addColor(vec4(1.0, 1.0, 1.0, 1.0), vec4(0.5, 0.5, 0.5, 1.0));\n     isLightOn = 2 BITWISE_AND 1;\n     isLightOn = 2 BITWISE_OR 1;\n     isLightOn = 2 ^ 1;\n     output.color = vec4(input.texCoord, 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    float brightness = texture( iChannel0, input.color.xy).r;\n    float bloom = max(0.0,  brightness - 0.5);\n     isLightOn = 2 BITWISE_AND 1;\n     isLightOn = 2 BITWISE_OR 1;\n     isLightOn = 2 ^ 1;\n    float3 texColor = texture( iChannel0, input.color.xy).rgb;\n    float3 colorWithBloom =  texColor + vec3( bloom);\n    return vec4( colorWithBloom, 1.0);\n}\n\n\n__________________________ test_bitwise_and_operator ___________________________\n----------------------------- Captured stdout call -----------------------------\n\nstruct VSInput {\n    float2 texCoord : TEXCOORD0;\n}\nstruct VSOutput {\n    float4 color : COLOR;\n}\n// Texture Samplers\nTexture2D iChannel0 :register(t0);\n// Vertex Shader\nVSOutput VSMain(VSInput input )  {\n    VSOutput output;\n     output.color = vec4(float(int(input.texCoord.x * 100.0) BITWISE_AND 15), float(int(input.texCoord.y * 100.0) BITWISE_AND 15), 0.0, 1.0);\n    return  output;\n}\n\n// Fragment Shader\nfloat4 PSMain(VSOutput input ) : SV_TARGET {\n    return vec4(input.color.rgb, 1.0);\n}\n\n\n------------- generated xml file: /opt/receipts/reports/base-4.xml -------------\n=========================== short test summary info ============================\nPASSED tests/test_backend/test_directx/test_codegen.py::test_struct_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_if_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_for_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_else_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_function_call_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_else_if_codegen\nPASSED tests/test_backend/test_directx/test_codegen.py::test_assignment_ops_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_struct_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_if_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_for_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_else_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_function_call_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_else_if_parsing\nPASSED tests/test_backend/test_directx/test_parser.py::test_assignment_ops_parsing\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_struct\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_if_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_for_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_else_if_statement\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_function_call\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_or_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_modulus_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_xor_operator\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_shift_operators\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_operators\nPASSED tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_and_operator\nPASSED tests/test_translator/test_parser.py::test_struct_tokenization\nPASSED tests/test_translator/test_parser.py::test_if_statement\nPASSED tests/test_translator/test_parser.py::test_for_statement\nPASSED tests/test_translator/test_parser.py::test_else_if_statement\nPASSED tests/test_translator/test_parser.py::test_function_call\nPASSED tests/test_translator/test_parser.py::test_assign_shift_right\nPASSED tests/test_translator/test_parser.py::test_logical_operators\nPASSED tests/test_translator/test_parser.py::test_var_assignment\nPASSED tests/test_translator/test_parser.py::test_assign_ops\nPASSED tests/test_translator/test_parser.py::test_bitwise_operators\nPASSED tests/test_translator/test_parser.py::test_xor_operator\nPASSED tests/test_translator/test_parser.py::test_and_operator\nFAILED tests/test_backend/test_directx/test_codegen.py::test_while_codegen - ...\nFAILED tests/test_backend/test_directx/test_parser.py::test_while_parsing - F...\n========================= 2 failed, 37 passed in 0.25s =========================\n","stderr_tail":"","stdout_sha256":"55b03558b3a90d9d00d642e99bed9bca17a6a2fd8a33aa3ed3e2220763045dab","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-4.log","tree_digest":"f467a3eb45613b3b2fb7be801d223d65a47ad112b478a8076a667f234c177e47","tree_download_s":4.017405084101483,"started_at":"2026-10-03T21:11:09.330957Z","duration_s":0.6764950000000001,"timed_out":false,"image_before":"00a42a63-7b4f-4d83-a673-e72951102476","image_after":"39f0723d-f1ed-4893-a0d4-9ab6bb8a1229","junit":{"passed":["tests/test_backend/test_directx/test_codegen.py::test_struct_codegen","tests/test_backend/test_directx/test_codegen.py::test_if_codegen","tests/test_backend/test_directx/test_codegen.py::test_for_codegen","tests/test_backend/test_directx/test_codegen.py::test_else_codegen","tests/test_backend/test_directx/test_codegen.py::test_function_call_codegen","tests/test_backend/test_directx/test_codegen.py::test_else_if_codegen","tests/test_backend/test_directx/test_codegen.py::test_assignment_ops_parsing","tests/test_backend/test_directx/test_parser.py::test_struct_parsing","tests/test_backend/test_directx/test_parser.py::test_if_parsing","tests/test_backend/test_directx/test_parser.py::test_for_parsing","tests/test_backend/test_directx/test_parser.py::test_else_parsing","tests/test_backend/test_directx/test_parser.py::test_function_call_parsing","tests/test_backend/test_directx/test_parser.py::test_else_if_parsing","tests/test_backend/test_directx/test_parser.py::test_assignment_ops_parsing","tests/test_translator/test_codegen/test_directx_codegen.py::test_struct","tests/test_translator/test_codegen/test_directx_codegen.py::test_if_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_for_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_else_if_statement","tests/test_translator/test_codegen/test_directx_codegen.py::test_function_call","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_or_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_modulus_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_xor_operator","tests/test_translator/test_codegen/test_directx_codegen.py::test_assignment_shift_operators","tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_operators","tests/test_translator/test_codegen/test_directx_codegen.py::test_bitwise_and_operator","tests/test_translator/test_parser.py::test_struct_tokenization","tests/test_translator/test_parser.py::test_if_statement","tests/test_translator/test_parser.py::test_for_statement","tests/test_translator/test_parser.py::test_else_if_statement","tests/test_translator/test_parser.py::test_function_call","tests/test_translator/test_parser.py::test_assign_shift_right","tests/test_translator/test_parser.py::test_logical_operators","tests/test_translator/test_parser.py::test_var_assignment","tests/test_translator/test_parser.py::test_assign_ops","tests/test_translator/test_parser.py::test_bitwise_operators","tests/test_translator/test_parser.py::test_xor_operator","tests/test_translator/test_parser.py::test_and_operator"],"failed":["tests/test_backend/test_directx/test_codegen.py::test_while_codegen","tests/test_backend/test_directx/test_parser.py::test_while_parsing"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_backend/test_directx/test_codegen.py::test_while_codegen":"Failed: While loop parsing or code generation not implemented.\nE   SyntaxError: Expected SEMICOLON, got LBRACE\n\nDuring handling of the above exception, another exception occurred:\nE   Failed: While loop parsing or code generation not implemented.","tests/test_backend/test_directx/test_parser.py::test_while_parsing":"Failed: while parsing not implemented\nE   SyntaxError: Expected SEMICOLON, got LBRACE\n\nDuring handling of the above exception, another exception occurred:\nE   Failed: while parsing not implemented"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-5","seq":5,"branch_id":"base","kind":"command","cmd":"python -c 'import base64\nimport hashlib\nimport json\nimport os\nfrom pathlib import Path\n\npayload = json.loads(base64.b64decode('\"'\"'eyJ0ZXN0X2ZpbGVzIjpbInRlc3RzL3Rlc3RfYmFja2VuZC90ZXN0X2RpcmVjdHgvdGVzdF9jb2RlZ2VuLnB5IiwidGVzdHMvdGVzdF9iYWNrZW5kL3Rlc3RfZGlyZWN0eC90ZXN0X3BhcnNlci5weSJdLCJ0ZXN0X3Jvb3RzIjpbInRlc3RzL3Rlc3RfYmFja2VuZC90ZXN0X2RpcmVjdHgiXSwiY29uZmlnX25hbWVzIjpbIi5weXRlc3QudG9tbCIsImNvbmZ0ZXN0LnB5IiwicHlwcm9qZWN0LnRvbWwiLCJweXRlc3QuaW5pIiwicHl0ZXN0LnRvbWwiLCJzZXR1cC5jZmciLCJ0b3guaW5pIl19'\"'\"'))\nexcluded = {'\"'\"'.git'\"'\"', '\"'\"'.venv'\"'\"', '\"'\"'__pycache__'\"'\"', '\"'\"'site-packages'\"'\"'}\n\ndef digest(path):\n    return hashlib.sha256(path.read_bytes()).hexdigest()\n\ntests = {}\nfor item in payload['\"'\"'test_files'\"'\"']:\n    path = Path(item)\n    if path.is_file():\n        tests[path.as_posix()] = digest(path)\nfor item in payload['\"'\"'test_roots'\"'\"']:\n    root = Path(item)\n    if not root.is_dir():\n        continue\n    for directory, names, filenames in os.walk(root, followlinks=False):\n        names[:] = sorted(name for name in names if name not in excluded)\n        for filename in sorted(filenames):\n            path = Path(directory, filename)\n            if path.is_file():\n                tests[path.as_posix()] = digest(path)\n\nconfigs = {}\nfor directory, names, filenames in os.walk('\"'\"'.'\"'\"', followlinks=False):\n    names[:] = sorted(name for name in names if name not in excluded)\n    for filename in sorted(filenames):\n        if filename not in payload['\"'\"'config_names'\"'\"']:\n            continue\n        path = Path(directory, filename)\n        rendered = path.as_posix()\n        rendered = rendered[2:] if rendered.startswith('\"'\"'./'\"'\"') else rendered\n        configs[rendered] = digest(path)\n\nprint(json.dumps({'\"'\"'test_digests'\"'\"': tests, '\"'\"'pytest_config_digests'\"'\"': configs}, sort_keys=True))\n'","path":null,"exit_code":0,"stdout_tail":"{\"pytest_config_digests\": {}, \"test_digests\": {\"tests/test_backend/test_directx/__init__.py\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \"tests/test_backend/test_directx/test_codegen.py\": \"6941be6c6884e2358af63d6d4b3df27039510101d620e1c1f66daab2e6432ec9\", \"tests/test_backend/test_directx/test_lexer.py\": \"e7cbfe3bf866d7760c7c0b93812ab88d13de24b6d70aab9c5df61bf4879ae33a\", \"tests/test_backend/test_directx/test_parser.py\": \"f5fb046272f6fa3518ff8445becd22c6fc22e89229890c33b38cc00aad0241be\"}}\n","stderr_tail":"","stdout_sha256":"191bb464e8fe589e75181516286e61b6bcf45fa4d3f0a801b571d8898d45b51b","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-5.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:16.433849Z","duration_s":0.032641,"timed_out":false,"image_before":"39f0723d-f1ed-4893-a0d4-9ab6bb8a1229","image_after":"5de97354-46c5-4a7c-a2bf-d769b0bc5750","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-6","seq":6,"branch_id":"base","kind":"command","cmd":"python -c '# Runs inside the task sandbox, so it must work on Python 3.7.\npackages = set()\ntry:\n    import importlib.metadata as metadata\nexcept ImportError:\n    import pkg_resources\n\n    for dist in pkg_resources.working_set:\n        packages.add(dist.project_name + \"==\" + dist.version)\nelse:\n    for distribution in metadata.distributions():\n        name = distribution.metadata.get(\"Name\")\n        if name:\n            packages.add(name + \"==\" + distribution.version)\nprint(\"\\n\".join(sorted(packages, key=str.casefold)))\n'","path":null,"exit_code":0,"stdout_tail":"crosstl==0.0.1.3\nexceptiongroup==1.3.1\ngast==0.7.0\niniconfig==2.3.0\npackaging==25.0\npip==25.3\npluggy==1.6.0\nPygments==2.19.2\npytest==9.0.2\nsetuptools==80.9.0\ntomli==2.3.0\ntyping_extensions==4.15.0\nwheel==0.45.1\n","stderr_tail":"","stdout_sha256":"082b2305c406ec93fccbe3e4915a251a07b681cf4c7c98ee2d168b8c9af50d72","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-6.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:18.362990Z","duration_s":0.052468,"timed_out":false,"image_before":"5de97354-46c5-4a7c-a2bf-d769b0bc5750","image_after":"72a4580c-03c0-4fd9-b906-d51142e5bd45","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-7","seq":7,"branch_id":"base","kind":"command","cmd":"git add -A && git -c user.name=receipts -c user.email=receipts@localhost commit -q --allow-empty -m \"receipts snapshot\" && git rev-parse HEAD","path":null,"exit_code":0,"stdout_tail":"12c9f9f8620faa879b5413849f93c560309f9d64\n","stderr_tail":"","stdout_sha256":"e2e6a61c0d0c9cd3aa0de44525af9e3278ae1c5c911df6da28018f82a8c80522","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-7.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:20.248998Z","duration_s":0.021019000000000003,"timed_out":false,"image_before":"72a4580c-03c0-4fd9-b906-d51142e5bd45","image_after":"6e4f4a26-d684-49b4-a0ef-d90692fa6ecd","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":"12c9f9f8620faa879b5413849f93c560309f9d64"}
{"receipt_id":"base-8","seq":8,"branch_id":"base","kind":"command","cmd":"git -c core.quotePath=false ls-tree -z --name-only 12c9f9f8620faa879b5413849f93c560309f9d64","path":null,"exit_code":0,"stdout_tail":".github\u0000.gitignore\u0000.pre-commit-config.yaml\u0000CONTRIBUTING.md\u0000LICENSE\u0000MANIFEST.in\u0000README.md\u0000crosstl.egg-info\u0000crosstl\u0000deploy.sh\u0000examples\u0000getting_start.ipynb\u0000requirements.txt\u0000setup.py\u0000tests\u0000","stderr_tail":"","stdout_sha256":"1509f0cf3f5eea81e10945a84144025e3a03d041117b58ca8f6499c2f1a5bbb8","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-8.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:22.104011Z","duration_s":0.004502,"timed_out":false,"image_before":"6e4f4a26-d684-49b4-a0ef-d90692fa6ecd","image_after":"4e0867f4-d309-4716-930f-0c0c5ad1f85c","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-9","seq":9,"branch_id":"base","kind":"command","cmd":"git -c core.quotePath=false ls-tree -z --name-only 12c9f9f8620faa879b5413849f93c560309f9d64:src","path":null,"exit_code":128,"stdout_tail":"","stderr_tail":"fatal: Not a valid object name 12c9f9f8620faa879b5413849f93c560309f9d64:src\n","stdout_sha256":"ff740af746e9b09b7ad56215c0191b1655677800cde1368ad9c0d61c450985f9","log_path":"~/dev/nebius-hackathon/pilot/v2-P/crossgl__crosstl-202/runs/pilot-crossgl__crosstl-202-cecd7c5aee/logs/base/base-9.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T21:11:23.924452Z","duration_s":0.004096,"timed_out":false,"image_before":"4e0867f4-d309-4716-930f-0c0c5ad1f85c","image_after":"2263c600-60dd-4abe-81ff-60008ca51fbe","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
