test_configured_dify_vision_receives_uploaded_screenshot (test_gateway_guard_audit.GuardEndpointAudit.test_configured_dify_vision_receives_uploaded_screenshot) ... FAIL test_disabled_vision_uses_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_disabled_vision_uses_primary_compatibility) ... FAIL test_guard_calls_only_vision_and_never_customer_judge (test_gateway_guard_audit.GuardEndpointAudit.test_guard_calls_only_vision_and_never_customer_judge) ... FAIL test_guard_failure_does_not_silently_switch_to_chat_answers (test_gateway_guard_audit.GuardEndpointAudit.test_guard_failure_does_not_silently_switch_to_chat_answers) ... FAIL test_guard_without_vision_keeps_legacy_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_guard_without_vision_keeps_legacy_primary_compatibility) ... FAIL test_normal_image_chat_retains_answer_fanout_and_judge (test_gateway_guard_audit.GuardEndpointAudit.test_normal_image_chat_retains_answer_fanout_and_judge) ... ok test_comfyui_is_not_a_guard_vision_model (test_gateway_guard_audit.GuardPlanAudit.test_comfyui_is_not_a_guard_vision_model) ... ERROR test_guard_selects_only_configured_vision_and_no_judge (test_gateway_guard_audit.GuardPlanAudit.test_guard_selects_only_configured_vision_and_no_judge) ... ERROR test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) ... test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) (vision='') ... ERROR test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) (vision='missing') ... ERROR test_guard_works_with_vision_even_without_answer_roles (test_gateway_guard_audit.GuardPlanAudit.test_guard_works_with_vision_even_without_answer_roles) ... ERROR test_normal_chat_plan_is_unchanged (test_gateway_guard_audit.GuardPlanAudit.test_normal_chat_plan_is_unchanged) ... ok ====================================================================== ERROR: test_comfyui_is_not_a_guard_vision_model (test_gateway_guard_audit.GuardPlanAudit.test_comfyui_is_not_a_guard_vision_model) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 41, in test_comfyui_is_not_a_guard_vision_model self.assertEqual([a.id for a in cat.plan(purpose='guard')[0]], ['a']) ^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Catalog.plan() got an unexpected keyword argument 'purpose' ====================================================================== ERROR: test_guard_selects_only_configured_vision_and_no_judge (test_gateway_guard_audit.GuardPlanAudit.test_guard_selects_only_configured_vision_and_no_judge) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 26, in test_guard_selects_only_configured_vision_and_no_judge answers, judge, _, version = self.catalog().plan(purpose='guard') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Catalog.plan() got an unexpected keyword argument 'purpose' ====================================================================== ERROR: test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) (vision='') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 34, in test_guard_without_usable_vision_falls_back_to_primary_only answers, judge, _, _ = self.catalog(missing).plan(purpose='guard') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Catalog.plan() got an unexpected keyword argument 'purpose' ====================================================================== ERROR: test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) (vision='missing') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 34, in test_guard_without_usable_vision_falls_back_to_primary_only answers, judge, _, _ = self.catalog(missing).plan(purpose='guard') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Catalog.plan() got an unexpected keyword argument 'purpose' ====================================================================== ERROR: test_guard_works_with_vision_even_without_answer_roles (test_gateway_guard_audit.GuardPlanAudit.test_guard_works_with_vision_even_without_answer_roles) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 46, in test_guard_works_with_vision_even_without_answer_roles self.assertEqual([a.id for a in cat.plan(purpose='guard')[0]], ['v']) ^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Catalog.plan() got an unexpected keyword argument 'purpose' ====================================================================== FAIL: test_configured_dify_vision_receives_uploaded_screenshot (test_gateway_guard_audit.GuardEndpointAudit.test_configured_dify_vision_receives_uploaded_screenshot) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 138, in test_configured_dify_vision_receives_uploaded_screenshot self.assertEqual([r.url.host for r in seen], ['v.invalid', 'v.invalid']) AssertionError: Lists differ: ['a.invalid', 'b.invalid', 'j.invalid'] != ['v.invalid', 'v.invalid'] First differing element 0: 'a.invalid' 'v.invalid' First list contains 1 additional elements. First extra element 2: 'j.invalid' - ['a.invalid', 'b.invalid', 'j.invalid'] ? ^ ---- --------- + ['v.invalid', 'v.invalid'] ? ^ ====================================================================== FAIL: test_disabled_vision_uses_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_disabled_vision_uses_primary_compatibility) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 126, in test_disabled_vision_uses_primary_compatibility self.assertEqual([r.url.host for r in seen], ['a.invalid']) AssertionError: Lists differ: ['a.invalid', 'b.invalid', 'j.invalid'] != ['a.invalid'] First list contains 2 additional elements. First extra element 1: 'b.invalid' - ['a.invalid', 'b.invalid', 'j.invalid'] + ['a.invalid'] ====================================================================== FAIL: test_guard_calls_only_vision_and_never_customer_judge (test_gateway_guard_audit.GuardEndpointAudit.test_guard_calls_only_vision_and_never_customer_judge) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 109, in test_guard_calls_only_vision_and_never_customer_judge self.assertEqual([r.url.host for r in seen], ['v.invalid']) AssertionError: Lists differ: ['a.invalid', 'b.invalid', 'j.invalid'] != ['v.invalid'] First differing element 0: 'a.invalid' 'v.invalid' First list contains 2 additional elements. First extra element 1: 'b.invalid' - ['a.invalid', 'b.invalid', 'j.invalid'] + ['v.invalid'] ====================================================================== FAIL: test_guard_failure_does_not_silently_switch_to_chat_answers (test_gateway_guard_audit.GuardEndpointAudit.test_guard_failure_does_not_silently_switch_to_chat_answers) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 131, in test_guard_failure_does_not_silently_switch_to_chat_answers self.assertEqual([r.url.host for r in seen], ['v.invalid']) AssertionError: Lists differ: ['a.invalid', 'b.invalid'] != ['v.invalid'] First differing element 0: 'a.invalid' 'v.invalid' First list contains 1 additional elements. First extra element 1: 'b.invalid' - ['a.invalid', 'b.invalid'] + ['v.invalid'] ====================================================================== FAIL: test_guard_without_vision_keeps_legacy_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_guard_without_vision_keeps_legacy_primary_compatibility) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_gateway_guard_audit.py", line 119, in test_guard_without_vision_keeps_legacy_primary_compatibility self.assertEqual([r.url.host for r in seen], ['a.invalid']) AssertionError: Lists differ: ['a.invalid', 'b.invalid', 'j.invalid'] != ['a.invalid'] First list contains 2 additional elements. First extra element 1: 'b.invalid' - ['a.invalid', 'b.invalid', 'j.invalid'] + ['a.invalid'] ---------------------------------------------------------------------- Ran 11 tests in 9.307s FAILED (failures=5, errors=5)