test_cancellation_marker_prevents_committed_result (test_engine.EngineTests.test_cancellation_marker_prevents_committed_result) ... FAIL
test_changed_source_rejects_stale_context_before_writing (test_engine.EngineTests.test_changed_source_rejects_stale_context_before_writing) ... FAIL
test_definition_tampering_invalidates_saved_result (test_engine.EngineTests.test_definition_tampering_invalidates_saved_result) ... FAIL
test_duplicate_customer_blocks_join_and_release_but_not_computation (test_engine.EngineTests.test_duplicate_customer_blocks_join_and_release_but_not_computation) ... FAIL
test_duplicate_json_keys_are_rejected (test_engine.EngineTests.test_duplicate_json_keys_are_rejected) ... FAIL
test_duplicate_transaction_ids_are_invalid (test_engine.EngineTests.test_duplicate_transaction_ids_are_invalid) ... FAIL
test_eligibility_does_not_grant_human_approval (test_engine.EngineTests.test_eligibility_does_not_grant_human_approval) ... FAIL
test_existing_input_symlink_cannot_escape_workspace (test_engine.EngineTests.test_existing_input_symlink_cannot_escape_workspace) ... skipped 'file symlink creation unavailable for this account'
test_existing_output_symlink_cannot_escape_workspace (test_engine.EngineTests.test_existing_output_symlink_cannot_escape_workspace) ... skipped 'directory symlink creation unavailable for this account'
test_invalid_numeric_data_cannot_produce_metrics (test_engine.EngineTests.test_invalid_numeric_data_cannot_produce_metrics) ... FAIL
test_malformed_json_is_rejected (test_engine.EngineTests.test_malformed_json_is_rejected) ... FAIL
test_missing_context_cannot_analyze (test_engine.EngineTests.test_missing_context_cannot_analyze) ... FAIL
test_missing_input_is_structured_failure (test_engine.EngineTests.test_missing_input_is_structured_failure) ... FAIL
test_missing_saved_result_is_failure (test_engine.EngineTests.test_missing_saved_result_is_failure) ... FAIL
test_no_overwrite_on_request_id_collision (test_engine.EngineTests.test_no_overwrite_on_request_id_collision) ... FAIL
test_nonstandard_json_constants_are_rejected (test_engine.EngineTests.test_nonstandard_json_constants_are_rejected) ... FAIL
test_operator_can_run_from_unrelated_working_directory (test_engine.EngineTests.test_operator_can_run_from_unrelated_working_directory) ... FAIL
test_output_cannot_escape_workspace (test_engine.EngineTests.test_output_cannot_escape_workspace) ... FAIL
test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) ... 
  test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='data') ... FAIL
  test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='data/nested') ... FAIL
  test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='contracts') ... FAIL
  test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='src') ... FAIL
  test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='.') ... FAIL
test_output_lock_refuses_second_writer (test_engine.EngineTests.test_output_lock_refuses_second_writer) ... FAIL
test_pooled_denominator_not_mean_of_group_rates (test_engine.EngineTests.test_pooled_denominator_not_mean_of_group_rates) ... FAIL
test_receipt_tampering_is_detected (test_engine.EngineTests.test_receipt_tampering_is_detected) ... FAIL
test_request_identifier_cannot_escape_output (test_engine.EngineTests.test_request_identifier_cannot_escape_output) ... FAIL
test_result_tampering_is_detected (test_engine.EngineTests.test_result_tampering_is_detected) ... FAIL
test_return_stays_negative (test_engine.EngineTests.test_return_stays_negative) ... FAIL
test_saved_result_verifies_against_current_inputs (test_engine.EngineTests.test_saved_result_verifies_against_current_inputs) ... FAIL
test_source_tampering_invalidates_saved_result (test_engine.EngineTests.test_source_tampering_invalidates_saved_result) ... FAIL
test_tool_arguments_cannot_choose_paths (test_engine.EngineTests.test_tool_arguments_cannot_choose_paths) ... FAIL
test_truthful_native_and_host_statuses (test_engine.EngineTests.test_truthful_native_and_host_statuses) ... FAIL
test_unknown_is_distinct_from_observed_zero (test_engine.EngineTests.test_unknown_is_distinct_from_observed_zero) ... FAIL
test_unknown_request_fields_are_rejected (test_engine.EngineTests.test_unknown_request_fields_are_rejected) ... FAIL
test_unknown_tool_is_rejected (test_engine.EngineTests.test_unknown_tool_is_rejected) ... FAIL
test_wrong_argument_type_is_rejected (test_engine.EngineTests.test_wrong_argument_type_is_rejected) ... FAIL
test_zero_eligible_is_unknown_and_blocks_release (test_engine.EngineTests.test_zero_eligible_is_unknown_and_blocks_release) ... FAIL

