Skip to content

demo: trigger PR graph comment#1

Open
qizwiz wants to merge 4 commits into
mainfrom
demo/pr-graph-test
Open

demo: trigger PR graph comment#1
qizwiz wants to merge 4 commits into
mainfrom
demo/pr-graph-test

Conversation

@qizwiz
Copy link
Copy Markdown
Owner

@qizwiz qizwiz commented May 15, 2026

This PR exists to show the pact call graph comment. Merging immediately after the graph posts.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 15, 2026

Warning

Rate limit exceeded

@qizwiz has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 47 minutes and 19 seconds before requesting another review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8acdb319-0cfd-4f6f-a7cd-b27466cbaeb7

📥 Commits

Reviewing files that changed from the base of the PR and between ddecedb and 107a537.

📒 Files selected for processing (2)
  • README.md
  • examples/demo_violations.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch demo/pr-graph-test

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.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

✗ pact: 2 violation(s) (diff vs main)
/home/runner/work/pact/pact/examples/demo_violations.py:11 except:() missing: bare except: catches all exceptions including KeyboardInterrupt
/home/runner/work/pact/pact/examples/demo_violations.py:26 def register() missing: mutable list default in 'register' — shared across all calls; use None and allocate inside the function

⚡ pact: 2 refactor suggestion(s)

load_config [/home/runner/work/pact/pact/examples/demo_violations.py:7]
violations=1 callers=0 score=1.00 Z3-safe ✓
modes: bare_except

register [/home/runner/work/pact/pact/examples/demo_violations.py:26]
violations=1 callers=0 score=1.00 Z3-safe ✓
modes: mutable_default_arg

pact analysis

2 violations found · 2 refactor targets identified

Baseline — all violations

flowchart 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
Loading

Reduction sequence

After 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
Loading
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
Loading
Test coverage graph
flowchart 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
Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant