demo: trigger PR graph comment#1
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✗ pact: 2 violation(s) (diff vs main) ⚡ pact: 2 refactor suggestion(s) load_config [/home/runner/work/pact/pact/examples/demo_violations.py:7] register [/home/runner/work/pact/pact/examples/demo_violations.py:26] pact analysis2 violations found · 2 refactor targets identified Baseline — all violationsflowchart TD
%% pact refactor targets (dashed = extraction candidate)
PactEngine_load["load"]:::clean
load_config(["load_config\n(1✗)"]):::warn
register(["register\n(1✗)"]):::warn
load_config -.-> PactEngine_load
classDef clean fill:#d4edda,stroke:#28a745,color:#155724
classDef warn fill:#fff3cd,stroke:#ffc107,color:#856404
classDef hot fill:#ffe5b4,stroke:#fd7e14,color:#7d3501
classDef fire fill:#f8d7da,stroke:#dc3545,color:#721c24
classDef resolved fill:#c3e6cb,stroke:#155724,color:#155724,stroke-dasharray:4
Reduction sequenceAfter extracting `load_config` (1 violation resolved)flowchart TD
%% resolved: load_config
PactEngine_load["load"]:::clean
load_config["load_config"]:::resolved
register(["register\n(1✗)"]):::warn
load_config --> PactEngine_load
classDef clean fill:#d4edda,stroke:#28a745,color:#155724
classDef warn fill:#fff3cd,stroke:#ffc107,color:#856404
classDef hot fill:#ffe5b4,stroke:#fd7e14,color:#7d3501
classDef fire fill:#f8d7da,stroke:#dc3545,color:#721c24
classDef resolved fill:#c3e6cb,stroke:#155724,color:#155724,stroke-dasharray:4
After extracting `register` (1 violation resolved)flowchart TD
%% resolved: load_config, register
PactEngine_load["load"]:::clean
load_config["load_config"]:::resolved
register["register"]:::resolved
load_config --> PactEngine_load
classDef clean fill:#d4edda,stroke:#28a745,color:#155724
classDef warn fill:#fff3cd,stroke:#ffc107,color:#856404
classDef hot fill:#ffe5b4,stroke:#fd7e14,color:#7d3501
classDef fire fill:#f8d7da,stroke:#dc3545,color:#721c24
classDef resolved fill:#c3e6cb,stroke:#155724,color:#155724,stroke-dasharray:4
Test coverage graphflowchart LR
%% test coverage — left: tests, right: production
TestAnalyzeGraphReduction_test_combined_returns_all_types["combined_returns_all_types"]:::test
TestAnalyzeGraphReduction_test_empty_graph_returns_empty["empty_graph_returns_empty"]:::test
TestAnalyzeGraphReduction_test_sorted_by_score_descending["sorted_by_score_descending"]:::test
TestApplyFullReduction_test_empty_graph_returns_zero_stats["empty_graph_returns_zero_stats"]:::test
TestApplyFullReduction_test_pipeline_reduces_complex_graph["pipeline_reduces_complex_graph"]:::test
TestApplyFullReduction_test_result_graph_is_dag["result_graph_is_dag"]:::test
TestContractSccs_test_dag_unchanged["dag_unchanged"]:::test
TestContractSccs_test_result_is_dag["result_is_dag"]:::test
TestContractSccs_test_simple_cycle_collapsed_to_one_node["simple_cycle_collapsed_to_one_node"]:::test
TestContractSccs_test_three_node_cycle["three_node_cycle"]:::test
TestEliminateDead_test_empty_roots_keeps_all["empty_roots_keeps_all"]:::test
TestEliminateDead_test_reachable_node_kept["reachable_node_kept"]:::test
TestEliminateDead_test_unreachable_node_removed["unreachable_node_removed"]:::test
TestFormatPrComment_test_contains_mermaid_block["contains_mermaid_block"]:::test
TestFormatPrComment_test_has_suggestion_count["has_suggestion_count"]:::test
TestFormatPrComment_test_has_violation_count["has_violation_count"]:::test
TestFormatPrComment_test_no_violations_returns_checkmark["no_violations_returns_checkmark"]:::test
TestFormatPrComment_test_reduction_frames_are_collapsible["reduction_frames_are_collapsible"]:::test
TestGoCheckerIntegration_test_bare_recover_detected["bare_recover_detected"]:::test
TestGoCheckerIntegration_test_clean_file_returns_no_violations["clean_file_returns_no_violations"]:::test
TestGoCheckerIntegration_test_directory_scan["directory_scan"]:::test
TestGoCheckerIntegration_test_goroutine_no_sync_detected["goroutine_no_sync_detected"]:::test
TestGoCheckerIntegration_test_goroutine_with_waitgroup_not_flagged["goroutine_with_waitgroup_not_flagged"]:::test
TestGoCheckerIntegration_test_ignored_error_detected["ignored_error_detected"]:::test
TestGoCheckerIntegration_test_unchecked_assertion_detected["unchecked_assertion_detected"]:::test
TestHubs_test_hub_above_threshold_detected["hub_above_threshold_detected"]:::test
TestHubs_test_hub_below_threshold_not_detected["hub_below_threshold_not_detected"]:::test
TestHubs_test_hub_reduction_detail_mentions_split["hub_reduction_detail_mentions_split"]:::test
TestPassthroughs_test_hub_not_passthrough["hub_not_passthrough"]:::test
TestPassthroughs_test_passthrough_reduction_potential["passthrough_reduction_potential"]:::test
TestPassthroughs_test_pure_passthrough_detected["pure_passthrough_detected"]:::test
TestPhantomCyclePrevention_test_overloaded_method_name_no_phantom_scc["overloaded_method_name_no_phantom_scc"]:::test
TestPhantomCyclePrevention_test_unique_short_name_still_resolves["unique_short_name_still_resolves"]:::test
TestRefactorSuggestionScore_test_summary_includes_z3_safe["summary_includes_z3_safe"]:::test
TestRefactorSuggestionScore_test_summary_includes_z3_unsafe["summary_includes_z3_unsafe"]:::test
TestRenderMermaid_test_clean_node_has_clean_class["clean_node_has_clean_class"]:::test
TestRenderMermaid_test_contains_edge["contains_edge"]:::test
TestRenderMermaid_test_contains_node_ids["contains_node_ids"]:::test
TestRenderMermaid_test_empty_graph_still_renders["empty_graph_still_renders"]:::test
TestRenderMermaid_test_fire_class_applied["fire_class_applied"]:::test
TestRenderMermaid_test_highlight_uses_stadium_shape["highlight_uses_stadium_shape"]:::test
TestRenderMermaid_test_no_duplicate_edges["no_duplicate_edges"]:::test
TestRenderMermaid_test_resolved_uses_resolved_class["resolved_uses_resolved_class"]:::test
TestRenderMermaid_test_starts_with_flowchart["starts_with_flowchart"]:::test
TestRenderMermaid_test_style_classes_appended["style_classes_appended"]:::test
TestRenderMermaid_test_title_appears_in_comment["title_appears_in_comment"]:::test
TestRenderReductionSequence_test_empty_suggestions_returns_empty["empty_suggestions_returns_empty"]:::test
TestRenderReductionSequence_test_first_frame_is_baseline["first_frame_is_baseline"]:::test
TestRenderReductionSequence_test_frame_count_is_suggestions_plus_one["frame_count_is_suggestions_plus_one"]:::test
TestRenderReductionSequence_test_resolved_nodes_shown_green_in_later_frames["resolved_nodes_shown_green_in_later_frames"]:::test
TestRenderReductionSequence_test_subsequent_frames_mention_function["subsequent_frames_mention_function"]:::test
TestRunGoCheckerConversion__run["_run"]:::test
TestRunGoCheckerSubprocess_test_bad_json_stdout_returns_empty["bad_json_stdout_returns_empty"]:::test
TestRunGoCheckerSubprocess_test_directory_path_uses_dir_flag["directory_path_uses_dir_flag"]:::test
TestRunGoCheckerSubprocess_test_empty_paths_returns_no_evidence["empty_paths_returns_no_evidence"]:::test
TestRunGoCheckerSubprocess_test_explicit_binary_overrides_auto_resolve["explicit_binary_overrides_auto_resolve"]:::test
TestRunGoCheckerSubprocess_test_extra_args_forwarded["extra_args_forwarded"]:::test
TestRunGoCheckerSubprocess_test_file_path_uses_file_flag["file_path_uses_file_flag"]:::test
TestRunGoCheckerSubprocess_test_no_binary_falls_back_to_go_run["no_binary_falls_back_to_go_run"]:::test
TestRunGoCheckerSubprocess_test_no_binary_no_go_returns_empty["no_binary_no_go_returns_empty"]:::test
TestRunGoCheckerSubprocess_test_oserror_returns_empty["oserror_returns_empty"]:::test
TestRunGoCheckerSubprocess_test_timeout_returns_empty["timeout_returns_empty"]:::test
TestSCCTangles_test_no_cycle_returns_empty["no_cycle_returns_empty"]:::test
TestSCCTangles_test_self_loop_not_counted_as_tangle["self_loop_not_counted_as_tangle"]:::test
TestSCCTangles_test_simple_cycle_detected["simple_cycle_detected"]:::test
TestSCCTangles_test_three_way_cycle["three_way_cycle"]:::test
TestSCCTangles_test_violation_urgency_increases_score["violation_urgency_increases_score"]:::test
TestStyleClass_test_four_plus_is_fire["four_plus_is_fire"]:::test
TestStyleClass_test_one_is_warn["one_is_warn"]:::test
TestStyleClass_test_three_is_hot["three_is_hot"]:::test
TestStyleClass_test_zero_is_clean["zero_is_clean"]:::test
TestSuggestRefactors_test_function_with_violations_is_suggested["function_with_violations_is_suggested"]:::test
TestSuggestRefactors_test_higher_score_ranked_first["higher_score_ranked_first"]:::test
TestSuggestRefactors_test_max_suggestions_cap["max_suggestions_cap"]:::test
TestSuggestRefactors_test_min_violations_filters_low_density["min_violations_filters_low_density"]:::test
TestSuggestRefactors_test_modes_list_populated["modes_list_populated"]:::test
TestSuggestRefactors_test_no_violations_returns_empty["no_violations_returns_empty"]:::test
TestTransitiveReduce_test_shortcut_edge_removed["shortcut_edge_removed"]:::test
TestTransitiveReduce_test_unique_path_kept["unique_path_kept"]:::test
TestVerifyExtractionSafe_test_caller_missing_kwonly_is_unsafe["caller_missing_kwonly_is_unsafe"]:::test
TestVerifyExtractionSafe_test_caller_missing_positional_is_unsafe["caller_missing_positional_is_unsafe"]:::test
TestVerifyExtractionSafe_test_caller_provides_enough_positional["caller_provides_enough_positional"]:::test
TestVerifyExtractionSafe_test_caller_provides_required_kwonly["caller_provides_required_kwonly"]:::test
TestVerifyExtractionSafe_test_mixed_required_optional_caller_satisfies["mixed_required_optional_caller_satisfies"]:::test
TestVerifyExtractionSafe_test_no_args_is_safe["no_args_is_safe"]:::test
TestVerifyExtractionSafe_test_no_callers_is_safe["no_callers_is_safe"]:::test
TestVerifyExtractionSafe_test_only_optional_args_is_safe["only_optional_args_is_safe"]:::test
_run["_run"]:::test
_spec["_spec"]:::test
test_anyio_start_soon_coro_arg_not_flagged["anyio_start_soon_coro_arg_not_flagged"]:::test
test_app_command_no_args_not_flagged["app_command_no_args_not_flagged"]:::test
test_as_completed_listcomp_not_flagged["as_completed_listcomp_not_flagged"]:::test
test_async_comprehension_iter_not_flagged["async_comprehension_iter_not_flagged"]:::test
test_async_for_iter_not_flagged["async_for_iter_not_flagged"]:::test
test_async_generator_not_flagged_as_missing_await["async_generator_not_flagged_as_missing_await"]:::test
test_async_method_unawaited_still_flagged["async_method_unawaited_still_flagged"]:::test
test_async_name_reused_generator_and_coroutine_not_flagged["async_name_reused_generator_and_coroutine_not_flagged"]:::test
test_async_with_context_manager_not_flagged["async_with_context_manager_not_flagged"]:::test
test_asyncio_run_direct_import_not_flagged["asyncio_run_direct_import_not_flagged"]:::test
test_asyncio_run_not_flagged_as_missing_await["asyncio_run_not_flagged_as_missing_await"]:::test
test_await_protocol_not_flagged["await_protocol_not_flagged"]:::test
test_awaited_call_not_flagged["awaited_call_not_flagged"]:::test
test_bare_defaultdict_not_flagged_as_lookup_chain["bare_defaultdict_not_flagged_as_lookup_chain"]:::test
test_bare_except_flagged["bare_except_flagged"]:::test
test_bare_except_no_callsite_flagged["bare_except_no_callsite_flagged"]:::test
test_bare_except_proof["bare_except_proof"]:::test
test_bare_unawaited_coroutine_still_flagged["bare_unawaited_coroutine_still_flagged"]:::test
test_bodo_ctx_param_not_flagged["bodo_ctx_param_not_flagged"]:::test
test_chained_queryset_get_not_flagged_as_optional["chained_queryset_get_not_flagged_as_optional"]:::test
test_clean_create_produces_no_violation["clean_create_produces_no_violation"]:::test
test_click_command_no_args_not_flagged["click_command_no_args_not_flagged"]:::test
test_client_namespace_get_not_flagged["client_namespace_get_not_flagged"]:::test
test_closure_name_collision_not_flagged["closure_name_collision_not_flagged"]:::test
test_compound_serializer_save_not_flagged["compound_serializer_save_not_flagged"]:::test
test_conftest_and_test_base_not_flagged["confand_base_not_flagged"]:::test
test_coro_in_tuple_appended_to_list_not_flagged["coro_in_tuple_appended_to_list_not_flagged"]:::test
test_coroutine_assigned_to_task_not_flagged["coroutine_assigned_to_task_not_flagged"]:::test
test_correct_format_not_flagged["correct_format_not_flagged"]:::test
test_create_task_not_flagged_as_missing_await["create_task_not_flagged_as_missing_await"]:::test
test_create_task_prefixed_wrapper_not_flagged_as_missing_await["create_task_prefixed_wrapper_not_flagged_as_missing_await"]:::test
test_cross_file_violation_detected["cross_file_violation_detected"]:::test
test_custom_start_task_wrapper_not_flagged["custom_start_task_wrapper_not_flagged"]:::test
test_dict_default_flagged["dict_default_flagged"]:::test
test_django_save_without_update_fields_still_flagged["django_save_without_update_fields_still_flagged"]:::test
test_django_test_client_get_not_flagged["django_client_get_not_flagged"]:::test
test_docker_client_containers_get_not_flagged["docker_client_containers_get_not_flagged"]:::test
test_drf_view_async_get_method_not_flagged["drf_view_async_get_method_not_flagged"]:::test
test_dual_sync_async_client_missing_await_not_flagged["dual_sync_async_client_missing_await_not_flagged"]:::test
test_except_exception_with_logging_not_flagged["except_exception_with_logging_not_flagged"]:::test
test_fetched_object_save_still_flagged["fetched_object_save_still_flagged"]:::test
test_for_loop_rebind_clears_get_tracking["for_loop_rebind_clears_get_tracking"]:::test
test_form_input_save_not_flagged["form_input_save_not_flagged"]:::test
test_form_save_not_flagged["form_save_not_flagged"]:::test
test_format_arg_mismatch_proof["format_arg_mismatch_proof"]:::test
test_format_dotted_attr_covered_by_root_kwarg_not_flagged["format_dotted_attr_covered_by_root_kwarg_not_flagged"]:::test
test_format_escaped_braces_not_flagged["format_escaped_braces_not_flagged"]:::test
test_format_with_star_args_not_flagged["format_with_star_args_not_flagged"]:::test
test_fstring_join_not_flagged_as_missing_separator["fstring_join_not_flagged_as_missing_separator"]:::test
test_gather_args_not_flagged_as_missing_await["gather_args_not_flagged_as_missing_await"]:::test
test_gather_star_comprehension_not_flagged["gather_star_comprehension_not_flagged"]:::test
test_generator_return_gather_pattern_not_flagged["generator_return_gather_pattern_not_flagged"]:::test
test_get_with_keyword_default_not_flagged_as_optional_dereference["get_with_keyword_default_not_flagged_as_optional_dereference"]:::test
test_immutable_default_not_flagged["immutable_default_not_flagged"]:::test
test_incremental_callee_change_marks_caller_dirty["incremental_callee_change_marks_caller_dirty"]:::test
test_incremental_full_match_when_all_changed["incremental_full_match_when_all_changed"]:::test
test_incremental_stats_skip_ratio["incremental_stats_skip_ratio"]:::test
test_incremental_unchanged_file_not_analyzed["incremental_unchanged_file_not_analyzed"]:::test
test_incremental_unchanged_files_skipped["incremental_unchanged_files_skipped"]:::test
test_isinstance_and_attr_not_flagged_as_optional_dereference["isinstance_and_attr_not_flagged_as_optional_dereference"]:::test
test_kwonly_required_arg_flagged["kwonly_required_arg_flagged"]:::test
test_lambda_returning_coro_not_flagged["lambda_returning_coro_not_flagged"]:::test
test_list_comprehension_gather_pattern_not_flagged["list_comprehension_gather_pattern_not_flagged"]:::test
test_list_default_flagged["list_default_flagged"]:::test
test_list_extend_genexpr_coro_not_flagged["list_extend_genexpr_coro_not_flagged"]:::test
test_list_literal_gather_pattern_not_flagged["list_literal_gather_pattern_not_flagged"]:::test
test_llm_choices_guarded_not_flagged["llm_choices_guarded_not_flagged"]:::test
test_llm_choices_ternary_guard_not_flagged["llm_choices_ternary_guard_not_flagged"]:::test
test_llm_choices_unguarded_flagged["llm_choices_unguarded_flagged"]:::test
test_llm_response_repeated_access_flagged_once["llm_response_repeated_access_flagged_once"]:::test
test_llm_response_separate_functions_each_flagged["llm_response_separate_functions_each_flagged"]:::test
test_llm_response_unguarded_proof["llm_response_unguarded_proof"]:::test
test_lookup_chain_chained_bounds_check_not_flagged["lookup_chain_chained_bounds_check_not_flagged"]:::test
test_lookup_chain_const_set_guard_not_flagged["lookup_chain_const_set_guard_not_flagged"]:::test
test_lookup_chain_isinstance_guard_not_flagged["lookup_chain_isinstance_guard_not_flagged"]:::test
test_lookup_chain_list_bounds_check_not_flagged["lookup_chain_list_bounds_check_not_flagged"]:::test
test_loop_run_until_complete_not_flagged["loop_run_until_complete_not_flagged"]:::test
test_main_called_outside_dunder_block_still_flagged["main_called_outside_dunder_block_still_flagged"]:::test
test_main_in_dunder_main_block_not_flagged["main_in_dunder_main_block_not_flagged"]:::test
test_missing_arg_still_flagged_without_spread["missing_arg_still_flagged_without_spread"]:::test
test_missing_await_flagged["missing_await_flagged"]:::test
test_missing_await_proof["missing_await_proof"]:::test
test_missing_required_field_flagged["missing_required_field_flagged"]:::test
test_module_level_async_func_without_await_still_flagged["module_level_async_func_without_await_still_flagged"]:::test
test_mutable_default_arg_proof["mutable_default_arg_proof"]:::test
test_mutated_dict_default_still_flagged["mutated_dict_default_still_flagged"]:::test
test_mutated_list_default_via_method_flagged["mutated_list_default_via_method_flagged"]:::test
test_named_format_missing_kwarg_flagged["named_format_missing_kwarg_flagged"]:::test
test_nested_async_closure_return_not_flagged["nested_async_closure_return_not_flagged"]:::test
test_nested_closure_name_shadows_outer_async_not_flagged["nested_closure_name_shadows_outer_async_not_flagged"]:::test
test_new_object_save_not_flagged["new_object_save_not_flagged"]:::test
test_new_object_save_via_class_attr_not_flagged["new_object_save_via_class_attr_not_flagged"]:::test
test_non_django_save_not_flagged["non_django_save_not_flagged"]:::test
test_none_default_not_flagged["none_default_not_flagged"]:::test
test_numba_intrinsic_typingctx_not_counted["numba_intrinsic_typingctx_not_counted"]:::test
test_numba_intrinsic_typingctx_not_flagged["numba_intrinsic_typingctx_not_flagged"]:::test
test_objects_get_not_flagged_as_optional["objects_get_not_flagged_as_optional"]:::test
test_optional_deref_skipped_in_unittest_dir["optional_deref_skipped_in_unitdir"]:::test
test_optional_deref_suppressed_in_test_files["optional_deref_suppressed_in_files"]:::test
test_optional_dereference_assert_not_none_guard["optional_dereference_assert_not_none_guard"]:::test
test_optional_dereference_bool_and_guard_not_flagged["optional_dereference_bool_and_guard_not_flagged"]:::test
test_optional_dereference_dict_get_still_flagged["optional_dereference_dict_get_still_flagged"]:::test
test_optional_dereference_dunder_session_not_flagged["optional_dereference_dunder_session_not_flagged"]:::test
test_optional_dereference_early_exit_or_guard_not_flagged["optional_dereference_early_exit_or_guard_not_flagged"]:::test
test_optional_dereference_early_exit_simple_not_flagged["optional_dereference_early_exit_simple_not_flagged"]:::test
test_optional_dereference_get_with_default_not_flagged["optional_dereference_get_with_default_not_flagged"]:::test
test_optional_dereference_http_fstring_get_not_flagged["optional_dereference_http_fstring_get_not_flagged"]:::test
test_optional_dereference_http_get_not_flagged["optional_dereference_http_get_not_flagged"]:::test
test_optional_dereference_membership_guard_not_flagged["optional_dereference_membership_guard_not_flagged"]:::test
test_optional_dereference_pandas_first_not_flagged["optional_dereference_pandas_first_not_flagged"]:::test
test_optional_dereference_pascal_case_receiver_not_flagged["optional_dereference_pascal_case_receiver_not_flagged"]:::test
test_optional_dereference_proof["optional_dereference_proof"]:::test
test_optional_dereference_reassignment_clears_optional["optional_dereference_reassignment_clears_optional"]:::test
test_optional_dereference_requests_get_url_var_not_flagged["optional_dereference_requests_get_url_var_not_flagged"]:::test
test_optional_dereference_rhs_self_use_not_flagged["optional_dereference_rhs_self_use_not_flagged"]:::test
test_optional_dereference_self_get_not_flagged["optional_dereference_self_get_not_flagged"]:::test
test_optional_dereference_session_get_not_flagged["optional_dereference_session_get_not_flagged"]:::test
test_optional_dereference_zero_arg_get_not_flagged["optional_dereference_zero_arg_get_not_flagged"]:::test
test_optional_field_not_flagged["optional_field_not_flagged"]:::test
test_or_null_guard_not_flagged["or_null_guard_not_flagged"]:::test
test_overload_stub_mutable_default_not_flagged["overload_stub_mutable_default_not_flagged"]:::test
test_pil_save_with_positional_not_flagged["pil_save_with_positional_not_flagged"]:::test
test_positional_format_mismatch_flagged["positional_format_mismatch_flagged"]:::test
test_pre_extracted_skips_double_parse["pre_extracted_skips_double_parse"]:::test
test_profile_save_is_flagged["profile_save_is_flagged"]:::test
test_pytest_fixture_call_not_flagged["pyfixture_call_not_flagged"]:::test
test_pytest_fixture_with_parens_not_flagged["pyfixture_with_parens_not_flagged"]:::test
test_queryset_variable_get_kwargs_only_not_flagged["queryset_variable_get_kwargs_only_not_flagged"]:::test
test_readonly_dict_default_not_flagged["readonly_dict_default_not_flagged"]:::test
test_request_session_save_not_flagged["request_session_save_not_flagged"]:::test
test_required_arg_missing_proof["required_arg_missing_proof"]:::test
test_required_arg_missing_shadowed_closure_not_flagged["required_arg_missing_shadowed_closure_not_flagged"]:::test
test_required_arg_missing_with_session_not_flagged["required_arg_missing_with_session_not_flagged"]:::test
test_run_async_in_thread_coro_consumer_not_flagged["run_async_in_thread_coro_consumer_not_flagged"]:::test
test_run_async_wrapper_not_flagged["run_async_wrapper_not_flagged"]:::test
test_run_long_running_task_coro_consumer_not_flagged["run_long_running_task_coro_consumer_not_flagged"]:::test
test_run_sync_coro_consumer_not_flagged["run_sync_coro_consumer_not_flagged"]:::test
test_run_until_complete_any_loop_var_not_flagged["run_until_complete_any_loop_var_not_flagged"]:::test
test_run_worker_not_flagged["run_worker_not_flagged"]:::test
test_same_name_closures_different_signatures_not_flagged["same_name_closures_different_signatures_not_flagged"]:::test
test_save_in_subdir_test_file_not_flagged["save_in_subdir_file_not_flagged"]:::test
test_save_in_test_file_not_flagged["save_in_file_not_flagged"]:::test
test_save_with_update_fields_not_flagged["save_with_update_fields_not_flagged"]:::test
test_save_without_update_fields_flagged["save_without_update_fields_flagged"]:::test
test_save_without_update_fields_proof["save_without_update_fields_proof"]:::test
test_schedule_coroutine_consumer_not_flagged["schedule_coroutine_consumer_not_flagged"]:::test
test_silent_except_exception_flagged["silent_except_exception_flagged"]:::test
test_specific_exception_not_flagged["specific_exception_not_flagged"]:::test
test_star_args_not_flagged_as_missing_arg["star_args_not_flagged_as_missing_arg"]:::test
test_star_kwargs_not_flagged_as_missing_arg["star_kwargs_not_flagged_as_missing_arg"]:::test
test_streaming_response_not_flagged_as_missing_await["streaming_response_not_flagged_as_missing_await"]:::test
test_string_literal_join_not_flagged_as_missing_separator["string_literal_join_not_flagged_as_missing_separator"]:::test
test_sync_function_not_flagged_as_missing_await["sync_function_not_flagged_as_missing_await"]:::test
test_sync_method_calling_shared_name_not_flagged["sync_method_calling_shared_name_not_flagged"]:::test
test_ternary_guard_not_flagged["ternary_guard_not_flagged"]:::test
test_textual_work_decorator_not_flagged["textual_work_decorator_not_flagged"]:::test
test_top_level_function_missing_arg_flagged["top_level_function_missing_arg_flagged"]:::test
test_tornado_test_client_get_string_concat_not_flagged["tornado_client_get_string_concat_not_flagged"]:::test
test_tornado_url_prefix_concat_not_flagged["tornado_url_prefix_concat_not_flagged"]:::test
test_ts_return_async_call_not_flagged["ts_return_async_call_not_flagged"]:::test
test_typing_overload_mutable_default_not_flagged["typing_overload_mutable_default_not_flagged"]:::test
test_underscore_vendor_dir_not_flagged["underscore_vendor_dir_not_flagged"]:::test
test_unguarded_optional_still_flagged["unguarded_optional_still_flagged"]:::test
test_unvalidated_lookup_chain_annotated_defaultdict_not_flagged["unvalidated_lookup_chain_annotated_defaultdict_not_flagged"]:::test
test_unvalidated_lookup_chain_defaultdict_not_flagged["unvalidated_lookup_chain_defaultdict_not_flagged"]:::test
test_unvalidated_lookup_chain_dict_write_not_flagged["unvalidated_lookup_chain_dict_write_not_flagged"]:::test
test_unvalidated_lookup_chain_flagged["unvalidated_lookup_chain_flagged"]:::test
test_unvalidated_lookup_chain_proof["unvalidated_lookup_chain_proof"]:::test
test_unvalidated_lookup_chain_with_guard_not_flagged["unvalidated_lookup_chain_with_guard_not_flagged"]:::test
test_user_defined_asyncio_run_wrapper_not_flagged["user_defined_asyncio_run_wrapper_not_flagged"]:::test
test_vendor_dir_bare_except_not_flagged["vendor_dir_bare_except_not_flagged"]:::test
test_violation_reports_correct_file_and_line["violation_reports_correct_file_and_line"]:::test
PactEngine_load(["load\n(6 tests)"]):::well_covered
PactEngine_violations(["violations\n(6 tests)"]):::well_covered
ReductionCandidate_summary(["summary\n(6 tests)"]):::well_covered
_build_digraph(["_build_digraph\n(40 tests)"]):::well_covered
_style_class(["_style_class\n(10 tests)"]):::well_covered
_verify_extraction_safe(["_verify_extraction_safe\n(16 tests)"]):::well_covered
analyze_graph_reduction(["analyze_graph_reduction\n(6 tests)"]):::well_covered
apply_full_reduction(["apply_full_reduction\n(6 tests)"]):::well_covered
check_codebase(["check_codebase\n(320 tests)"]):::well_covered
check_codebase_incremental(["check_codebase_incremental\n(10 tests)"]):::well_covered
check_ts_file(["check_ts_file\n(2 tests)"]):::covered
contract_sccs(["contract_sccs\n(8 tests)"]):::well_covered
eliminate_dead(["eliminate_dead\n(6 tests)"]):::well_covered
extract_from_codebase(["extract_from_codebase\n(10 tests)"]):::well_covered
find_hubs(["find_hubs\n(6 tests)"]):::well_covered
find_passthroughs(["find_passthroughs\n(6 tests)"]):::well_covered
find_sccs(["find_sccs\n(14 tests)"]):::well_covered
format_pr_comment(["format_pr_comment\n(10 tests)"]):::well_covered
prove_bare_except(["prove_bare_except\n(2 tests)"]):::covered
prove_format_arg_mismatch(["prove_format_arg_mismatch\n(2 tests)"]):::covered
prove_llm_response_unguarded(["prove_llm_response_unguarded\n(2 tests)"]):::covered
prove_missing_await(["prove_missing_await\n(2 tests)"]):::covered
prove_mutable_default_arg(["prove_mutable_default_arg\n(2 tests)"]):::covered
prove_optional_dereference(["prove_optional_dereference\n(2 tests)"]):::covered
prove_required_arg_missing(["prove_required_arg_missing\n(2 tests)"]):::covered
prove_save_without_update_fields(["prove_save_without_update_fields\n(2 tests)"]):::covered
prove_unvalidated_lookup_chain(["prove_unvalidated_lookup_chain\n(2 tests)"]):::covered
render_mermaid(["render_mermaid\n(22 tests)"]):::well_covered
render_reduction_sequence(["render_reduction_sequence\n(10 tests)"]):::well_covered
run_go_checker(["run_go_checker\n(36 tests)"]):::well_covered
suggest_refactors(["suggest_refactors\n(12 tests)"]):::well_covered
synthesize(["synthesize\n(2 tests)"]):::covered
transitive_reduce(["transitive_reduce\n(4 tests)"]):::well_covered
_run --> PactEngine_load
_run --> PactEngine_violations
test_violation_reports_correct_file_and_line --> PactEngine_load
test_violation_reports_correct_file_and_line --> PactEngine_violations
test_cross_file_violation_detected --> PactEngine_load
test_cross_file_violation_detected --> PactEngine_violations
test_llm_response_unguarded_proof --> prove_llm_response_unguarded
test_save_without_update_fields_proof --> prove_save_without_update_fields
test_missing_await_proof --> prove_missing_await
test_optional_dereference_proof --> prove_optional_dereference
test_bare_except_proof --> prove_bare_except
test_mutable_default_arg_proof --> prove_mutable_default_arg
test_required_arg_missing_proof --> prove_required_arg_missing
test_format_arg_mismatch_proof --> prove_format_arg_mismatch
test_unvalidated_lookup_chain_proof --> prove_unvalidated_lookup_chain
TestRefactorSuggestionScore_test_summary_includes_z3_safe --> ReductionCandidate_summary
TestRefactorSuggestionScore_test_summary_includes_z3_unsafe --> ReductionCandidate_summary
TestVerifyExtractionSafe_test_no_args_is_safe --> _verify_extraction_safe
TestVerifyExtractionSafe_test_no_callers_is_safe --> _verify_extraction_safe
TestVerifyExtractionSafe_test_caller_provides_enough_positional --> _verify_extraction_safe
TestVerifyExtractionSafe_test_caller_missing_positional_is_unsafe --> _verify_extraction_safe
TestVerifyExtractionSafe_test_caller_provides_required_kwonly --> _verify_extraction_safe
TestVerifyExtractionSafe_test_caller_missing_kwonly_is_unsafe --> _verify_extraction_safe
TestVerifyExtractionSafe_test_only_optional_args_is_safe --> _verify_extraction_safe
TestVerifyExtractionSafe_test_mixed_required_optional_caller_satisfies --> _verify_extraction_safe
TestSuggestRefactors_test_function_with_violations_is_suggested --> extract_from_codebase
TestSuggestRefactors_test_function_with_violations_is_suggested --> check_codebase
TestSuggestRefactors_test_function_with_violations_is_suggested --> suggest_refactors
TestSuggestRefactors_test_min_violations_filters_low_density --> extract_from_codebase
TestSuggestRefactors_test_min_violations_filters_low_density --> check_codebase
TestSuggestRefactors_test_min_violations_filters_low_density --> suggest_refactors
TestSuggestRefactors_test_higher_score_ranked_first --> suggest_refactors
TestSuggestRefactors_test_max_suggestions_cap --> suggest_refactors
TestSuggestRefactors_test_modes_list_populated --> extract_from_codebase
TestSuggestRefactors_test_modes_list_populated --> check_codebase
TestSuggestRefactors_test_modes_list_populated --> suggest_refactors
TestSuggestRefactors_test_no_violations_returns_empty --> extract_from_codebase
TestSuggestRefactors_test_no_violations_returns_empty --> check_codebase
TestSuggestRefactors_test_no_violations_returns_empty --> suggest_refactors
TestSCCTangles_test_simple_cycle_detected --> _build_digraph
TestSCCTangles_test_simple_cycle_detected --> find_sccs
TestSCCTangles_test_three_way_cycle --> _build_digraph
TestSCCTangles_test_three_way_cycle --> find_sccs
TestSCCTangles_test_no_cycle_returns_empty --> _build_digraph
TestSCCTangles_test_no_cycle_returns_empty --> find_sccs
TestSCCTangles_test_violation_urgency_increases_score --> _build_digraph
TestSCCTangles_test_violation_urgency_increases_score --> find_sccs
TestSCCTangles_test_self_loop_not_counted_as_tangle --> _build_digraph
TestSCCTangles_test_self_loop_not_counted_as_tangle --> find_sccs
TestPassthroughs_test_pure_passthrough_detected --> _build_digraph
TestPassthroughs_test_pure_passthrough_detected --> find_passthroughs
TestPassthroughs_test_hub_not_passthrough --> _build_digraph
TestPassthroughs_test_hub_not_passthrough --> find_passthroughs
TestPassthroughs_test_passthrough_reduction_potential --> _build_digraph
TestPassthroughs_test_passthrough_reduction_potential --> find_passthroughs
TestHubs_test_hub_above_threshold_detected --> _build_digraph
TestHubs_test_hub_above_threshold_detected --> find_hubs
TestHubs_test_hub_below_threshold_not_detected --> _build_digraph
TestHubs_test_hub_below_threshold_not_detected --> find_hubs
TestHubs_test_hub_reduction_detail_mentions_split --> _build_digraph
TestHubs_test_hub_reduction_detail_mentions_split --> find_hubs
TestAnalyzeGraphReduction_test_combined_returns_all_types --> analyze_graph_reduction
TestAnalyzeGraphReduction_test_sorted_by_score_descending --> analyze_graph_reduction
TestAnalyzeGraphReduction_test_empty_graph_returns_empty --> analyze_graph_reduction
TestPhantomCyclePrevention_test_overloaded_method_name_no_phantom_scc --> _build_digraph
TestPhantomCyclePrevention_test_overloaded_method_name_no_phantom_scc --> find_sccs
TestPhantomCyclePrevention_test_unique_short_name_still_resolves --> _build_digraph
TestContractSccs_test_simple_cycle_collapsed_to_one_node --> _build_digraph
TestContractSccs_test_simple_cycle_collapsed_to_one_node --> contract_sccs
TestContractSccs_test_dag_unchanged --> _build_digraph
TestContractSccs_test_dag_unchanged --> contract_sccs
TestContractSccs_test_three_node_cycle --> _build_digraph
TestContractSccs_test_three_node_cycle --> contract_sccs
TestContractSccs_test_result_is_dag --> _build_digraph
TestContractSccs_test_result_is_dag --> contract_sccs
TestEliminateDead_test_unreachable_node_removed --> _build_digraph
TestEliminateDead_test_unreachable_node_removed --> eliminate_dead
TestEliminateDead_test_reachable_node_kept --> _build_digraph
TestEliminateDead_test_reachable_node_kept --> eliminate_dead
TestEliminateDead_test_empty_roots_keeps_all --> _build_digraph
TestEliminateDead_test_empty_roots_keeps_all --> eliminate_dead
TestTransitiveReduce_test_shortcut_edge_removed --> transitive_reduce
TestTransitiveReduce_test_unique_path_kept --> transitive_reduce
TestApplyFullReduction_test_pipeline_reduces_complex_graph --> apply_full_reduction
TestApplyFullReduction_test_pipeline_reduces_complex_graph --> ReductionCandidate_summary
TestApplyFullReduction_test_empty_graph_returns_zero_stats --> apply_full_reduction
TestApplyFullReduction_test_result_graph_is_dag --> apply_full_reduction
TestRunGoCheckerConversion__run --> run_go_checker
TestRunGoCheckerSubprocess_test_empty_paths_returns_no_evidence --> run_go_checker
TestRunGoCheckerSubprocess_test_file_path_uses_file_flag --> run_go_checker
TestRunGoCheckerSubprocess_test_directory_path_uses_dir_flag --> run_go_checker
TestRunGoCheckerSubprocess_test_timeout_returns_empty --> run_go_checker
TestRunGoCheckerSubprocess_test_oserror_returns_empty --> run_go_checker
TestRunGoCheckerSubprocess_test_bad_json_stdout_returns_empty --> run_go_checker
TestRunGoCheckerSubprocess_test_no_binary_no_go_returns_empty --> run_go_checker
TestRunGoCheckerSubprocess_test_no_binary_falls_back_to_go_run --> run_go_checker
TestRunGoCheckerSubprocess_test_explicit_binary_overrides_auto_resolve --> run_go_checker
TestRunGoCheckerSubprocess_test_extra_args_forwarded --> run_go_checker
TestGoCheckerIntegration_test_ignored_error_detected --> run_go_checker
TestGoCheckerIntegration_test_bare_recover_detected --> run_go_checker
TestGoCheckerIntegration_test_unchecked_assertion_detected --> run_go_checker
TestGoCheckerIntegration_test_goroutine_no_sync_detected --> run_go_checker
TestGoCheckerIntegration_test_goroutine_with_waitgroup_not_flagged --> run_go_checker
TestGoCheckerIntegration_test_clean_file_returns_no_violations --> run_go_checker
TestGoCheckerIntegration_test_directory_scan --> run_go_checker
TestStyleClass_test_zero_is_clean --> _style_class
TestStyleClass_test_one_is_warn --> _style_class
TestStyleClass_test_three_is_hot --> _style_class
TestStyleClass_test_four_plus_is_fire --> _style_class
TestRenderMermaid_test_starts_with_flowchart --> render_mermaid
TestRenderMermaid_test_contains_node_ids --> render_mermaid
TestRenderMermaid_test_contains_edge --> render_mermaid
TestRenderMermaid_test_fire_class_applied --> render_mermaid
TestRenderMermaid_test_clean_node_has_clean_class --> render_mermaid
TestRenderMermaid_test_highlight_uses_stadium_shape --> render_mermaid
TestRenderMermaid_test_resolved_uses_resolved_class --> render_mermaid
TestRenderMermaid_test_title_appears_in_comment --> render_mermaid
TestRenderMermaid_test_style_classes_appended --> render_mermaid
TestRenderMermaid_test_no_duplicate_edges --> render_mermaid
TestRenderMermaid_test_empty_graph_still_renders --> render_mermaid
TestRenderReductionSequence_test_empty_suggestions_returns_empty --> render_reduction_sequence
TestRenderReductionSequence_test_frame_count_is_suggestions_plus_one --> render_reduction_sequence
TestRenderReductionSequence_test_first_frame_is_baseline --> render_reduction_sequence
TestRenderReductionSequence_test_subsequent_frames_mention_function --> render_reduction_sequence
TestRenderReductionSequence_test_resolved_nodes_shown_green_in_later_frames --> render_reduction_sequence
TestFormatPrComment_test_no_violations_returns_checkmark --> format_pr_comment
TestFormatPrComment_test_has_violation_count --> format_pr_comment
TestFormatPrComment_test_has_suggestion_count --> format_pr_comment
TestFormatPrComment_test_contains_mermaid_block --> format_pr_comment
TestFormatPrComment_test_reduction_frames_are_collapsible --> format_pr_comment
test_clean_create_produces_no_violation --> check_codebase
test_missing_required_field_flagged --> check_codebase
test_pre_extracted_skips_double_parse --> extract_from_codebase
test_pre_extracted_skips_double_parse --> check_codebase
test_optional_field_not_flagged --> check_codebase
test_top_level_function_missing_arg_flagged --> check_codebase
test_kwonly_required_arg_flagged --> check_codebase
test_star_kwargs_not_flagged_as_missing_arg --> check_codebase
test_star_args_not_flagged_as_missing_arg --> check_codebase
test_missing_arg_still_flagged_without_spread --> check_codebase
test_pytest_fixture_call_not_flagged --> check_codebase
test_pytest_fixture_with_parens_not_flagged --> check_codebase
test_bare_except_flagged --> check_codebase
test_silent_except_exception_flagged --> check_codebase
test_except_exception_with_logging_not_flagged --> check_codebase
test_specific_exception_not_flagged --> check_codebase
test_save_without_update_fields_flagged --> check_codebase
test_save_with_update_fields_not_flagged --> check_codebase
test_form_save_not_flagged --> check_codebase
test_compound_serializer_save_not_flagged --> check_codebase
test_profile_save_is_flagged --> check_codebase
test_non_django_save_not_flagged --> check_codebase
test_pil_save_with_positional_not_flagged --> check_codebase
test_django_save_without_update_fields_still_flagged --> check_codebase
test_new_object_save_not_flagged --> check_codebase
test_new_object_save_via_class_attr_not_flagged --> check_codebase
test_fetched_object_save_still_flagged --> check_codebase
test_save_in_test_file_not_flagged --> check_codebase
test_save_in_subdir_test_file_not_flagged --> check_codebase
test_optional_deref_skipped_in_unittest_dir --> check_codebase
test_objects_get_not_flagged_as_optional --> check_codebase
test_chained_queryset_get_not_flagged_as_optional --> check_codebase
test_queryset_variable_get_kwargs_only_not_flagged --> check_codebase
test_django_test_client_get_not_flagged --> check_codebase
test_tornado_test_client_get_string_concat_not_flagged --> check_codebase
test_tornado_url_prefix_concat_not_flagged --> check_codebase
test_ternary_guard_not_flagged --> check_codebase
test_unguarded_optional_still_flagged --> check_codebase
test_list_default_flagged --> check_codebase
test_dict_default_flagged --> check_codebase
test_none_default_not_flagged --> check_codebase
test_immutable_default_not_flagged --> check_codebase
test_readonly_dict_default_not_flagged --> check_codebase
test_mutated_dict_default_still_flagged --> check_codebase
test_mutated_list_default_via_method_flagged --> check_codebase
test_missing_await_flagged --> check_codebase
test_awaited_call_not_flagged --> check_codebase
test_sync_function_not_flagged_as_missing_await --> check_codebase
test_drf_view_async_get_method_not_flagged --> check_codebase
test_module_level_async_func_without_await_still_flagged --> check_codebase
test_create_task_not_flagged_as_missing_await --> check_codebase
test_create_task_prefixed_wrapper_not_flagged_as_missing_await --> check_codebase
test_gather_args_not_flagged_as_missing_await --> check_codebase
test_streaming_response_not_flagged_as_missing_await --> check_codebase
test_asyncio_run_not_flagged_as_missing_await --> check_codebase
test_loop_run_until_complete_not_flagged --> check_codebase
test_async_with_context_manager_not_flagged --> check_codebase
test_async_generator_not_flagged_as_missing_await --> check_codebase
test_coroutine_assigned_to_task_not_flagged --> check_codebase
test_bare_unawaited_coroutine_still_flagged --> check_codebase
test_async_for_iter_not_flagged --> check_codebase
test_async_comprehension_iter_not_flagged --> check_codebase
test_await_protocol_not_flagged --> check_codebase
test_run_worker_not_flagged --> check_codebase
test_sync_method_calling_shared_name_not_flagged --> check_codebase
test_async_method_unawaited_still_flagged --> check_codebase
test_closure_name_collision_not_flagged --> check_codebase
test_positional_format_mismatch_flagged --> check_codebase
test_named_format_missing_kwarg_flagged --> check_codebase
test_correct_format_not_flagged --> check_codebase
test_format_with_star_args_not_flagged --> check_codebase
test_llm_choices_unguarded_flagged --> check_codebase
test_llm_choices_guarded_not_flagged --> check_codebase
test_llm_choices_ternary_guard_not_flagged --> check_codebase
test_llm_response_repeated_access_flagged_once --> check_codebase
test_llm_response_separate_functions_each_flagged --> check_codebase
test_unvalidated_lookup_chain_flagged --> check_codebase
test_unvalidated_lookup_chain_with_guard_not_flagged --> check_codebase
test_unvalidated_lookup_chain_defaultdict_not_flagged --> check_codebase
test_unvalidated_lookup_chain_annotated_defaultdict_not_flagged --> check_codebase
test_unvalidated_lookup_chain_dict_write_not_flagged --> check_codebase
test_optional_dereference_get_with_default_not_flagged --> check_codebase
test_optional_dereference_rhs_self_use_not_flagged --> check_codebase
test_optional_dereference_http_get_not_flagged --> check_codebase
test_optional_dereference_http_fstring_get_not_flagged --> check_codebase
test_optional_dereference_requests_get_url_var_not_flagged --> check_codebase
test_optional_dereference_session_get_not_flagged --> check_codebase
test_optional_dereference_dict_get_still_flagged --> check_codebase
test_optional_dereference_bool_and_guard_not_flagged --> check_codebase
test_optional_dereference_assert_not_none_guard --> check_codebase
test_optional_dereference_early_exit_or_guard_not_flagged --> check_codebase
test_optional_dereference_early_exit_simple_not_flagged --> check_codebase
test_optional_dereference_pascal_case_receiver_not_flagged --> check_codebase
test_optional_dereference_reassignment_clears_optional --> check_codebase
test_optional_dereference_membership_guard_not_flagged --> check_codebase
test_optional_dereference_dunder_session_not_flagged --> check_codebase
test_bare_except_no_callsite_flagged --> check_codebase
test_vendor_dir_bare_except_not_flagged --> check_codebase
test_underscore_vendor_dir_not_flagged --> check_codebase
test_incremental_unchanged_file_not_analyzed --> check_codebase_incremental
test_incremental_callee_change_marks_caller_dirty --> check_codebase_incremental
test_incremental_unchanged_files_skipped --> check_codebase_incremental
test_incremental_stats_skip_ratio --> check_codebase_incremental
test_incremental_full_match_when_all_changed --> check_codebase
test_incremental_full_match_when_all_changed --> check_codebase_incremental
test_overload_stub_mutable_default_not_flagged --> check_codebase
test_typing_overload_mutable_default_not_flagged --> check_codebase
test_list_comprehension_gather_pattern_not_flagged --> check_codebase
test_gather_star_comprehension_not_flagged --> check_codebase
test_list_literal_gather_pattern_not_flagged --> check_codebase
test_generator_return_gather_pattern_not_flagged --> check_codebase
test_user_defined_asyncio_run_wrapper_not_flagged --> check_codebase
test_run_async_wrapper_not_flagged --> check_codebase
test_numba_intrinsic_typingctx_not_counted --> check_codebase
test_optional_dereference_zero_arg_get_not_flagged --> check_codebase
test_optional_dereference_pandas_first_not_flagged --> check_codebase
test_click_command_no_args_not_flagged --> check_codebase
test_app_command_no_args_not_flagged --> check_codebase
test_dual_sync_async_client_missing_await_not_flagged --> check_codebase
test_main_in_dunder_main_block_not_flagged --> check_codebase
test_main_called_outside_dunder_block_still_flagged --> check_codebase
test_string_literal_join_not_flagged_as_missing_separator --> check_codebase
test_fstring_join_not_flagged_as_missing_separator --> check_codebase
test_isinstance_and_attr_not_flagged_as_optional_dereference --> check_codebase
test_get_with_keyword_default_not_flagged_as_optional_dereference --> check_codebase
test_format_dotted_attr_covered_by_root_kwarg_not_flagged --> check_codebase
test_numba_intrinsic_typingctx_not_flagged --> check_codebase
test_bodo_ctx_param_not_flagged --> check_codebase
test_same_name_closures_different_signatures_not_flagged --> check_codebase
test_schedule_coroutine_consumer_not_flagged --> check_codebase
test_optional_deref_suppressed_in_test_files --> check_codebase
test_request_session_save_not_flagged --> check_codebase
test_form_input_save_not_flagged --> check_codebase
test_conftest_and_test_base_not_flagged --> check_codebase
test_or_null_guard_not_flagged --> check_codebase
test_bare_defaultdict_not_flagged_as_lookup_chain --> check_codebase
test_for_loop_rebind_clears_get_tracking --> check_codebase
test_run_until_complete_any_loop_var_not_flagged --> check_codebase
test_ts_return_async_call_not_flagged --> check_ts_file
test_lookup_chain_const_set_guard_not_flagged --> check_codebase
test_lookup_chain_isinstance_guard_not_flagged --> check_codebase
test_lookup_chain_list_bounds_check_not_flagged --> check_codebase
test_lookup_chain_chained_bounds_check_not_flagged --> check_codebase
test_asyncio_run_direct_import_not_flagged --> check_codebase
test_format_escaped_braces_not_flagged --> check_codebase
test_async_name_reused_generator_and_coroutine_not_flagged --> check_codebase
test_coro_in_tuple_appended_to_list_not_flagged --> check_codebase
test_anyio_start_soon_coro_arg_not_flagged --> check_codebase
test_as_completed_listcomp_not_flagged --> check_codebase
test_run_sync_coro_consumer_not_flagged --> check_codebase
test_list_extend_genexpr_coro_not_flagged --> check_codebase
test_lambda_returning_coro_not_flagged --> check_codebase
test_custom_start_task_wrapper_not_flagged --> check_codebase
test_nested_async_closure_return_not_flagged --> check_codebase
test_nested_closure_name_shadows_outer_async_not_flagged --> check_codebase
test_client_namespace_get_not_flagged --> check_codebase
test_docker_client_containers_get_not_flagged --> check_codebase
test_textual_work_decorator_not_flagged --> check_codebase
test_optional_dereference_self_get_not_flagged --> check_codebase
test_required_arg_missing_with_session_not_flagged --> check_codebase
test_required_arg_missing_shadowed_closure_not_flagged --> check_codebase
test_run_long_running_task_coro_consumer_not_flagged --> check_codebase
test_run_async_in_thread_coro_consumer_not_flagged --> check_codebase
_spec --> synthesize
classDef test fill:#e8f4fd,stroke:#2196f3,color:#1565c0
classDef well_covered fill:#c8e6c9,stroke:#388e3c,color:#1b5e20
classDef covered fill:#fff9c4,stroke:#f9a825,color:#6d4c00
classDef uncovered fill:#ffcdd2,stroke:#c62828,color:#b71c1c
|
This PR exists to show the pact call graph comment. Merging immediately after the graph posts.