{"receipt_id":"base-1","seq":1,"branch_id":"base","kind":"command","cmd":"python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-researchobject__ro-crate-py-192-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9tb2RlbC5weSBiL3Rlc3QvdGVzdF9tb2RlbC5weQppbmRleCAxOTM1Y2M4Li40NDY1ZWNlIDEwMDY0NAotLS0gYS90ZXN0L3Rlc3RfbW9kZWwucHkKKysrIGIvdGVzdC90ZXN0X21vZGVsLnB5CkBAIC01MTMsMyArNTEzLDUyIEBAIGRlZiB0ZXN0X2ltbXV0YWJsZV9pZCgpOgogICAgIHAgPSBjcmF0ZS5hZGQoUGVyc29uKGNyYXRlLCAiI2ZvbyIpKQogICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CiAgICAgICAgIHAuaWQgPSAiI2JhciIKKworCitkZWYgdGVzdF9lbnRpdHlfaW5fcHJvcGVydGllcyh0bXBkaXIpOgorICAgIGZpbGVfaWQgPSAiZGF0YS5jc3YiCisgICAgZmlsZV9wYXRoID0gdG1wZGlyIC8gZmlsZV9pZAorICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICJ3dCIpIGFzIGZvdXQ6CisgICAgICAgIGZvdXQud3JpdGUoIkRBVEFcbiIpCisgICAgY3JhdGUgPSBST0NyYXRlKCkKKyAgICBhbGljZV9pZCA9ICJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDAtMDAwMC0wMDAwIgorICAgIGJvYl9pZCA9ICJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDAtMDAwMC0wMDAxIgorICAgIGFsaWNlID0gY3JhdGUuYWRkKFBlcnNvbihjcmF0ZSwgYWxpY2VfaWQsIHByb3BlcnRpZXM9eworICAgICAgICAibmFtZSI6ICJBbGljZSBEb2UiLAorICAgICAgICAiYWZmaWxpYXRpb24iOiAiVW5pdmVyc2l0eSBvZiBGbGF0bGFuZCIsCisgICAgfSkpCisgICAgYm9iID0gY3JhdGUuYWRkKFBlcnNvbihjcmF0ZSwgYm9iX2lkLCBwcm9wZXJ0aWVzPXsKKyAgICAgICAgIm5hbWUiOiAiQm9iIERvZSIsCisgICAgICAgICJhZmZpbGlhdGlvbiI6ICJVbml2ZXJzaXR5IG9mIEZsYXRsYW5kIiwKKyAgICB9KSkKKyAgICBkYXRhID0gY3JhdGUuYWRkX2ZpbGUoZmlsZV9wYXRoLCBwcm9wZXJ0aWVzPXsKKyAgICAgICAgIm5hbWUiOiAiRGF0YSBmaWxlIiwKKyAgICAgICAgImVuY29kaW5nRm9ybWF0IjogInRleHQvY3N2IiwKKyAgICAgICAgImF1dGhvciI6IFthbGljZSwgYm9iXSwKKyAgICB9KQorICAgIGF1dGhvcnMgPSBkYXRhWyJhdXRob3IiXQorICAgIGFzc2VydCBsZW4oYXV0aG9ycykgPT0gMgorICAgIGFzc2VydCBhdXRob3JzWzBdIGlzIGFsaWNlCisgICAgYXNzZXJ0IGF1dGhvcnNbMV0gaXMgYm9iCisKKyAgICBib29rID0gY3JhdGUuYWRkKENvbnRleHRFbnRpdHkoY3JhdGUsICIjNDRjYXRzIiwgcHJvcGVydGllcz17CisgICAgICAgICJAdHlwZSI6ICJCb29rIiwKKyAgICAgICAgIm5hbWUiOiAiNDQgQ2F0cyIsCisgICAgICAgICJhdXRob3IiOiBhbGljZSwKKyAgICB9KSkKKyAgICBhc3NlcnQgYm9vay50eXBlID09ICJCb29rIgorICAgIGFzc2VydCBib29rWyJhdXRob3IiXSBpcyBhbGljZQorCisgICAgb3V0X3BhdGggPSB0bXBkaXIgLyAicm9fY3JhdGVfb3V0IgorICAgIGNyYXRlLndyaXRlKG91dF9wYXRoKQorICAgIGFzc2VydCAob3V0X3BhdGggLyBmaWxlX2lkKS5pc19maWxlKCkKKyAgICBvdXRfY3JhdGUgPSBST0NyYXRlKG91dF9wYXRoKQorICAgIG91dF9hbGljZSA9IG91dF9jcmF0ZS5nZXQoYWxpY2VfaWQpCisgICAgb3V0X2JvYiA9IG91dF9jcmF0ZS5nZXQoYm9iX2lkKQorICAgIG91dF9kYXRhID0gb3V0X2NyYXRlLmdldChmaWxlX2lkKQorICAgIG91dF9hdXRob3JzID0gb3V0X2RhdGFbImF1dGhvciJdCisgICAgYXNzZXJ0IGxlbihvdXRfYXV0aG9ycykgPT0gMgorICAgIGFzc2VydCBvdXRfYXV0aG9yc1swXSBpcyBvdXRfYWxpY2UKKyAgICBhc3NlcnQgb3V0X2F1dGhvcnNbMV0gaXMgb3V0X2JvYgorICAgIGFzc2VydCBvdXRfYWxpY2UgPT0gYWxpY2UKKyAgICBhc3NlcnQgb3V0X2JvYiA9PSBib2IK'\"'\"'))'","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-1.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:31.415635Z","duration_s":0.023621,"timed_out":false,"image_before":"c544d08a-6aa9-3c25-b69f-facbf743ef79","image_after":"c4c855ff-ae00-4e0f-9485-341e20485ed1","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-researchobject__ro-crate-py-192-test.patch","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-2.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:32.654979Z","duration_s":0.003732,"timed_out":false,"image_before":"c4c855ff-ae00-4e0f-9485-341e20485ed1","image_after":"59ae0c97-1820-4ff6-a883-8b73b66d5cbc","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-85ececc3691248e3baeddb12fa7a4110/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-85ececc3691248e3baeddb12fa7a4110/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning test/test_model.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":"============================= test session starts ==============================\ncollected 27 items\n\ntest/test_model.py ..........................F                           [100%]\n\n=================================== FAILURES ===================================\nE   TypeError: Object of type Person is not JSON serializable\n/usr/local/lib/python3.10/json/encoder.py:179: TypeError: Object of type Person is not JSON serializable\n==================================== PASSES ====================================\n------------- generated xml file: /opt/receipts/reports/base-3.xml -------------\n=========================== short test summary info ============================\nPASSED test/test_model.py::test_dereferencing\nPASSED test/test_model.py::test_dereferencing_equivalent_id[.foo]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[foo.]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[.foo/]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[foo./]\nPASSED test/test_model.py::test_data_entities\nPASSED test/test_model.py::test_data_entities_perf\nPASSED test/test_model.py::test_remote_data_entities\nPASSED test/test_model.py::test_bad_data_entities\nPASSED test/test_model.py::test_contextual_entities\nPASSED test/test_model.py::test_contextual_entities_hash\nPASSED test/test_model.py::test_properties\nPASSED test/test_model.py::test_uuid\nPASSED test/test_model.py::test_update\nPASSED test/test_model.py::test_delete\nPASSED test/test_model.py::test_delete_refs\nPASSED test/test_model.py::test_delete_by_id\nPASSED test/test_model.py::test_self_delete\nPASSED test/test_model.py::test_entity_as_mapping\nPASSED test/test_model.py::test_wf_types\nPASSED test/test_model.py::test_append_to[False]\nPASSED test/test_model.py::test_append_to[True]\nPASSED test/test_model.py::test_get_by_type\nPASSED test/test_model.py::test_context\nPASSED test/test_model.py::test_add_no_duplicates\nPASSED test/test_model.py::test_immutable_id\nFAILED test/test_model.py::test_entity_in_properties - TypeError: Object of t...\n========================= 1 failed, 26 passed in 0.44s =========================\n","stderr_tail":"","stdout_sha256":"4be7717aadaa40d0cbc653e3fb90d780befdee410232f5a0770db06285128889","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-3.log","tree_digest":"d87e7c6dc0e44eaeb1499a40c41d2218a3585d91e0e93038b18870cb12d42316","tree_download_s":3.23297412507236,"started_at":"2026-10-03T17:48:33.918335Z","duration_s":1.012551,"timed_out":false,"image_before":"59ae0c97-1820-4ff6-a883-8b73b66d5cbc","image_after":"be17bfe0-a329-460e-9262-ecfb93ad52c3","junit":{"passed":["test/test_model.py::test_dereferencing","test/test_model.py::test_dereferencing_equivalent_id[.foo]","test/test_model.py::test_dereferencing_equivalent_id[foo.]","test/test_model.py::test_dereferencing_equivalent_id[.foo/]","test/test_model.py::test_dereferencing_equivalent_id[foo./]","test/test_model.py::test_data_entities","test/test_model.py::test_data_entities_perf","test/test_model.py::test_remote_data_entities","test/test_model.py::test_bad_data_entities","test/test_model.py::test_contextual_entities","test/test_model.py::test_contextual_entities_hash","test/test_model.py::test_properties","test/test_model.py::test_uuid","test/test_model.py::test_update","test/test_model.py::test_delete","test/test_model.py::test_delete_refs","test/test_model.py::test_delete_by_id","test/test_model.py::test_self_delete","test/test_model.py::test_entity_as_mapping","test/test_model.py::test_wf_types","test/test_model.py::test_append_to[False]","test/test_model.py::test_append_to[True]","test/test_model.py::test_get_by_type","test/test_model.py::test_context","test/test_model.py::test_add_no_duplicates","test/test_model.py::test_immutable_id"],"failed":["test/test_model.py::test_entity_in_properties"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"test/test_model.py::test_entity_in_properties":"TypeError: Object of type Person is not JSON serializable\nE   TypeError: Object of type Person is not JSON serializable"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-4","seq":4,"branch_id":"base","kind":"command","cmd":"/opt/receipts-a4307b69c3ae4dc4bb3b262cad044f2b/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-a4307b69c3ae4dc4bb3b262cad044f2b/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning test/test_model.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":"============================= test session starts ==============================\ncollected 27 items\n\ntest/test_model.py ..........................F                           [100%]\n\n=================================== FAILURES ===================================\nE   TypeError: Object of type Person is not JSON serializable\n/usr/local/lib/python3.10/json/encoder.py:179: TypeError: Object of type Person is not JSON serializable\n==================================== PASSES ====================================\n------------- generated xml file: /opt/receipts/reports/base-4.xml -------------\n=========================== short test summary info ============================\nPASSED test/test_model.py::test_dereferencing\nPASSED test/test_model.py::test_dereferencing_equivalent_id[.foo]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[foo.]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[.foo/]\nPASSED test/test_model.py::test_dereferencing_equivalent_id[foo./]\nPASSED test/test_model.py::test_data_entities\nPASSED test/test_model.py::test_data_entities_perf\nPASSED test/test_model.py::test_remote_data_entities\nPASSED test/test_model.py::test_bad_data_entities\nPASSED test/test_model.py::test_contextual_entities\nPASSED test/test_model.py::test_contextual_entities_hash\nPASSED test/test_model.py::test_properties\nPASSED test/test_model.py::test_uuid\nPASSED test/test_model.py::test_update\nPASSED test/test_model.py::test_delete\nPASSED test/test_model.py::test_delete_refs\nPASSED test/test_model.py::test_delete_by_id\nPASSED test/test_model.py::test_self_delete\nPASSED test/test_model.py::test_entity_as_mapping\nPASSED test/test_model.py::test_wf_types\nPASSED test/test_model.py::test_append_to[False]\nPASSED test/test_model.py::test_append_to[True]\nPASSED test/test_model.py::test_get_by_type\nPASSED test/test_model.py::test_context\nPASSED test/test_model.py::test_add_no_duplicates\nPASSED test/test_model.py::test_immutable_id\nFAILED test/test_model.py::test_entity_in_properties - TypeError: Object of t...\n========================= 1 failed, 26 passed in 0.44s =========================\n","stderr_tail":"","stdout_sha256":"994f716dbcc629f0d5ff1688a361f824e3ed2e6193ea559ad8865a216ec0a159","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-4.log","tree_digest":"d87e7c6dc0e44eaeb1499a40c41d2218a3585d91e0e93038b18870cb12d42316","tree_download_s":2.874545249855146,"started_at":"2026-10-03T17:48:42.037270Z","duration_s":0.968719,"timed_out":false,"image_before":"be17bfe0-a329-460e-9262-ecfb93ad52c3","image_after":"6787d655-d31d-49f1-8fd2-f1f583a24135","junit":{"passed":["test/test_model.py::test_dereferencing","test/test_model.py::test_dereferencing_equivalent_id[.foo]","test/test_model.py::test_dereferencing_equivalent_id[foo.]","test/test_model.py::test_dereferencing_equivalent_id[.foo/]","test/test_model.py::test_dereferencing_equivalent_id[foo./]","test/test_model.py::test_data_entities","test/test_model.py::test_data_entities_perf","test/test_model.py::test_remote_data_entities","test/test_model.py::test_bad_data_entities","test/test_model.py::test_contextual_entities","test/test_model.py::test_contextual_entities_hash","test/test_model.py::test_properties","test/test_model.py::test_uuid","test/test_model.py::test_update","test/test_model.py::test_delete","test/test_model.py::test_delete_refs","test/test_model.py::test_delete_by_id","test/test_model.py::test_self_delete","test/test_model.py::test_entity_as_mapping","test/test_model.py::test_wf_types","test/test_model.py::test_append_to[False]","test/test_model.py::test_append_to[True]","test/test_model.py::test_get_by_type","test/test_model.py::test_context","test/test_model.py::test_add_no_duplicates","test/test_model.py::test_immutable_id"],"failed":["test/test_model.py::test_entity_in_properties"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"test/test_model.py::test_entity_in_properties":"TypeError: Object of type Person is not JSON serializable\nE   TypeError: Object of type Person is not JSON serializable"}},"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('\"'\"'eyJ0ZXN0X2ZpbGVzIjpbInRlc3QvdGVzdF9tb2RlbC5weSJdLCJ0ZXN0X3Jvb3RzIjpbInRlc3QiXSwiY29uZmlnX25hbWVzIjpbIi5weXRlc3QudG9tbCIsImNvbmZ0ZXN0LnB5IiwicHlwcm9qZWN0LnRvbWwiLCJweXRlc3QuaW5pIiwicHl0ZXN0LnRvbWwiLCJzZXR1cC5jZmciLCJ0b3guaW5pIl19'\"'\"'))\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\": {\"setup.cfg\": \"eea8c378771d176f7f9c8b27b42a0050a798c4586e522185bed6f92a6974e988\", \"test/conftest.py\": \"0af6c616cccd167a3f4aee7d5b171e794045cfd42a50b65e2224adcc89af6719\"}, \"test_digests\": {\"test/__init__.py\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \"test/conftest.py\": \"0af6c616cccd167a3f4aee7d5b171e794045cfd42a50b65e2224adcc89af6719\", \"test/test-data/read_crate/abstract_wf.cwl\": \"0e1344b954e3f449fd14fe45ccd8043747ecf445ffb40af8e17f7c65823f8a7c\", \"test/test-data/read_crate/examples/README.txt\": \"f5f929435af9a6d25d99bb52daba53ac34099fea3c4dd8e7f776994e91bd7926\", \"test/test-data/read_crate/ro-crate-metadata.json\": \"09a5c79b1dd2e9aa11cc7eed2496df9e2b7f7229d877644d29f057b8975c4497\", \"test/test-data/read_crate/ro-crate-metadata.jsonld\": \"67f161a7f85d3223803b6f501e78a1aea69992cb5c3c2c09fa5c77097232374d\", \"test/test-data/read_crate/ro-crate-preview.html\": \"6b0e50787b9780c9ed9752e1530090327993305b41ad59d6e95544c8aedec9d0\", \"test/test-data/read_crate/test/test-metadata.json\": \"d07740aab78e2979239d561a15873a831b62c2ea5dda5c00540f2bd0cd192f09\", \"test/test-data/read_crate/test_file_galaxy.txt\": \"87fd80b617b9ece643c2ad9fa49da92e7901fd508041448fd617328ab4ea15b9\", \"test/test-data/read_crate/test_galaxy_wf.ga\": \"b2532e939ba0c844a729bc0d365980c62850c9b47d9575cace6e22eecd24a011\", \"test/test-data/read_extra/listed.txt\": \"8c237d4c934c014293c176d3ebf8754c9df03a06f85b17e2ae73d4f7c3aba6a3\", \"test/test-data/read_extra/listed/listed.txt\": \"8c237d4c934c014293c176d3ebf8754c9df03a06f85b17e2ae73d4f7c3aba6a3\", \"test/test-data/read_extra/listed/not_listed.txt\": \"fda3c35504af5f70dce7462edd2e097683d7b698c8c7cd854f4c8820292edcf2\", \"test/test-data/read_extra/not_listed.txt\": \"fda3c35504af5f70dce7462edd2e097683d7b698c8c7cd854f4c8820292edcf2\", \"test/test-data/read_extra/not_listed/not_listed.txt\": \"fda3c35504af5f70dce7462edd2e097683d7b698c8c7cd854f4c8820292edcf2\", \"test/test-data/read_extra/ro-crate-metadata.json\": \"2c8ff382ae92d5b5861848aa918df245aab46646ffc22c415d6afd528ecb8006\", \"test/test-data/ro-crate-galaxy-sortchangecase/LICENSE\": \"5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320\", \"test/test-data/ro-crate-galaxy-sortchangecase/README.md\": \"f0c4b86645921349234f0f6b933cc7b54619ab40e8bffa187a887e3a19d04131\", \"test/test-data/ro-crate-galaxy-sortchangecase/ro-crate-metadata.json\": \"94e071049f3fb7c8fe826df64d1d32128abc76ff2b9a1a4d390790bce3498a42\", \"test/test-data/ro-crate-galaxy-sortchangecase/sort-and-change-case.ga\": \"d285ff91bd20348f0dbd3f98dd6fc6e6d68ce440d6b919ad5d1ad5f9efd57009\", \"test/test-data/ro-crate-galaxy-sortchangecase/test/test1/input.bed\": \"67461fc6e288287e1f24cf389be628a25802cdc84f8df29e4224fd4795efbe2b\", \"test/test-data/ro-crate-galaxy-sortchangecase/test/test1/output_exp.bed\": \"1d223862303225d78e7ccfb048dd103bc7dfad5c2307fe319d117c79f0427e66\", \"test/test-data/ro-crate-galaxy-sortchangecase/test/test1/sort-and-change-case-test.yml\": \"dc0ed5af6ce0f17c31eb2492267517548f1a5a62e342ceb16f8119617e184b7d\", \"test/test-data/sample_cwl_wf.cwl\": \"0e1344b954e3f449fd14fe45ccd8043747ecf445ffb40af8e17f7c65823f8a7c\", \"test/test-data/sample_file.txt\": \"2751a3a2f303ad21752038085e2b8c5f98ecff61a2e4ebbd43506a941725be80\", \"test/test-data/test_add_dir/sample_file_subdir.txt\": \"66663af9c7aa341431a8ee2ff27b72abd06c9218f517bb6fef948e4803c19e03\", \"test/test-data/test_file_galaxy.txt\": \"87fd80b617b9ece643c2ad9fa49da92e7901fd508041448fd617328ab4ea15b9\", \"test/test-data/test_file_galaxy2.txt\": \"87fd80b617b9ece643c2ad9fa49da92e7901fd508041448fd617328ab4ea15b9\", \"test/test-data/test_galaxy_wf.ga\": \"b2532e939ba0c844a729bc0d365980c62850c9b47d9575cace6e22eecd24a011\", \"test/test_cli.py\": \"8087ab8ee1036751b3174860981493273c3ffb81cd502a0f6100af2b26f329e8\", \"test/test_jsonld.py\": \"82a66700d7f48c5646a28557d0df3619e653c8710a05dbbb7b07184876649c01\", \"test/test_metadata.py\": \"770071cd82471a106b76047d35192bee438e4a537404600c2565570932335bd2\", \"test/test_model.py\": \"4d21d43691e4dde9273991c7d2d9a01db2c79158b58b3765d80400bf87983670\", \"test/test_read.py\": \"61152bdfffe851bd46fd64d1df785acc82043c2406394a6a0c3c0ce342bd4fc9\", \"test/test_readwrite.py\": \"3f059f1a20ce83a17fc7d591fb0a3abf917e4297ad5b441c1106f52c8c7ec8db\", \"test/test_test_metadata.py\": \"3f607ee78f6dd9355a3aa91403162e9abd821c585f0f54d672a562d26a8c02b8\", \"test/test_utils.py\": \"2e1b83de2b2ca732ea1060aa5638c38035c0f953514b309de1ccc2dfbff5197f\", \"test/test_workflow_ro_crate.py\": \"cb1111acbfe18e0ffd1df776b46340ac80cb0777151f8696b5587c15b681655d\", \"test/test_write.py\": \"01892b2b2aa4ada077334da50f303a455a2f57871233a81dbc7df6973fa72645\"}}\n","stderr_tail":"","stdout_sha256":"309a7ea018d0bc90eba6c434b9bfa52fe4b8af3f652eaec800783d98dee72e83","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-5.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:48.039695Z","duration_s":0.033171,"timed_out":false,"image_before":"6787d655-d31d-49f1-8fd2-f1f583a24135","image_after":"c9afe999-2a3f-4952-a92d-610024848b3a","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":"aiohappyeyeballs==2.6.1\naiohttp==3.13.3\naiosignal==1.4.0\narcp==0.2.1\nasync-timeout==5.0.1\nattrs==25.4.0\nbioblend==1.8.0\nCacheControl==0.14.4\ncertifi==2026.1.4\ncharset-normalizer==3.4.4\nclick==8.3.1\nexceptiongroup==1.3.1\nfilelock==3.24.3\nfrozenlist==1.8.0\ngalaxy2cwl==0.1.4\ngxformat2==0.22.0\nidna==3.11\niniconfig==2.3.0\nisodate==0.7.2\nJinja2==3.1.6\nMarkupSafe==3.0.3\nmistune==3.1.4\nmsgpack==1.1.2\nmultidict==6.7.1\nmypy_extensions==1.1.0\npackaging==25.0\npip==25.3\npluggy==1.6.0\npropcache==0.4.1\nPygments==2.19.2\npyparsing==3.3.2\npytest==9.0.2\npython-dateutil==2.9.0.post0\nPyYAML==6.0.3\nrdflib==7.6.0\nrequests-toolbelt==1.0.0\nrequests==2.32.5\nrocrate==0.10.0\nruamel.yaml.clib==0.2.15\nruamel.yaml==0.18.17\nschema-salad==8.9.20251102115403\nsetuptools==80.9.0\nsix==1.17.0\ntinydb==4.8.2\ntomli==2.3.0\ntuspy==1.1.0\ntyping_extensions==4.15.0\nurllib3==2.6.3\nwheel==0.45.1\nyarl==1.22.0\n","stderr_tail":"","stdout_sha256":"795e538165d6249b871b678ad65066f1dbdba5252691f21fc5033fe2c0067b68","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-6.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:49.829152Z","duration_s":0.074646,"timed_out":false,"image_before":"c9afe999-2a3f-4952-a92d-610024848b3a","image_after":"0f9b791a-d548-4265-9c58-a02962d99783","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":"ff027c7259db67c828a10567a821d55cfffd8f55\n","stderr_tail":"","stdout_sha256":"239da95c89c50af1b7898540874fb620ab8ec5375738c24d28b715b1f2cf4dd3","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-7.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:51.641941Z","duration_s":0.021604,"timed_out":false,"image_before":"0f9b791a-d548-4265-9c58-a02962d99783","image_after":"6efbb9db-2c85-4e8f-8e23-301036cd79d3","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":"ff027c7259db67c828a10567a821d55cfffd8f55"}
{"receipt_id":"base-8","seq":8,"branch_id":"base","kind":"command","cmd":"git -c core.quotePath=false ls-tree -z --name-only ff027c7259db67c828a10567a821d55cfffd8f55","path":null,"exit_code":0,"stdout_tail":".dockerignore\u0000.github\u0000.gitignore\u0000CITATION.cff\u0000CONTRIBUTING.md\u0000Dockerfile\u0000LICENSE\u0000MANIFEST.in\u0000Makefile\u0000README.md\u0000examples\u0000notebooks\u0000requirements.txt\u0000rocrate\u0000setup.cfg\u0000setup.py\u0000test\u0000tools\u0000","stderr_tail":"","stdout_sha256":"d3db090c7e1b8b260801dee71bf4ae61dfc290a63857642e5333b044c777db9e","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-8.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:52.963579Z","duration_s":0.0047409999999999996,"timed_out":false,"image_before":"6efbb9db-2c85-4e8f-8e23-301036cd79d3","image_after":"9032c8b4-568a-495e-b6d1-a5fb4849b03b","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 ff027c7259db67c828a10567a821d55cfffd8f55:src","path":null,"exit_code":128,"stdout_tail":"","stderr_tail":"fatal: Not a valid object name ff027c7259db67c828a10567a821d55cfffd8f55:src\n","stdout_sha256":"1d20ea2f78b30cbe6cee09f610322bc0b81eed95e97937d117d55752875e3f1e","log_path":"~/dev/nebius-hackathon/pilot/v2-P/researchobject__ro-crate-py-192/runs/pilot-researchobject__ro-crate-py-192-ed0e4ed903/logs/base/base-9.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:48:54.140809Z","duration_s":0.003891,"timed_out":false,"image_before":"9032c8b4-568a-495e-b6d1-a5fb4849b03b","image_after":"7fc2676f-5d58-48ea-b2cb-ca14ff26a340","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
