test_disabled_knowledge_keeps_published_count_and_stays_disabled (test_knowledge_cache_audit.KnowledgeCacheAudit.test_disabled_knowledge_keeps_published_count_and_stays_disabled) ... ERROR test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) ... test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=None) ... ERROR test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=[]) ... ERROR test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value='bad') ... ERROR test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=1) ... ERROR test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=False) ... ERROR test_legacy_response_without_knowledge_keeps_cached_summary (test_knowledge_cache_audit.KnowledgeCacheAudit.test_legacy_response_without_knowledge_keeps_cached_summary) ... ERROR test_logout_clears_cached_summary_before_next_account (test_knowledge_cache_audit.KnowledgeCacheAudit.test_logout_clears_cached_summary_before_next_account) ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) ... test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='bad') ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='inf') ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='-5') ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='{}') ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='[]') ... ERROR test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='True') ... ERROR test_old_settings_without_cache_use_empty_mapping (test_knowledge_cache_audit.KnowledgeCacheAudit.test_old_settings_without_cache_use_empty_mapping) ... ERROR test_sync_survives_actual_json_save_and_reload (test_knowledge_cache_audit.KnowledgeCacheAudit.test_sync_survives_actual_json_save_and_reload) ... ERROR test_ui_reads_persisted_count_without_mocking_settings_loader (test_knowledge_cache_audit.KnowledgeCacheAudit.test_ui_reads_persisted_count_without_mocking_settings_loader) ... FAIL ====================================================================== ERROR: test_disabled_knowledge_keeps_published_count_and_stays_disabled (test_knowledge_cache_audit.KnowledgeCacheAudit.test_disabled_knowledge_keeps_published_count_and_stays_disabled) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 57, in test_disabled_knowledge_keeps_published_count_and_stays_disabled self.assertEqual(backend_client.load_settings()['knowledge_summary'], {'published':12,'enabled':False,'updated_at':'now'}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=None) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 44, in test_invalid_saved_summary_shapes_are_empty self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=[]) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 44, in test_invalid_saved_summary_shapes_are_empty self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value='bad') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 44, in test_invalid_saved_summary_shapes_are_empty self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=1) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 44, in test_invalid_saved_summary_shapes_are_empty self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_invalid_saved_summary_shapes_are_empty (test_knowledge_cache_audit.KnowledgeCacheAudit.test_invalid_saved_summary_shapes_are_empty) (value=False) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 44, in test_invalid_saved_summary_shapes_are_empty self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_legacy_response_without_knowledge_keeps_cached_summary (test_knowledge_cache_audit.KnowledgeCacheAudit.test_legacy_response_without_knowledge_keeps_cached_summary) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 34, in test_legacy_response_without_knowledge_keeps_cached_summary self.assertEqual(backend_client.load_settings()['knowledge_summary'], self.summary) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_logout_clears_cached_summary_before_next_account (test_knowledge_cache_audit.KnowledgeCacheAudit.test_logout_clears_cached_summary_before_next_account) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 62, in test_logout_clears_cached_summary_before_next_account self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='bad') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='inf') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='-5') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='{}') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='[]') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui (test_knowledge_cache_audit.KnowledgeCacheAudit.test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui) (count='True') ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 50, in test_malformed_count_and_enable_flag_do_not_break_or_mislead_ui summary = backend_client.load_settings()['knowledge_summary'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_old_settings_without_cache_use_empty_mapping (test_knowledge_cache_audit.KnowledgeCacheAudit.test_old_settings_without_cache_use_empty_mapping) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 38, in test_old_settings_without_cache_use_empty_mapping self.assertEqual(backend_client.load_settings()['knowledge_summary'], {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== ERROR: test_sync_survives_actual_json_save_and_reload (test_knowledge_cache_audit.KnowledgeCacheAudit.test_sync_survives_actual_json_save_and_reload) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 28, in test_sync_survives_actual_json_save_and_reload self.assertEqual(json.loads(self.path.read_text(encoding='utf-8'))['knowledge_summary'], self.summary) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ KeyError: 'knowledge_summary' ====================================================================== FAIL: test_ui_reads_persisted_count_without_mocking_settings_loader (test_knowledge_cache_audit.KnowledgeCacheAudit.test_ui_reads_persisted_count_without_mocking_settings_loader) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\kefu\deploy\recognition-audit-20260916\test_knowledge_cache_audit.py", line 74, in test_ui_reads_persisted_count_without_mocking_settings_loader self.assertEqual(state['knowledgeCount'], '1,234') AssertionError: '0' != '1,234' - 0 + 1,234 ---------------------------------------------------------------------- Ran 8 tests in 0.611s FAILED (failures=1, errors=16)