======================================================================
FAIL: test_cancellation_marker_prevents_committed_result (test_engine.EngineTests.test_cancellation_marker_prevents_committed_result)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 183, in test_cancellation_marker_prevents_committed_result
    self.error(self.invoke("analyze", {"expected_source_digest": self.inspect()}, extra=("--cancel-file", str(marker))), "CANCELLED")
                                                                 ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_changed_source_rejects_stale_context_before_writing (test_engine.EngineTests.test_changed_source_rejects_stale_context_before_writing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 107, in test_changed_source_rejects_stale_context_before_writing
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_definition_tampering_invalidates_saved_result (test_engine.EngineTests.test_definition_tampering_invalidates_saved_result)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 203, in test_definition_tampering_invalidates_saved_result
    self.analyze()
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_duplicate_customer_blocks_join_and_release_but_not_computation (test_engine.EngineTests.test_duplicate_customer_blocks_join_and_release_but_not_computation)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 77, in test_duplicate_customer_blocks_join_and_release_but_not_computation
    result = self.analyze()["result"]
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_duplicate_json_keys_are_rejected (test_engine.EngineTests.test_duplicate_json_keys_are_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 126, in test_duplicate_json_keys_are_rejected
    self.error(self.invoke(raw='{"request_id":"a","request_id":"b","tool":"inspect_inputs","arguments":{}}'), "INVALID_JSON")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_JSON'
- NOT_IMPLEMENTED
+ INVALID_JSON


======================================================================
FAIL: test_duplicate_transaction_ids_are_invalid (test_engine.EngineTests.test_duplicate_transaction_ids_are_invalid)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 230, in test_duplicate_transaction_ids_are_invalid
    self.error(self.invoke(), "INVALID_DATA")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_DATA'
- NOT_IMPLEMENTED
+ INVALID_DATA


======================================================================
FAIL: test_eligibility_does_not_grant_human_approval (test_engine.EngineTests.test_eligibility_does_not_grant_human_approval)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 88, in test_eligibility_does_not_grant_human_approval
    result = self.analyze()["result"]
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_invalid_numeric_data_cannot_produce_metrics (test_engine.EngineTests.test_invalid_numeric_data_cannot_produce_metrics)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 225, in test_invalid_numeric_data_cannot_produce_metrics
    self.error(self.invoke(), "INVALID_DATA")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_DATA'
- NOT_IMPLEMENTED
+ INVALID_DATA


======================================================================
FAIL: test_malformed_json_is_rejected (test_engine.EngineTests.test_malformed_json_is_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 129, in test_malformed_json_is_rejected
    self.error(self.invoke(raw="{broken"), "INVALID_JSON")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_JSON'
- NOT_IMPLEMENTED
+ INVALID_JSON


======================================================================
FAIL: test_missing_context_cannot_analyze (test_engine.EngineTests.test_missing_context_cannot_analyze)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 104, in test_missing_context_cannot_analyze
    self.error(self.invoke("analyze"), "MISSING_CONTEXT")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'MISSING_CONTEXT'
- NOT_IMPLEMENTED
+ MISSING_CONTEXT


======================================================================
FAIL: test_missing_input_is_structured_failure (test_engine.EngineTests.test_missing_input_is_structured_failure)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 100, in test_missing_input_is_structured_failure
    self.error(self.invoke(), "MISSING_INPUT")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'MISSING_INPUT'
- NOT_IMPLEMENTED
+ MISSING_INPUT


======================================================================
FAIL: test_missing_saved_result_is_failure (test_engine.EngineTests.test_missing_saved_result_is_failure)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 194, in test_missing_saved_result_is_failure
    self.error(self.invoke("verify_result", {"run_id": "absent"}), "MISSING_RESULT")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'MISSING_RESULT'
- NOT_IMPLEMENTED
+ MISSING_RESULT


======================================================================
FAIL: test_no_overwrite_on_request_id_collision (test_engine.EngineTests.test_no_overwrite_on_request_id_collision)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 168, in test_no_overwrite_on_request_id_collision
    first = self.analyze()
            ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_nonstandard_json_constants_are_rejected (test_engine.EngineTests.test_nonstandard_json_constants_are_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 132, in test_nonstandard_json_constants_are_rejected
    self.error(self.invoke(raw='{"request_id":"x","tool":"inspect_inputs","arguments":{"x":NaN}}'), "INVALID_JSON")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_JSON'
- NOT_IMPLEMENTED
+ INVALID_JSON


======================================================================
FAIL: test_operator_can_run_from_unrelated_working_directory (test_engine.EngineTests.test_operator_can_run_from_unrelated_working_directory)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 241, in test_operator_can_run_from_unrelated_working_directory
    self.assertTrue(response["ok"])
AssertionError: False is not true

======================================================================
FAIL: test_output_cannot_escape_workspace (test_engine.EngineTests.test_output_cannot_escape_workspace)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 138, in test_output_cannot_escape_workspace
    self.error(self.invoke(output="../outside"), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='data')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 144, in test_output_cannot_overlap_sources_or_their_ancestor
    self.error(self.invoke(output=output), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='data/nested')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 144, in test_output_cannot_overlap_sources_or_their_ancestor
    self.error(self.invoke(output=output), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='contracts')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 144, in test_output_cannot_overlap_sources_or_their_ancestor
    self.error(self.invoke(output=output), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='src')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 144, in test_output_cannot_overlap_sources_or_their_ancestor
    self.error(self.invoke(output=output), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_cannot_overlap_sources_or_their_ancestor (test_engine.EngineTests.test_output_cannot_overlap_sources_or_their_ancestor) (output='.')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 144, in test_output_cannot_overlap_sources_or_their_ancestor
    self.error(self.invoke(output=output), "PATH_BOUNDARY")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'PATH_BOUNDARY'
- NOT_IMPLEMENTED
+ PATH_BOUNDARY


======================================================================
FAIL: test_output_lock_refuses_second_writer (test_engine.EngineTests.test_output_lock_refuses_second_writer)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 177, in test_output_lock_refuses_second_writer
    self.error(self.invoke("analyze", {"expected_source_digest": self.inspect()}), "OUTPUT_BUSY")
                                                                 ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_pooled_denominator_not_mean_of_group_rates (test_engine.EngineTests.test_pooled_denominator_not_mean_of_group_rates)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 56, in test_pooled_denominator_not_mean_of_group_rates
    conversion = self.analyze()["result"]["conversion"]
                 ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_receipt_tampering_is_detected (test_engine.EngineTests.test_receipt_tampering_is_detected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 217, in test_receipt_tampering_is_detected
    response = self.analyze()
               ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_request_identifier_cannot_escape_output (test_engine.EngineTests.test_request_identifier_cannot_escape_output)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 135, in test_request_identifier_cannot_escape_output
    self.error(self.invoke(request_id="../escape"), "INVALID_REQUEST")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_REQUEST'
- NOT_IMPLEMENTED
+ INVALID_REQUEST


======================================================================
FAIL: test_result_tampering_is_detected (test_engine.EngineTests.test_result_tampering_is_detected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 209, in test_result_tampering_is_detected
    response = self.analyze()
               ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_return_stays_negative (test_engine.EngineTests.test_return_stays_negative)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 62, in test_return_stays_negative
    result = self.analyze()["result"]
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_saved_result_verifies_against_current_inputs (test_engine.EngineTests.test_saved_result_verifies_against_current_inputs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 187, in test_saved_result_verifies_against_current_inputs
    self.analyze()
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_source_tampering_invalidates_saved_result (test_engine.EngineTests.test_source_tampering_invalidates_saved_result)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 197, in test_source_tampering_invalidates_saved_result
    self.analyze()
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_tool_arguments_cannot_choose_paths (test_engine.EngineTests.test_tool_arguments_cannot_choose_paths)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 117, in test_tool_arguments_cannot_choose_paths
    self.error(self.invoke(args={"path": "data/groups.csv"}), "INVALID_ARGUMENTS")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_ARGUMENTS'
- NOT_IMPLEMENTED
+ INVALID_ARGUMENTS


======================================================================
FAIL: test_truthful_native_and_host_statuses (test_engine.EngineTests.test_truthful_native_and_host_statuses)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 233, in test_truthful_native_and_host_statuses
    response = self.analyze()
               ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_unknown_is_distinct_from_observed_zero (test_engine.EngineTests.test_unknown_is_distinct_from_observed_zero)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 68, in test_unknown_is_distinct_from_observed_zero
    revenue = self.analyze()["result"]["revenue"]
              ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

======================================================================
FAIL: test_unknown_request_fields_are_rejected (test_engine.EngineTests.test_unknown_request_fields_are_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 123, in test_unknown_request_fields_are_rejected
    self.error(self.invoke(raw='{"request_id":"x","tool":"inspect_inputs","arguments":{},"shell":"x"}'), "INVALID_REQUEST")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_REQUEST'
- NOT_IMPLEMENTED
+ INVALID_REQUEST


======================================================================
FAIL: test_unknown_tool_is_rejected (test_engine.EngineTests.test_unknown_tool_is_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 114, in test_unknown_tool_is_rejected
    self.error(self.invoke("run_shell"), "UNKNOWN_TOOL")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'UNKNOWN_TOOL'
- NOT_IMPLEMENTED
+ UNKNOWN_TOOL


======================================================================
FAIL: test_wrong_argument_type_is_rejected (test_engine.EngineTests.test_wrong_argument_type_is_rejected)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 120, in test_wrong_argument_type_is_rejected
    self.error(self.invoke(args=[]), "INVALID_ARGUMENTS")
  File "<project>\tests\test_engine.py", line 52, in error
    self.assertEqual(response["error"]["code"], code)
AssertionError: 'NOT_IMPLEMENTED' != 'INVALID_ARGUMENTS'
- NOT_IMPLEMENTED
+ INVALID_ARGUMENTS


======================================================================
FAIL: test_zero_eligible_is_unknown_and_blocks_release (test_engine.EngineTests.test_zero_eligible_is_unknown_and_blocks_release)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<project>\tests\test_engine.py", line 94, in test_zero_eligible_is_unknown_and_blocks_release
    result = self.analyze()["result"]
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 45, in analyze
    digest = self.inspect()
             ^^^^^^^^^^^^^^
  File "<project>\tests\test_engine.py", line 41, in inspect
    self.assertTrue(response["ok"], response)
AssertionError: False is not true : {'ok': False, 'error': {'code': 'NOT_IMPLEMENTED', 'retryable': False}}

----------------------------------------------------------------------
Ran 34 tests in 3.641s

FAILED (failures=36, skipped=2)
