{"receipt_id":"base-1","seq":1,"branch_id":"base","kind":"command","cmd":"python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-natcap__invest-787-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfZGVsaW5lYXRlaXQucHkgYi90ZXN0cy90ZXN0X2RlbGluZWF0ZWl0LnB5CmluZGV4IDcxZDllNWNlZC4uYTU2MWNjZGI4IDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0X2RlbGluZWF0ZWl0LnB5CisrKyBiL3Rlc3RzL3Rlc3RfZGVsaW5lYXRlaXQucHkKQEAgLTE4Myw5ICsxODMsMjAgQEAgY2xhc3MgRGVsaW5lYXRlSXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAgWzAsIDEsIDAsIDAsIDAsIDBdLA0KICAgICAgICAgICAgICBbMCwgMSwgMCwgMCwgMCwgMF1dLCBkdHlwZT1udW1weS5pbnQ4KQ0KICAgICAgICAgc3RyZWFtX3Jhc3Rlcl9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya3NwYWNlX2RpciwgJ3N0cmVhbXMudGlmJykNCisgICAgICAgIGZsb3dfYWNjdW1fYXJyYXkgPSBudW1weS5hcnJheSgNCisgICAgICAgICAgICBbWzEsIDUsIDEsIDEsIDEsIDFdLA0KKyAgICAgICAgICAgICBbMSwgNSwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFsxLCA1LCAxLCAxLCAxLCAxXSwNCisgICAgICAgICAgICAgWzEsIDUsIDEsIDEsIDEsIDFdLA0KKyAgICAgICAgICAgICBbMSwgNSwgNSwgNSwgNSwgNV0sDQorICAgICAgICAgICAgIFsxLCA1LCAxLCAxLCAxLCAxXSwNCisgICAgICAgICAgICAgWzEsIDUsIDEsIDEsIDEsIDFdXSwgZHR5cGU9bnVtcHkuaW50OCkNCisgICAgICAgIGZsb3dfYWNjdW1fcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLndvcmtzcGFjZV9kaXIsICdmbG93X2FjY3VtLnRpZicpDQogICAgICAgICAjIGJ5dGUgZGF0YXR5cGUNCiAgICAgICAgIHB5Z2VvcHJvY2Vzc2luZy5udW1weV9hcnJheV90b19yYXN0ZXIoDQogICAgICAgICAgICAgc3RyZWFtX21hdHJpeCwgMjU1LCAoMiwgLTIpLCAoMiwgLTIpLCB3a3QsIHN0cmVhbV9yYXN0ZXJfcGF0aCkNCisgICAgICAgIHB5Z2VvcHJvY2Vzc2luZy5udW1weV9hcnJheV90b19yYXN0ZXIoDQorICAgICAgICAgICAgZmxvd19hY2N1bV9hcnJheSwgMjU1LCAoMiwgLTIpLCAoMiwgLTIpLCB3a3QsIGZsb3dfYWNjdW1fcGF0aCkNCiANCiAgICAgICAgIHNvdXJjZV9wb2ludHNfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLndvcmtzcGFjZV9kaXIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9mZWF0dXJlcy5nZW9qc29uJykNCkBAIC0yMTYsMTMgKzIyNywxMyBAQCBjbGFzcyBEZWxpbmVhdGVJdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc25hcF9kaXN0YW5jZSA9IC0xDQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOg0KICAgICAgICAgICAgIGRlbGluZWF0ZWl0LnNuYXBfcG9pbnRzX3RvX25lYXJlc3Rfc3RyZWFtKA0KLSAgICAgICAgICAgICAgICBzb3VyY2VfcG9pbnRzX3BhdGgsIChzdHJlYW1fcmFzdGVyX3BhdGgsIDEpLA0KKyAgICAgICAgICAgICAgICBzb3VyY2VfcG9pbnRzX3BhdGgsIHN0cmVhbV9yYXN0ZXJfcGF0aCwgZmxvd19hY2N1bV9wYXRoLA0KICAgICAgICAgICAgICAgICBzbmFwX2Rpc3RhbmNlLCBzbmFwcGVkX3BvaW50c19wYXRoKQ0KICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdtdXN0IGJlID49IDAnIGluIHN0cihjbS5leGNlcHRpb24pKQ0KIA0KICAgICAgICAgc25hcF9kaXN0YW5jZSA9IDEwICAjIGxhcmdlIGVub3VnaCB0byBnZXQgbXVsdGlwbGUgc3RyZWFtcyBwZXIgcG9pbnQuDQogICAgICAgICBkZWxpbmVhdGVpdC5zbmFwX3BvaW50c190b19uZWFyZXN0X3N0cmVhbSgNCi0gICAgICAgICAgICBzb3VyY2VfcG9pbnRzX3BhdGgsIChzdHJlYW1fcmFzdGVyX3BhdGgsIDEpLA0KKyAgICAgICAgICAgIHNvdXJjZV9wb2ludHNfcGF0aCwgc3RyZWFtX3Jhc3Rlcl9wYXRoLCBmbG93X2FjY3VtX3BhdGgsDQogICAgICAgICAgICAgc25hcF9kaXN0YW5jZSwgc25hcHBlZF9wb2ludHNfcGF0aCkNCiANCiAgICAgICAgIHNuYXBwZWRfcG9pbnRzX3ZlY3RvciA9IGdkYWwuT3BlbkV4KHNuYXBwZWRfcG9pbnRzX3BhdGgsDQpAQCAtMjY1LDkgKzI3NiwyMCBAQCBjbGFzcyBEZWxpbmVhdGVJdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICBbMCwgMSwgMCwgMCwgMCwgMF0sDQogICAgICAgICAgICAgIFswLCAxLCAwLCAwLCAwLCAwXV0sIGR0eXBlPW51bXB5LmludDgpDQogICAgICAgICBzdHJlYW1fcmFzdGVyX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi53b3Jrc3BhY2VfZGlyLCAnc3RyZWFtcy50aWYnKQ0KKyAgICAgICAgZmxvd19hY2N1bV9hcnJheSA9IG51bXB5LmFycmF5KA0KKyAgICAgICAgICAgIFtbMSwgNSwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFsxLCA1LCAxLCAxLCAxLCAxXSwNCisgICAgICAgICAgICAgWzEsIDUsIDEsIDEsIDEsIDFdLA0KKyAgICAgICAgICAgICBbMSwgNSwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFsxLCA1LCA1LCA1LCA1LCA1XSwNCisgICAgICAgICAgICAgWzEsIDUsIDEsIDEsIDEsIDFdLA0KKyAgICAgICAgICAgICBbMSwgNSwgMSwgMSwgMSwgMV1dLCBkdHlwZT1udW1weS5pbnQ4KQ0KKyAgICAgICAgZmxvd19hY2N1bV9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya3NwYWNlX2RpciwgJ2Zsb3dfYWNjdW0udGlmJykNCiAgICAgICAgICMgYnl0ZSBkYXRhdHlwZQ0KICAgICAgICAgcHlnZW9wcm9jZXNzaW5nLm51bXB5X2FycmF5X3RvX3Jhc3RlcigNCiAgICAgICAgICAgICBzdHJlYW1fbWF0cml4LCAyNTUsICgyLCAtMiksICgyLCAtMiksIHdrdCwgc3RyZWFtX3Jhc3Rlcl9wYXRoKQ0KKyAgICAgICAgcHlnZW9wcm9jZXNzaW5nLm51bXB5X2FycmF5X3RvX3Jhc3RlcigNCisgICAgICAgICAgICBmbG93X2FjY3VtX2FycmF5LCAyNTUsICgyLCAtMiksICgyLCAtMiksIHdrdCwgZmxvd19hY2N1bV9wYXRoKQ0KIA0KICAgICAgICAgc291cmNlX3BvaW50c19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya3NwYWNlX2RpciwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlX2ZlYXR1cmVzLmdwa2cnKQ0KQEAgLTMwNCw3ICszMjYsNyBAQCBjbGFzcyBEZWxpbmVhdGVJdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc25hcHBlZF9wb2ludHMuZ3BrZycpDQogICAgICAgICBzbmFwX2Rpc3RhbmNlID0gMTAgICMgbGFyZ2UgZW5vdWdoIHRvIGdldCBtdWx0aXBsZSBzdHJlYW1zIHBlciBwb2ludC4NCiAgICAgICAgIGRlbGluZWF0ZWl0LnNuYXBfcG9pbnRzX3RvX25lYXJlc3Rfc3RyZWFtKA0KLSAgICAgICAgICAgIHNvdXJjZV9wb2ludHNfcGF0aCwgKHN0cmVhbV9yYXN0ZXJfcGF0aCwgMSksDQorICAgICAgICAgICAgc291cmNlX3BvaW50c19wYXRoLCBzdHJlYW1fcmFzdGVyX3BhdGgsIGZsb3dfYWNjdW1fcGF0aCwNCiAgICAgICAgICAgICBzbmFwX2Rpc3RhbmNlLCBzbmFwcGVkX3BvaW50c19wYXRoKQ0KIA0KICAgICAgICAgdHJ5Og0KQEAgLTMyNCw2ICszNDYsNjYgQEAgY2xhc3MgRGVsaW5lYXRlSXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBzbmFwcGVkX3BvaW50c19sYXllciA9IE5vbmUNCiAgICAgICAgICAgICBzbmFwcGVkX3BvaW50c192ZWN0b3IgPSBOb25lDQogDQorICAgIGRlZiB0ZXN0X3BvaW50X3NuYXBwaW5nX2JyZWFrX3RpZXMoc2VsZik6DQorICAgICAgICAiIiJEZWxpbmVhdGVJdDogZGlzdGFuY2UgdGllcyBhcmUgYnJva2VuIHVzaW5nIGZsb3cgYWNjdW11bGF0aW9uLiIiIg0KKyAgICAgICAgZnJvbSBuYXRjYXAuaW52ZXN0LmRlbGluZWF0ZWl0IGltcG9ydCBkZWxpbmVhdGVpdA0KKw0KKyAgICAgICAgc3JzID0gb3NyLlNwYXRpYWxSZWZlcmVuY2UoKQ0KKyAgICAgICAgc3JzLkltcG9ydEZyb21FUFNHKDMyNzMxKSAgIyBXR1M4NC9VVE0gem9uZSAzMXMNCisgICAgICAgIHdrdCA9IHNycy5FeHBvcnRUb1drdCgpDQorDQorICAgICAgICAjIG5lZWQgc3RyZWFtIGxheWVyLCBwb2ludHMNCisgICAgICAgIHN0cmVhbV9tYXRyaXggPSBudW1weS5hcnJheSgNCisgICAgICAgICAgICBbWzAsIDEsIDAsIDAsIDAsIDBdLA0KKyAgICAgICAgICAgICBbMCwgMSwgMCwgMCwgMCwgMF0sDQorICAgICAgICAgICAgIFswLCAxLCAwLCAwLCAwLCAwXSwNCisgICAgICAgICAgICAgWzAsIDEsIDAsIDAsIDAsIDBdLA0KKyAgICAgICAgICAgICBbMCwgMSwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFswLCAxLCAwLCAwLCAwLCAwXSwNCisgICAgICAgICAgICAgWzAsIDEsIDAsIDAsIDAsIDBdXSwgZHR5cGU9bnVtcHkuaW50OCkNCisgICAgICAgIHN0cmVhbV9yYXN0ZXJfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLndvcmtzcGFjZV9kaXIsICdzdHJlYW1zLnRpZicpDQorICAgICAgICBmbG93X2FjY3VtX2FycmF5ID0gbnVtcHkuYXJyYXkoDQorICAgICAgICAgICAgW1sxLCA1LCAxLCAxLCAxLCAxXSwNCisgICAgICAgICAgICAgWzEsIDUsIDEsIDEsIDEsIDFdLA0KKyAgICAgICAgICAgICBbMSwgNSwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFsxLCA1LCAxLCAxLCAxLCAxXSwNCisgICAgICAgICAgICAgWzEsIDUsIDksIDksIDksIDldLA0KKyAgICAgICAgICAgICBbMSwgNCwgMSwgMSwgMSwgMV0sDQorICAgICAgICAgICAgIFsxLCA0LCAxLCAxLCAxLCAxXV0sIGR0eXBlPW51bXB5LmludDgpDQorICAgICAgICBmbG93X2FjY3VtX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi53b3Jrc3BhY2VfZGlyLCAnZmxvd19hY2N1bS50aWYnKQ0KKyAgICAgICAgcHlnZW9wcm9jZXNzaW5nLm51bXB5X2FycmF5X3RvX3Jhc3RlcigNCisgICAgICAgICAgICBzdHJlYW1fbWF0cml4LCAyNTUsICgyLCAtMiksICgyLCAtMiksIHdrdCwgc3RyZWFtX3Jhc3Rlcl9wYXRoKQ0KKyAgICAgICAgcHlnZW9wcm9jZXNzaW5nLm51bXB5X2FycmF5X3RvX3Jhc3RlcigNCisgICAgICAgICAgICBmbG93X2FjY3VtX2FycmF5LCAtMSwgKDIsIC0yKSwgKDIsIC0yKSwgd2t0LCBmbG93X2FjY3VtX3BhdGgpDQorDQorICAgICAgICBzb3VyY2VfcG9pbnRzX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi53b3Jrc3BhY2VfZGlyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VfZmVhdHVyZXMuZ2VvanNvbicpDQorICAgICAgICBzb3VyY2VfZmVhdHVyZXMgPSBbUG9pbnQoOSwgLTcpXSAgIyBlcXVpZGlzdGFudCBmcm9tIHR3byBzdHJlYW1zDQorICAgICAgICBweWdlb3Byb2Nlc3Npbmcuc2hhcGVseV9nZW9tZXRyeV90b192ZWN0b3IoDQorICAgICAgICAgICAgc291cmNlX2ZlYXR1cmVzLCBzb3VyY2VfcG9pbnRzX3BhdGgsIHdrdCwgJ0dlb0pTT04nLA0KKyAgICAgICAgICAgIG9ncl9nZW9tX3R5cGU9b2dyLndrYlVua25vd24pDQorDQorICAgICAgICBzbmFwcGVkX3BvaW50c19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya3NwYWNlX2RpciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NuYXBwZWRfcG9pbnRzLmdwa2cnKQ0KKw0KKyAgICAgICAgc25hcF9kaXN0YW5jZSA9IDEwICAjIGxhcmdlIGVub3VnaCB0byBnZXQgbXVsdGlwbGUgc3RyZWFtcyBwZXIgcG9pbnQuDQorICAgICAgICBkZWxpbmVhdGVpdC5zbmFwX3BvaW50c190b19uZWFyZXN0X3N0cmVhbSgNCisgICAgICAgICAgICBzb3VyY2VfcG9pbnRzX3BhdGgsIHN0cmVhbV9yYXN0ZXJfcGF0aCwgZmxvd19hY2N1bV9wYXRoLA0KKyAgICAgICAgICAgIHNuYXBfZGlzdGFuY2UsIHNuYXBwZWRfcG9pbnRzX3BhdGgpDQorDQorICAgICAgICBzbmFwcGVkX3BvaW50c192ZWN0b3IgPSBnZGFsLk9wZW5FeChzbmFwcGVkX3BvaW50c19wYXRoLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RhbC5PRl9WRUNUT1IpDQorICAgICAgICBzbmFwcGVkX3BvaW50c19sYXllciA9IHNuYXBwZWRfcG9pbnRzX3ZlY3Rvci5HZXRMYXllcigpDQorDQorICAgICAgICAjIHNob3VsZCBzbmFwIHRvIHN0cmVhbSBwb2ludCBbNCwgM10gaW4gdGhlIGFycmF5IGFib3ZlDQorICAgICAgICAjIGlmIG5vdCBjb25zaWRlcmluZyBmbG93IGFjY3VtdWxhdGlvbiwgaXQgd291bGQgc25hcCB0byB0aGUNCisgICAgICAgICMgbmVhcmVzdCBzdHJlYW0gcG9pbnQgZm91bmQgZmlyc3QgaW4gdGhlIGFycmF5LCBhdCBbMiwgMV0NCisgICAgICAgIHBvaW50cyA9IFsNCisgICAgICAgICAgICBzaGFwZWx5LndrYi5sb2FkcyhieXRlcyhmZWF0dXJlLkdldEdlb21ldHJ5UmVmKCkuRXhwb3J0VG9Xa2IoKSkpDQorICAgICAgICAgICAgZm9yIGZlYXR1cmUgaW4gc25hcHBlZF9wb2ludHNfbGF5ZXJdDQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihwb2ludHMpLCAxKQ0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgocG9pbnRzWzBdLngsIHBvaW50c1swXS55KSwgKDksIC0xMSkpDQorDQogICAgIGRlZiB0ZXN0X2NoZWNrX2dlb21ldHJpZXMoc2VsZik6DQogICAgICAgICAiIiJEZWxpbmVhdGVJdDogQ2hlY2sgdGhhdCB3ZSBjYW4gcmVhc29uYWJseSByZXBhaXIgZ2VvbWV0cmllcy4iIiINCiAgICAgICAgIGZyb20gbmF0Y2FwLmludmVzdC5kZWxpbmVhdGVpdCBpbXBvcnQgZGVsaW5lYXRlaXQNCg=='\"'\"'))'","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"Error processing line 1 of /usr/local/lib/python3.10/site-packages/natcap_invest-3.9.2.post75+g0604628a5-nspkg.pth:\n\n  Traceback (most recent call last):\n    File \"/usr/local/lib/python3.10/site.py\", line 195, in addpackage\n      exec(line)\n    File \"<string>\", line 1, in <module>\n    File \"<frozen importlib._bootstrap>\", line 568, in module_from_spec\n  AttributeError: 'NoneType' object has no attribute 'loader'\n\nRemainder of file ignored\n","stdout_sha256":"a5985ba5e31e1f6c9301675905ddae1ee2110ad99f3af66afe4702658f823e1a","log_path":"~/dev/nebius-hackathon/pilot/v2-P/natcap__invest-787/runs/pilot-natcap__invest-787-c12b32de7f/logs/base/base-1.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:45:07.970577Z","duration_s":0.025846,"timed_out":false,"image_before":"f8cfb0e1-11d2-3f70-abcc-536fb9a3098e","image_after":"42e3f766-0138-41c4-b781-da2c3eda5601","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-natcap__invest-787-test.patch","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/natcap__invest-787/runs/pilot-natcap__invest-787-c12b32de7f/logs/base/base-2.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:45:10.082506Z","duration_s":0.004124,"timed_out":false,"image_before":"42e3f766-0138-41c4-b781-da2c3eda5601","image_after":"5dc525b8-dad9-4499-8d58-628f98945162","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-726974e8761d404ba280003d9ab77575/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-726974e8761d404ba280003d9ab77575/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/test_delineateit.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":"data/invest-test-data/delineateit/input/dem.tif: No such file or directory\n------------------------------ Captured log call -------------------------------\nERROR    taskgraph.Task:Task.py:716 Something went wrong when adding task fill_pits (0), terminating taskgraph.\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/taskgraph/Task.py\", line 684, in add_task\n    new_task._call()\n  File \"/usr/local/lib/python3.10/site-packages/taskgraph/Task.py\", line 1103, in _call\n    payload = self._func(*self._args, **self._kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/utils.py\", line 32, in wrapper\n    return func(*args, **kwargs)\n  File \"src/pygeoprocessing/routing/routing.pyx\", line 338, in pygeoprocessing.routing.routing.fill_pits\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/utils.py\", line 32, in wrapper\n    return func(*args, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/geoprocessing.py\", line 2104, in get_raster_info\n    raster = gdal.OpenEx(raster_path, gdal.OF_RASTER)\n  File \"/usr/local/lib/python3.10/site-packages/osgeo/gdal.py\", line 9278, in OpenEx\n    return _gdal.OpenEx(*args, **kwargs)\nRuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\n/usr/local/lib/python3.10/site-packages/osgeo/gdal.py:9278: RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\n/usr/local/lib/python3.10/site-packages/osgeo/gdal.py:9278: RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:229: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:392: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:328: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n=============================== warnings summary ===============================\ntests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array\n  /invest/src/natcap/__init__.py:3: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n    import pkg_resources\n\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\n  /invest/src/natcap/invest/delineateit/delineateit.py:412: FutureWarning: ReadingError is deprecated and will be removed in a future version. Use ShapelyError instead (functions previously raising {name} will now raise a ShapelyError instead).\n    except (shapely.errors.ReadingError, ValueError):\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n==================================== PASSES ====================================\n____________________ DelineateItTests.test_check_geometries ____________________\n----------------------------- Captured stderr call -----------------------------\nWarning 1: Self-intersection at or near point 4 -4\nWarning 1: Ring Self-intersection at or near point 4 -4\nWarning 1: IllegalArgumentException: Points of LinearRing do not form a closed linestring\n------------------------------ Captured log call -------------------------------\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:432 Feature 1 has no geometry. Skipping\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:438 Feature 2 does not intersect the DEM. Skipping.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:432 Feature 1 has no geometry. Skipping\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:438 Feature 2 does not intersect the DEM. Skipping.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 4 is invalid and will not be included in the set of features to be delineated.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 5 is invalid and will not be included in the set of features to be delineated.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 6 is invalid and will not be included in the set of features to be delineated.\n------------- generated xml file: /opt/receipts/reports/base-3.xml -------------\n=========================== short test summary info ============================\nPASSED tests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array\nPASSED tests/test_delineateit.py::DelineateItTests::test_check_geometries\nPASSED tests/test_delineateit.py::DelineateItTests::test_delineateit_validate\nPASSED tests/test_delineateit.py::DelineateItTests::test_find_pour_points_by_block\nFAILED tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette\nFAILED tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points\nFAILED tests/test_delineateit.py::DelineateItTests::test_detect_pour_points\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping - Typ...\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint\n=================== 6 failed, 4 passed, 4 warnings in 3.11s ====================\n","stderr_tail":"Error processing line 1 of /usr/local/lib/python3.10/site-packages/natcap_invest-3.9.2.post75+g0604628a5-nspkg.pth:\n\n  Traceback (most recent call last):\n    File \"/usr/local/lib/python3.10/site.py\", line 195, in addpackage\n      exec(line)\n    File \"<string>\", line 1, in <module>\n    File \"<frozen importlib._bootstrap>\", line 568, in module_from_spec\n  AttributeError: 'NoneType' object has no attribute 'loader'\n\nRemainder of file ignored\nERROR 1: sqlite3_exec(CREATE TABLE gpkg_extensions (table_name TEXT,column_name TEXT,extension_name TEXT NOT NULL,definition TEXT NOT NULL,scope TEXT NOT NULL,CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(UPDATE gpkg_contents SET min_x = 3, min_y = -5, max_x = 3, max_y = -5 WHERE lower(table_name) = lower('source_features') AND Lower(data_type) = 'features') failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(UPDATE gpkg_contents SET last_change = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE lower(table_name) = lower('source_features')) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(CREATE TRIGGER \"trigger_insert_feature_count_source_features\" AFTER INSERT ON \"source_features\" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('source_features'); END;) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(CREATE TRIGGER \"trigger_delete_feature_count_source_features\" AFTER DELETE ON \"source_features\" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('source_features'); END;) failed: attempt to write a readonly database\n","stdout_sha256":"96c80407462e377a143034339fdfd1c9d81540196a678b90259916411dc10878","log_path":"~/dev/nebius-hackathon/pilot/v2-P/natcap__invest-787/runs/pilot-natcap__invest-787-c12b32de7f/logs/base/base-3.log","tree_digest":"94a3ec6c79989740f1860658e59ac18339c84db1aa7099412f45c8547e30cd67","tree_download_s":4.585522166918963,"started_at":"2026-10-03T17:45:11.336369Z","duration_s":3.580981,"timed_out":false,"image_before":"5dc525b8-dad9-4499-8d58-628f98945162","image_after":"ec32088d-099a-4dbe-8e7b-13e33ff3796b","junit":{"passed":["tests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array","tests/test_delineateit.py::DelineateItTests::test_check_geometries","tests/test_delineateit.py::DelineateItTests::test_delineateit_validate","tests/test_delineateit.py::DelineateItTests::test_find_pour_points_by_block"],"failed":["tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette","tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points","tests/test_delineateit.py::DelineateItTests::test_detect_pour_points","tests/test_delineateit.py::DelineateItTests::test_point_snapping","tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties","tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_detect_pour_points":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_point_snapping":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given","tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given","tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-4","seq":4,"branch_id":"base","kind":"command","cmd":"/opt/receipts-661ea69744c14d978968c907600e8b49/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-661ea69744c14d978968c907600e8b49/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/test_delineateit.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":"data/invest-test-data/delineateit/input/dem.tif: No such file or directory\n------------------------------ Captured log call -------------------------------\nERROR    taskgraph.Task:Task.py:716 Something went wrong when adding task fill_pits (0), terminating taskgraph.\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/taskgraph/Task.py\", line 684, in add_task\n    new_task._call()\n  File \"/usr/local/lib/python3.10/site-packages/taskgraph/Task.py\", line 1103, in _call\n    payload = self._func(*self._args, **self._kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/utils.py\", line 32, in wrapper\n    return func(*args, **kwargs)\n  File \"src/pygeoprocessing/routing/routing.pyx\", line 338, in pygeoprocessing.routing.routing.fill_pits\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/utils.py\", line 32, in wrapper\n    return func(*args, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/pygeoprocessing/geoprocessing.py\", line 2104, in get_raster_info\n    raster = gdal.OpenEx(raster_path, gdal.OF_RASTER)\n  File \"/usr/local/lib/python3.10/site-packages/osgeo/gdal.py\", line 9278, in OpenEx\n    return _gdal.OpenEx(*args, **kwargs)\nRuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\n/usr/local/lib/python3.10/site-packages/osgeo/gdal.py:9278: RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\n/usr/local/lib/python3.10/site-packages/osgeo/gdal.py:9278: RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:229: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:392: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n/invest/tests/test_delineateit.py:328: TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\n=============================== warnings summary ===============================\ntests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array\n  /invest/src/natcap/__init__.py:3: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n    import pkg_resources\n\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\ntests/test_delineateit.py::DelineateItTests::test_check_geometries\n  /invest/src/natcap/invest/delineateit/delineateit.py:412: FutureWarning: ReadingError is deprecated and will be removed in a future version. Use ShapelyError instead (functions previously raising {name} will now raise a ShapelyError instead).\n    except (shapely.errors.ReadingError, ValueError):\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n==================================== PASSES ====================================\n____________________ DelineateItTests.test_check_geometries ____________________\n----------------------------- Captured stderr call -----------------------------\nWarning 1: Self-intersection at or near point 4 -4\nWarning 1: Ring Self-intersection at or near point 4 -4\nWarning 1: IllegalArgumentException: Points of LinearRing do not form a closed linestring\n------------------------------ Captured log call -------------------------------\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:432 Feature 1 has no geometry. Skipping\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:438 Feature 2 does not intersect the DEM. Skipping.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:432 Feature 1 has no geometry. Skipping\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:438 Feature 2 does not intersect the DEM. Skipping.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 4 is invalid and will not be included in the set of features to be delineated.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 5 is invalid and will not be included in the set of features to be delineated.\nWARNING  natcap.invest.delineateit.delineateit:delineateit.py:425 The geometry at feature 6 is invalid and will not be included in the set of features to be delineated.\n------------- generated xml file: /opt/receipts/reports/base-4.xml -------------\n=========================== short test summary info ============================\nPASSED tests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array\nPASSED tests/test_delineateit.py::DelineateItTests::test_check_geometries\nPASSED tests/test_delineateit.py::DelineateItTests::test_delineateit_validate\nPASSED tests/test_delineateit.py::DelineateItTests::test_find_pour_points_by_block\nFAILED tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette\nFAILED tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points\nFAILED tests/test_delineateit.py::DelineateItTests::test_detect_pour_points\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping - Typ...\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties\nFAILED tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint\n=================== 6 failed, 4 passed, 4 warnings in 3.12s ====================\n","stderr_tail":"Error processing line 1 of /usr/local/lib/python3.10/site-packages/natcap_invest-3.9.2.post75+g0604628a5-nspkg.pth:\n\n  Traceback (most recent call last):\n    File \"/usr/local/lib/python3.10/site.py\", line 195, in addpackage\n      exec(line)\n    File \"<string>\", line 1, in <module>\n    File \"<frozen importlib._bootstrap>\", line 568, in module_from_spec\n  AttributeError: 'NoneType' object has no attribute 'loader'\n\nRemainder of file ignored\nERROR 1: sqlite3_exec(CREATE TABLE gpkg_extensions (table_name TEXT,column_name TEXT,extension_name TEXT NOT NULL,definition TEXT NOT NULL,scope TEXT NOT NULL,CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(UPDATE gpkg_contents SET min_x = 3, min_y = -5, max_x = 3, max_y = -5 WHERE lower(table_name) = lower('source_features') AND Lower(data_type) = 'features') failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(UPDATE gpkg_contents SET last_change = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE lower(table_name) = lower('source_features')) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(CREATE TRIGGER \"trigger_insert_feature_count_source_features\" AFTER INSERT ON \"source_features\" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('source_features'); END;) failed: attempt to write a readonly database\nERROR 1: sqlite3_exec(CREATE TRIGGER \"trigger_delete_feature_count_source_features\" AFTER DELETE ON \"source_features\" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('source_features'); END;) failed: attempt to write a readonly database\n","stdout_sha256":"c1fa7e39d5188c207c531725238ebc42deaf10b3982985465ba3323a8d56cd86","log_path":"~/dev/nebius-hackathon/pilot/v2-P/natcap__invest-787/runs/pilot-natcap__invest-787-c12b32de7f/logs/base/base-4.log","tree_digest":"94a3ec6c79989740f1860658e59ac18339c84db1aa7099412f45c8547e30cd67","tree_download_s":4.8473025830462575,"started_at":"2026-10-03T17:45:24.520094Z","duration_s":3.478185,"timed_out":false,"image_before":"ec32088d-099a-4dbe-8e7b-13e33ff3796b","image_after":"727a680c-cd61-4407-bd39-619bcbc94d90","junit":{"passed":["tests/test_delineateit.py::DelineateItTests::test_calculate_pour_point_array","tests/test_delineateit.py::DelineateItTests::test_check_geometries","tests/test_delineateit.py::DelineateItTests::test_delineateit_validate","tests/test_delineateit.py::DelineateItTests::test_find_pour_points_by_block"],"failed":["tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette","tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points","tests/test_delineateit.py::DelineateItTests::test_detect_pour_points","tests/test_delineateit.py::DelineateItTests::test_point_snapping","tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties","tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_delineateit_willamette_detect_pour_points":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/dem.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_detect_pour_points":"RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory\nE   RuntimeError: /invest/tests/../data/invest-test-data/delineateit/input/flow_dir_gura.tif: No such file or directory","tests/test_delineateit.py::DelineateItTests::test_point_snapping":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given","tests/test_delineateit.py::DelineateItTests::test_point_snapping_break_ties":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given","tests/test_delineateit.py::DelineateItTests::test_point_snapping_multipoint":"TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given\nE   TypeError: snap_points_to_nearest_stream() takes 4 positional arguments but 5 were given"}},"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('\"'\"'eyJ0ZXN0X2ZpbGVzIjpbInRlc3RzL3Rlc3RfZGVsaW5lYXRlaXQucHkiXSwidGVzdF9yb290cyI6WyJ0ZXN0cyJdLCJjb25maWdfbmFtZXMiOlsiLnB5dGVzdC50b21sIiwiY29uZnRlc3QucHkiLCJweXByb2plY3QudG9tbCIsInB5dGVzdC5pbmkiLCJweXRlc3QudG9tbCIsInNldHVwLmNmZyIsInRveC5pbmkiXX0='\"'\"'))\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\": {\"pyproject.toml\": \"cf2fd541ba8e6c4c018e448d63c32ee919cb4bfa1a042fe9b068db4d6ebde6b4\"}, \"test_digests\": {\"tests/test_annual_water_yield.py\": \"3c9c8ccb558f8fe4eb20d582169fa9f43c1ccf05103ce7d555d97c04dbff659e\", \"tests/test_carbon.py\": \"61d324412abf4f5b3722689fed6879545ecce2c72de7953bbcb60b3a56f3aa92\", \"tests/test_cli.py\": \"a73cf8485118749d3c2ebc52f9569d20267eb5e0a5c7b3cef79f4fa5f5ec7a2b\", \"tests/test_coastal_blue_carbon.py\": \"ff3329a22f6ab848adb49d662c8fe4c6737a04833923bbfad21401872bac9311\", \"tests/test_coastal_vulnerability.py\": \"63fc19072ab0df6bf1812a714b56b2ecfa588882b658f778a91fdcea157cfc67\", \"tests/test_crop_production.py\": \"f414288a9470d58f41da1c9bed976e73bf1ef33bbd6bbd5cf29eace78e460ae7\", \"tests/test_datastack.py\": \"4fee7f4bbd0a03c995b6cf0ee94a2cdf25969223795d12292bf3da4bcf880614\", \"tests/test_delineateit.py\": \"088706211eec26ed8ea37c126da2227b20fc556c113c3f6376c570e6445749a7\", \"tests/test_finfish.py\": \"6f4918f7a057568ba752f06daba52fd2491d644847f2ba74bcab919658d9fbc7\", \"tests/test_fisheries.py\": \"2a2480362cf48bcfed5e1a0f2ece9e2ae4da64e8c29a8b0f9ed137750b0e5c44\", \"tests/test_forest_carbon_edge.py\": \"1fa98f09bdba9301a896961a1a39e56f6bde391ed4e07921315712a971c401a1\", \"tests/test_globio.py\": \"70d87ce0912c06c1c055e3e7701d64924da49749761fffe6c5f9e62847774793\", \"tests/test_habitat_quality.py\": \"45ee1d96b855733ba3e90228254da8b85b34050f5d7c02a534a99d6e0a69b8de\", \"tests/test_hra.py\": \"c434e0a98a4c88f9e4ddc431163099dbec015b1c92aec1ae9ef3949110becaa3\", \"tests/test_invest.py\": \"c087b8525b8fea35d98f4d7a10fc9ec6657d144e07959d4463998b790e513eec\", \"tests/test_ndr.py\": \"0202d691e73195cf348075b164d9e0a33ee393c0e8764554316721b263e4e7bc\", \"tests/test_pollination.py\": \"fe63740e3ff47045793e4128463d67b6ce4dcd73c6b22f69273a09a0a9e07500\", \"tests/test_recreation.py\": \"1c4c72ad57b8b483cc4ddd3037041c966f0f01c90fa7b5dcbfca22fd9bd0baa5\", \"tests/test_reporting.py\": \"adf7750406e1db01e1384082d9bee23bd49c8368bb5c3ea6ba07d0662033d975\", \"tests/test_routedem.py\": \"5ea3d413363ac9adc3ef64b12d0a405777a270809ff0219ac31f4ac895f11044\", \"tests/test_scenario_proximity.py\": \"7470cb14a3606e31fb7a78551027fe8cd2295320baf1f890ba8270dd4003265e\", \"tests/test_scenic_quality.py\": \"629259b688f946b16f0a9e0261236fcb634c87caf0dc16c56238f5e767fa0957\", \"tests/test_sdr.py\": \"bfbf507e3531f5427740e06d648d937c5979430682486e49e59b1fcf6e8fcb03\", \"tests/test_seasonal_water_yield_regression.py\": \"533ffe5f8a2df022de8fa306e0a800c29921c2ebea6f6c8774db2181e9c7afbc\", \"tests/test_ucm.py\": \"93ef2dac71734956cbf169052bb195713879493732c7218d7dc182a77ef8c769\", \"tests/test_ufrm.py\": \"8a055f8cc6b0977448032b1d43d6d1ef408f4c6f7a8c6223ebaa896727dfb453\", \"tests/test_utils.py\": \"caaf08dad5620a859f58dc9f635ac725ec2d7f18d53ed490209eab69a0f9b07d\", \"tests/test_validation.py\": \"cae1244921cb64d145fba249d47dabde7280bd4b8995a2f31c3074ac0aea78c4\", \"tests/test_wave_energy.py\": \"a9e17a48c791f0fac7440e2cb09dc32bfeb24fbbd45c12c09f61bd5fbf7de9f3\", \"tests/test_wind_energy.py\": \"5c35e0faa93e20b4f86fc4978a704222c00b8549d7002fe05400300c3fc2516c\"}}\n","stderr_tail":"Error processing line 1 of /usr/local/lib/python3.10/site-packages/natcap_invest-3.9.2.post75+g0604628a5-nspkg.pth:\n\n  Traceback (most recent call last):\n    File \"/usr/local/lib/python3.10/site.py\", line 195, in addpackage\n      exec(line)\n    File \"<string>\", line 1, in <module>\n    File \"<frozen importlib._bootstrap>\", line 568, in module_from_spec\n  AttributeError: 'NoneType' object has no attribute 'loader'\n\nRemainder of file ignored\n","stdout_sha256":"6dd0ce95958aabf3fc4cd84bc645f56f703ac46e04a870edf2b86a785bffbd16","log_path":"~/dev/nebius-hackathon/pilot/v2-P/natcap__invest-787/runs/pilot-natcap__invest-787-c12b32de7f/logs/base/base-5.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:45:37.791651Z","duration_s":0.038091,"timed_out":false,"image_before":"727a680c-cd61-4407-bd39-619bcbc94d90","image_after":"10cdad7f-1167-427e-a4e1-15f5dcdc41dd","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
