{"receipt_id":"w1-1","seq":1,"branch_id":"w1","kind":"apply","cmd":"git update-index -q --refresh; git apply -v --3way --recount --ignore-space-change --whitespace=nowarn /opt/receipts-983ff1c8fa3e41b5a5b9b837be782ae9/incoming/c35f90ef7994b1a70b6cdd89dda7b3d8f8d9b33dbecaa3487945ae43aaa3afec.diff","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"Checking patch pyinaturalist/rest_api.py...\nApplied patch to 'pyinaturalist/rest_api.py' cleanly.\nApplied patch pyinaturalist/rest_api.py cleanly.\n","stdout_sha256":"a4aadad0b61bab1416d98d0557a0a169a48968347d96a737e4603d05550fdad7","log_path":"~/dev/nebius-hackathon/pilot/v2-arm-lightning/niconoe__pyinaturalist-72/runs/pilot-niconoe__pyinaturalist-72-760c33eda0/logs/w1/w1-1.log","tree_digest":"37a370a025baa9546589ef7276fc63b04c39834b2b21e1ba5d36addb63c6ba06","tree_download_s":2.9265205000992864,"started_at":"2026-10-03T21:49:01.761097Z","duration_s":0.007403,"timed_out":false,"image_before":"218a1633-0f37-4404-bf70-ef109467272b","image_after":"594b28cc-f069-4cee-a109-6cea35a50cfc","junit":null,"diff":null,"patch_sha256":"c35f90ef7994b1a70b6cdd89dda7b3d8f8d9b33dbecaa3487945ae43aaa3afec","dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"w1-2","seq":2,"branch_id":"w1","kind":"verification","cmd":"/opt/receipts-e6385572f69c494eaab00df6d143e0f4/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-e6385572f69c494eaab00df6d143e0f4/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning test/conftest.py test/manual_tests/obs_crud_test.py test/test_request_params.py test/test_rest_api.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/w1-2.xml","path":null,"exit_code":0,"stdout_tail":"ime_params[q-value5-1954-02-05]\nPASSED test/test_request_params.py::test_convert_datetime_params[q-value6-1954-02-05T00:00:00-08:00]\nPASSED test/test_request_params.py::test_convert_datetime_params[q-not a datetime-not a datetime]\nPASSED test/test_request_params.py::test_convert_list_params\nPASSED test/test_request_params.py::test_convert_observation_fields\nPASSED test/test_request_params.py::test_ensure_file_obj__file_path\nPASSED test/test_request_params.py::test_ensure_file_obj__file_obj\nPASSED test/test_request_params.py::test_strip_empty_params\nPASSED test/test_request_params.py::test_validate_ids[1-1_0]\nPASSED test/test_request_params.py::test_validate_ids[1-1_1]\nPASSED test/test_request_params.py::test_validate_ids[1,2,3-1,2,3]\nPASSED test/test_request_params.py::test_validate_ids[value3-1,2,3]\nPASSED test/test_request_params.py::test_validate_ids[value4-100000,200000]\nPASSED test/test_request_params.py::test_validate_ids__invalid[NaN]\nPASSED test/test_request_params.py::test_validate_ids__invalid[]\nPASSED test/test_request_params.py::test_validate_ids__invalid[None]\nPASSED test/test_request_params.py::test_validate_ids__invalid[value3]\nPASSED test/test_request_params.py::test_preprocess_request_params\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_all_observation_species_counts]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_all_observations]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_geojson_observations]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observation]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observation_species_counts]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observations]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_autocomplete]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_by_id]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_nearby]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_projects]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_projects_by_id]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa_autocomplete]\nPASSED test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa_by_id]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[delete_observation]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_access_token]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_all_observation_fields]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_observation_fields]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_observations]\nPASSED test/test_request_params.py::test_all_rest_requests_use_param_conversion[put_observation_field_values]\nPASSED test/test_request_params.py::test_validate_multiple_choice_param\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params0]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params1]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params2]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params3]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params4]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params5]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params6]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params7]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params8]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params9]\nPASSED test/test_request_params.py::test_validate_multiple_choice_params[params10]\nPASSED test/test_rest_api.py::test_get_observations[atom]\nPASSED test/test_rest_api.py::test_get_observations[csv]\nPASSED test/test_rest_api.py::test_get_observations[dwc]\nPASSED test/test_rest_api.py::test_get_observations[json]\nPASSED test/test_rest_api.py::test_get_observations[kml]\nPASSED test/test_rest_api.py::test_get_observations[widget]\nPASSED test/test_rest_api.py::test_get_observations__invalid_format[geojson]\nPASSED test/test_rest_api.py::test_get_observations__invalid_format[yaml]\nPASSED test/test_rest_api.py::test_get_observation_fields\nPASSED test/test_rest_api.py::test_get_all_observation_fields\nPASSED test/test_rest_api.py::test_get_all_observation_fields_noparam\nPASSED test/test_rest_api.py::test_put_observation_field_values\nPASSED test/test_rest_api.py::test_get_access_token\nPASSED test/test_rest_api.py::test_get_access_token__envars\nPASSED test/test_rest_api.py::test_get_access_token__mixed_args_and_envars\nPASSED test/test_rest_api.py::test_get_access_token__missing_creds\nPASSED test/test_rest_api.py::test_get_access_token__invalid_creds\nPASSED test/test_rest_api.py::test_update_observation\nPASSED test/test_rest_api.py::test_update_observation__local_photo\nPASSED test/test_rest_api.py::test_update_nonexistent_observation\nPASSED test/test_rest_api.py::test_update_observation_not_mine\nPASSED test/test_rest_api.py::test_create_observation\nPASSED test/test_rest_api.py::test_create_observation__local_photo\nPASSED test/test_rest_api.py::test_create_observation_fail\nPASSED test/test_rest_api.py::test_add_photo_to_observation\nPASSED test/test_rest_api.py::test_delete_observation\nPASSED test/test_rest_api.py::test_delete_unexisting_observation\n============================== 83 passed in 2.38s ==============================\n","stderr_tail":"","stdout_sha256":"792b748c4dcee1bb139745c837e27fe4b2b1aeb080ca15480bb8cef8d0d26f19","log_path":"~/dev/nebius-hackathon/pilot/v2-arm-lightning/niconoe__pyinaturalist-72/runs/pilot-niconoe__pyinaturalist-72-760c33eda0/logs/w1/w1-2.log","tree_digest":"37a370a025baa9546589ef7276fc63b04c39834b2b21e1ba5d36addb63c6ba06","tree_download_s":2.763018208090216,"started_at":"2026-10-03T21:49:06.517758Z","duration_s":1.04749,"timed_out":false,"image_before":"594b28cc-f069-4cee-a109-6cea35a50cfc","image_after":"c3495d60-9e22-43c6-8053-7f1c429aaa02","junit":{"passed":["test/test_request_params.py::test_convert_bool_params","test/test_request_params.py::test_convert_datetime_params[created_d1-19951231T235959-1995-12-31T23:59:59-08:00]","test/test_request_params.py::test_convert_datetime_params[created_d2-2008-08-08 08:08:08Z-2008-08-08T08:08:08+00:00]","test/test_request_params.py::test_convert_datetime_params[created_on-2010-10-10 10:10:10-05:00-2010-10-10T10:10:10-05:00]","test/test_request_params.py::test_convert_datetime_params[created_on-Jan 1 2000-2000-01-01T00:00:00-08:00]","test/test_request_params.py::test_convert_datetime_params[d1-19970716-1997-07-16T00:00:00-07:00]","test/test_request_params.py::test_convert_datetime_params[q-value5-1954-02-05]","test/test_request_params.py::test_convert_datetime_params[q-value6-1954-02-05T00:00:00-08:00]","test/test_request_params.py::test_convert_datetime_params[q-not a datetime-not a datetime]","test/test_request_params.py::test_convert_list_params","test/test_request_params.py::test_convert_observation_fields","test/test_request_params.py::test_ensure_file_obj__file_path","test/test_request_params.py::test_ensure_file_obj__file_obj","test/test_request_params.py::test_strip_empty_params","test/test_request_params.py::test_validate_ids[1-1_0]","test/test_request_params.py::test_validate_ids[1-1_1]","test/test_request_params.py::test_validate_ids[1,2,3-1,2,3]","test/test_request_params.py::test_validate_ids[value3-1,2,3]","test/test_request_params.py::test_validate_ids[value4-100000,200000]","test/test_request_params.py::test_validate_ids__invalid[NaN]","test/test_request_params.py::test_validate_ids__invalid[]","test/test_request_params.py::test_validate_ids__invalid[None]","test/test_request_params.py::test_validate_ids__invalid[value3]","test/test_request_params.py::test_preprocess_request_params","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_all_observation_species_counts]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_all_observations]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_geojson_observations]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observation]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observation_species_counts]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_observations]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_autocomplete]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_by_id]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_places_nearby]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_projects]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_projects_by_id]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa_autocomplete]","test/test_request_params.py::test_all_node_requests_use_param_conversion[get_taxa_by_id]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[delete_observation]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_access_token]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_all_observation_fields]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_observation_fields]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[get_observations]","test/test_request_params.py::test_all_rest_requests_use_param_conversion[put_observation_field_values]","test/test_request_params.py::test_validate_multiple_choice_param","test/test_request_params.py::test_validate_multiple_choice_params[params0]","test/test_request_params.py::test_validate_multiple_choice_params[params1]","test/test_request_params.py::test_validate_multiple_choice_params[params2]","test/test_request_params.py::test_validate_multiple_choice_params[params3]","test/test_request_params.py::test_validate_multiple_choice_params[params4]","test/test_request_params.py::test_validate_multiple_choice_params[params5]","test/test_request_params.py::test_validate_multiple_choice_params[params6]","test/test_request_params.py::test_validate_multiple_choice_params[params7]","test/test_request_params.py::test_validate_multiple_choice_params[params8]","test/test_request_params.py::test_validate_multiple_choice_params[params9]","test/test_request_params.py::test_validate_multiple_choice_params[params10]","test/test_rest_api.py::test_get_observations[atom]","test/test_rest_api.py::test_get_observations[csv]","test/test_rest_api.py::test_get_observations[dwc]","test/test_rest_api.py::test_get_observations[json]","test/test_rest_api.py::test_get_observations[kml]","test/test_rest_api.py::test_get_observations[widget]","test/test_rest_api.py::test_get_observations__invalid_format[geojson]","test/test_rest_api.py::test_get_observations__invalid_format[yaml]","test/test_rest_api.py::test_get_observation_fields","test/test_rest_api.py::test_get_all_observation_fields","test/test_rest_api.py::test_get_all_observation_fields_noparam","test/test_rest_api.py::test_put_observation_field_values","test/test_rest_api.py::test_get_access_token","test/test_rest_api.py::test_get_access_token__envars","test/test_rest_api.py::test_get_access_token__mixed_args_and_envars","test/test_rest_api.py::test_get_access_token__missing_creds","test/test_rest_api.py::test_get_access_token__invalid_creds","test/test_rest_api.py::test_update_observation","test/test_rest_api.py::test_update_observation__local_photo","test/test_rest_api.py::test_update_nonexistent_observation","test/test_rest_api.py::test_update_observation_not_mine","test/test_rest_api.py::test_create_observation","test/test_rest_api.py::test_create_observation__local_photo","test/test_rest_api.py::test_create_observation_fail","test/test_rest_api.py::test_add_photo_to_observation","test/test_rest_api.py::test_delete_observation","test/test_rest_api.py::test_delete_unexisting_observation"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
