AI Slop Code RIsk Monitor

schemathesis/schemathesis

Catch API bugs before your users do

18.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for schemathesis/schemathesis, a Python project with 3,659 GitHub stars. SynthScan examined 307,512 lines of code across 1364 source files, recording 5892 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 18.2 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

18.2
Adjusted Signal
18.2
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.7K
Stars
Python
Language
307.5K
Lines of Code
1.4K
Files
5.9K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 48.9/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 4848 finding(s).

Hallucinated Dependency & Supply Chain Risk 15.8/100 · LOW

Are imports declared and package/API names verified? 841 finding(s).

Agent Over-Engineering Ratio 49.4/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 4725 finding(s).

PR Review Velocity Impact 65.2/100 · HIGH

Which changes need focused human review? 5892 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 12HIGH 88MEDIUM 22LOW 5770

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 5892 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers4485 hits · 3736 pts
SeverityFileLineSnippetContext
LOWtools/corpus/metrics.py21def collect_dependency_metrics(raw_schema: JsonSchemaObject) -> DependencyMetrics:CODE
LOWtools/corpus/io.py222def iter_corpus_entries_from_refs(CODE
LOWtest/conftest.py93def _isolate_schemathesis_state(tmp_path, monkeypatch):CODE
LOWtest/conftest.py266def schema_with_recursive_references():CODE
LOWtest/test_package.py20def test_builtin_check_importable_from_checks_module():CODE
LOWtest/utils.py38def has_hypothesis_failure_header(text: str, test_name: str = "") -> bool:CODE
LOWtest/utils.py289 def assert_after_execution_status(self, status: Status) -> None:CODE
LOWtest/filters/test_matching.py250def test_forbid_value_and_auth():CODE
LOWtest/filters/test_matching.py287def test_unmatched_filter_carries_schema_terms_not_cli_spelling(ctx):CODE
LOW⚡test/reporting/test_crashes.py340def test_crash_step_roundtrips_dict_that_looks_like_bytes_sentinel():CODE
LOW⚡test/reporting/test_crashes.py350def test_crash_step_roundtrips_real_bytes_body():CODE
LOW⚡test/reporting/test_crashes.py358def test_crash_step_roundtrips_bytes_in_param_containers():CODE
LOWtest/reporting/test_crashes.py93def test_build_crashes_skips_scenario_with_missing_interaction(case_factory):CODE
LOWtest/reporting/test_crashes.py105def test_build_crashes_captures_request_body_link(case_factory):CODE
LOWtest/reporting/test_crashes.py144def test_build_crashes_includes_related_sibling_case(case_factory):CODE
LOWtest/reporting/test_crashes.py176def test_remove_by_operation_matches_exact_operation(tmp_path, case_factory):CODE
LOWtest/reporting/test_crashes.py191def test_remove_by_operation_skips_malformed_file(tmp_path):CODE
LOWtest/reporting/test_crashes.py204def test_remove_by_operation_skips_non_object_file(tmp_path):CODE
LOWtest/reporting/test_crashes.py218def test_remove_by_operation_retries_a_locked_file(tmp_path):CODE
LOWtest/reporting/test_crashes.py237def test_remove_by_operation_skips_a_file_it_cannot_delete(tmp_path):CODE
LOWtest/reporting/test_crashes.py253def test_remove_by_operation_tolerates_concurrent_removal(tmp_path):CODE
LOWtest/reporting/test_crashes.py280def test_remove_files_ignores_already_dropped_file(tmp_path):CODE
LOWtest/reporting/test_crashes.py292def test_rerun_refreshes_stored_case_id(tmp_path):CODE
LOWtest/reporting/test_crashes.py306def test_same_run_keeps_first_case_id(tmp_path):CODE
LOWtest/reporting/test_crashes.py317def test_build_crashes_skips_timing_only_failure(case_factory):CODE
LOWtest/reporting/test_crashes.py329def test_build_crashes_tolerates_unknown_response_charset(case_factory):CODE
LOWtest/reporting/test_crashes.py369def test_crash_step_roundtrips_bytes_in_mutation_metadata():CODE
LOWtest/reporting/test_crashes.py390def test_request_headers_are_sanitized(case_factory):CODE
LOWtest/reporting/test_crashes.py419def test_list_root_request_body_is_sanitized(case_factory):CODE
LOWtest/reporting/test_crashes.py441def test_load_manifest_rejects_unknown_format_version(tmp_path):CODE
LOWtest/reporting/test_writers.py16def test_ndjson_writer_context_manager():CODE
LOWtest/reporting/test_writers.py25def test_ndjson_writer_context_manager_closes_file():CODE
LOWtest/reporting/test_writers.py36def test_junitxml_writer_context_manager():CODE
LOWtest/reporting/test_writers.py45def test_vcr_writer_writes_header_to_stream():CODE
LOWtest/reporting/test_writers.py65def test_writer_context_manager_no_error_without_open(writer_cls, kwargs):CODE
LOWtest/reporting/test_writers.py136def test_command_representation(monkeypatch, entrypoint, expected):CODE
LOWtest/code_samples/test_curl.py111def test_graphql_schema_loaded_from_file(ctx, curl, tmp_path, loader):CODE
LOWtest/code_samples/test_curl.py137def test_as_curl_command_sanitizes_string_query_params(curl):CODE
LOWtest/code_samples/test_curl.py150def test_as_curl_command_sanitizes_raw_query_with_empty_segments(ctx):CODE
LOWtest/code_samples/test_curl.py173def test_as_curl_command_sanitizes_json_body(ctx, body, expected):CODE
LOWtest/code_samples/test_curl.py191def test_as_curl_command_keeps_non_sensitive_raw_query_pairs(ctx):CODE
LOWtest/code_samples/test_curl.py217def test_cli_output_includes_insecure(ctx, cli, curl):CODE
LOWtest/code_samples/test_curl.py241def _send_then_validate_with_base_url(case, base_url):CODE
LOWtest/code_samples/test_curl.py249def test_reproduce_with_overridden_base_url(ctx, tmp_path, validate):CODE
LOWtest/code_samples/test_curl.py264def test_reproduce_after_same_host_redirect(ctx, app_runner, validate):CODE
LOWtest/code_samples/test_curl.py296def test_reproduce_when_validated_response_has_no_request_url(ctx, response_factory):CODE
LOWtest/code_samples/test_curl.py310def test_pytest_subtests_output(ctx, testdir):CODE
LOWtest/code_samples/test_curl.py331def test_curl_command_validity(curl, loose_schema):STRING
LOWtest/code_samples/test_curl.py391def test_shell_aware_escaping(curl, monkeypatch, shell_type, case_kwargs, expected_command):STRING
LOWtest/code_samples/test_curl.py407def test_truncated_printable_body_is_quoted(monkeypatch, shell_type):STRING
LOWtest/code_samples/test_curl.py421def test_multipart_with_array_of_bytes_body(curl):STRING
LOWtest/code_samples/test_curl.py502def test_raw_multipart_bytes_body_boundary(ctx, monkeypatch, body, expected):STRING
LOWtest/code_samples/test_curl.py563def test_multipart_boundary_matches_between_header_and_body(multipart_schema, monkeypatch, path, body):STRING
LOWtest/code_samples/test_curl.py576def test_multipart_curl_command_is_stable(multipart_schema, path, body):STRING
LOWtest/code_samples/test_curl.py581def test_empty_multipart_curl_body_keeps_closing_delimiter(multipart_schema, monkeypatch):STRING
LOWtest/tooling/test_changelog.py57def test_issue_numbers_for_unknown_version():STRING
LOW⚡test/tooling/corpus/test_metrics.py6def test_add_dependency_metrics_empty_returns_zero():CODE
LOW⚡test/tooling/corpus/test_metrics.py10def test_add_dependency_metrics_sums_field_by_field():CODE
LOW⚡test/tooling/corpus/test_metrics.py19def test_collect_dependency_metrics_counts_resources_inputs_outputs(ctx):CODE
LOWtest/tooling/corpus/test_locator.py10def test_parse_corpus_path_splits_corpus_and_member():CODE
4425 more matches not shown…
Unused Imports729 hits · 700 pts
SeverityFileLineSnippetContext
LOWchangelog.py3CODE
LOWtools/corpus/metrics.py1CODE
LOWtools/corpus/io.py1CODE
LOWtools/corpus/locator.py1CODE
LOWtools/corpus/conformance.py1CODE
LOWtest/conftest.py1CODE
LOWtest/conftest.py7CODE
LOWtest/conftest.py20CODE
LOWtest/conftest.py29CODE
LOWtest/conftest.py30CODE
LOWtest/utils.py1CODE
LOWtest/reporting/test_crashes.py1CODE
LOWtest/reporting/test_writers.py1CODE
LOWtest/code_samples/conftest.py1CODE
LOWtest/tooling/test_changelog.py1CODE
LOWtest/tooling/corpus/conftest.py1CODE
LOWtest/tooling/corpus/test_metrics.py1CODE
LOWtest/tooling/corpus/test_locator.py1CODE
LOWtest/tooling/corpus/test_io.py1CODE
LOWtest/tooling/corpus/test_conformance.py1CODE
LOWtest/tooling/analyze/conftest.py1CODE
LOWtest/transport/conftest.py1CODE
LOWtest/core/test_text.py1CODE
LOWtest/core/test_rate_limit_auto.py1CODE
LOWtest/core/cache/test_writer.py1CODE
LOWtest/core/cache/test_bounded.py1CODE
LOWtest/core/cache/test_io.py1CODE
LOWtest/core/jsonschema/test_resolver_adapter.py1CODE
LOWtest/core/error_feedback/test_field_inference.py1CODE
LOWtest/core/error_feedback/test_store.py1CODE
LOWtest/core/error_feedback/test_collector.py1CODE
LOWtest/core/error_feedback/parsers/test_registry.py1CODE
LOWtest/core/error_feedback/parsers/test_jackson.py1CODE
LOWtest/core/error_feedback/parsers/test_drf.py1CODE
LOWtest/core/error_feedback/parsers/test_marshmallow.py1CODE
LOWtest/core/error_feedback/parsers/test_confluent.py1CODE
LOWtest/core/error_feedback/parsers/test_spring.py1CODE
LOWtest/core/error_feedback/parsers/test_rails.py1CODE
LOWtest/core/error_feedback/parsers/test_pydantic.py1CODE
LOWtest/core/error_feedback/parsers/test_flask_rest.py1CODE
LOWtest/core/error_feedback/parsers/test_restler.py1CODE
LOWtest/core/error_feedback/parsers/test_zod.py1CODE
LOWtest/core/error_feedback/parsers/test_go_validator.py1CODE
LOWtest/core/error_feedback/parsers/test_litestar.py1CODE
LOWtest/core/error_feedback/parsers/test_aspnet.py1CODE
LOWtest/core/error_feedback/parsers/test_ajv.py1CODE
LOWtest/core/error_feedback/parsers/test_symfony.py1CODE
LOWtest/core/error_feedback/parsers/helpers.py1CODE
LOWtest/core/error_feedback/parsers/test_laravel.py1CODE
LOWtest/python/test_server_exception.py1CODE
LOWtest/auth/test_dynamic_auth.py1CODE
LOWtest/auth/test_wfc.py1CODE
LOWtest/auth/test_provider.py1CODE
LOWtest/specs/openapi/test_resources.py1CODE
LOWtest/specs/openapi/test_error_feedback.py1CODE
LOWtest/specs/openapi/test_semantic_pool.py1CODE
LOWtest/specs/openapi/test_body_overrides.py1CODE
LOWtest/specs/openapi/test_swagger_v2.py1CODE
LOWtest/specs/openapi/test_randomized.py1CODE
LOWtest/specs/openapi/test_dictionary_generation.py1CODE
669 more matches not shown…
Deep Nesting258 hits · 240 pts
SeverityFileLineSnippetContext
LOWtools/corpus/io.py95CODE
LOWtools/corpus/io.py181CODE
LOWtest/utils.py325CODE
LOWtest/pytest/test_asgi.py323CODE
LOWtest/pytest/test_asgi.py328CODE
LOWtest/config/test_doc_examples.py138CODE
LOWtest/specs/openapi/test_swagger_v2.py112CODE
LOWtest/specs/openapi/test_hypothesis.py550CODE
LOWtest/specs/openapi/test_media_types.py250CODE
LOWtest/specs/openapi/test_media_types.py285CODE
LOW…/specs/openapi/stateful/inference/test_dependencies.py7235CODE
LOW…/specs/openapi/stateful/inference/test_dependencies.py7294CODE
LOW…/specs/openapi/stateful/inference/test_dependencies.py8527CODE
LOW…st/specs/openapi/parameters/test_multipart_encoding.py479CODE
LOW…st/specs/openapi/parameters/test_multipart_encoding.py498CODE
LOWtest/cli/test_ndjson.py296CODE
LOWtest/cli/test_ndjson.py575CODE
LOWtest/cli/test_error_feedback.py142CODE
LOWtest/cli/test_error_feedback.py153CODE
LOWtest/cli/test_cassettes.py108CODE
LOWtest/cli/test_cassettes.py221CODE
LOWtest/engine/test_engine.py1794CODE
LOWtest/engine/test_operation_ordering.py337CODE
LOWscripts/profile.py250CODE
LOWscripts/analyze/metrics.py616CODE
LOWscripts/analyze/metrics.py683CODE
LOWscripts/analyze/metrics.py756CODE
LOWscripts/analyze/metrics.py881CODE
LOWscripts/analyze/metrics.py934CODE
LOWbenches/bundler.py206CODE
LOWtest-corpus/test_schemastore.py235CODE
LOWtest-corpus/test_schemastore.py282CODE
LOWtest-corpus/test_schemastore.py238CODE
LOWtest-corpus/test_schemastore.py262CODE
LOWsrc/schemathesis/hooks.py385CODE
LOWsrc/schemathesis/hooks.py413CODE
LOWsrc/schemathesis/checks.py503CODE
LOWsrc/schemathesis/auths.py142CODE
LOWsrc/schemathesis/reporting/allure.py207CODE
LOWsrc/schemathesis/reporting/vcr.py228CODE
LOWsrc/schemathesis/reporting/vcr.py48CODE
LOWsrc/schemathesis/reporting/crashes/__init__.py277CODE
LOWsrc/schemathesis/reporting/html/render.py296CODE
LOWsrc/schemathesis/transport/__init__.py87CODE
LOWsrc/schemathesis/transport/requests.py344CODE
LOWsrc/schemathesis/transport/requests.py484CODE
LOWsrc/schemathesis/transport/prepare.py46CODE
LOWsrc/schemathesis/transport/prepare.py167CODE
LOWsrc/schemathesis/transport/serialization.py17CODE
LOWsrc/schemathesis/core/transforms.py47CODE
LOWsrc/schemathesis/core/transforms.py154CODE
LOWsrc/schemathesis/core/transport.py143CODE
LOWsrc/schemathesis/core/shell.py170CODE
LOWsrc/schemathesis/core/loaders.py85CODE
LOWsrc/schemathesis/core/deserialization.py271CODE
LOWsrc/schemathesis/core/errors.py635CODE
LOWsrc/schemathesis/core/errors.py279CODE
LOWsrc/schemathesis/core/output/sanitization.py23CODE
LOWsrc/schemathesis/core/jsonschema/bundler.py278CODE
LOWsrc/schemathesis/core/jsonschema/bundler.py68CODE
198 more matches not shown…
Empty Error Handlers41 hits · 205 pts
SeverityFileLineSnippetContext
HIGHtest/transport/test_serialization.py2028except SerializationError:CODE
HIGHtest/specs/openapi/test_expressions.py215except RuntimeExpressionError:CODE
HIGHtest/specs/openapi/test_ignored_auth.py103except FailureGroup:CODE
HIGHtest/specs/openapi/test_dereferencing.py175except RecursionError:CODE
HIGHtest/specs/openapi/stateful/test_stateful.py530except FailureGroup:CODE
HIGHtest/engine/test_engine.py1425except KeyboardInterrupt:CODE
HIGHscripts/profile.py202except SystemExit:CODE
HIGHbenches/multi_operation.py50except Exception:CODE
HIGHtest-corpus/test_corpus.py274except (CODE
HIGHtest-corpus/test_corpus.py182except (Failure, FailureGroup):CODE
HIGHsrc/schemathesis/reporting/crashes/__init__.py265except FileNotFoundError:CODE
HIGHsrc/schemathesis/transport/requests.py305except requests.exceptions.RequestException:CODE
HIGHsrc/schemathesis/transport/prepare.py147except (IndexError, ValueError):CODE
HIGHsrc/schemathesis/transport/serialization.py211except KeyError:CODE
HIGHsrc/schemathesis/core/transforms.py53except ValueError:CODE
HIGHsrc/schemathesis/core/transport.py282except ImportError:CODE
HIGHsrc/schemathesis/core/transport.py289except ImportError:CODE
HIGHsrc/schemathesis/core/rate_limit.py44except ValueError:CODE
HIGHsrc/schemathesis/core/cache/bounded.py28except KeyError:CODE
HIGHsrc/schemathesis/pytest/plugin.py587except ImportError:CODE
HIGHsrc/schemathesis/python/django.py41except DisallowedHost:CODE
HIGHsrc/schemathesis/python/asgi.py90except Exception:CODE
HIGHsrc/schemathesis/python/_constants/walk.py57except BaseException:CODE
HIGHsrc/schemathesis/specs/openapi/schemas.py642except TypeError:CODE
HIGHsrc/schemathesis/specs/openapi/utils.py53except (ValueError, TypeError):CODE
HIGHsrc/schemathesis/specs/openapi/utils.py58except (ValueError, TypeError):CODE
HIGHsrc/schemathesis/specs/openapi/extra_data_source.py848except TypeError: # unhashable value (e.g. list); fall through, eviction still runsCODE
HIGHsrc/schemathesis/specs/openapi/examples.py646except requests.RequestException:CODE
HIGHsrc/schemathesis/specs/openapi/adapter/responses.py238except RefResolutionError:CODE
HIGHsrc/schemathesis/specs/openapi/adapter/validators.py35except ValueError:CODE
HIGHsrc/schemathesis/cli/commands/run/handlers/crashes.py105except OSError:CODE
HIGHsrc/schemathesis/openapi/loaders.py293except ValueError:CODE
HIGHsrc/schemathesis/engine/outage.py231except OSError:CODE
HIGHsrc/schemathesis/engine/run/cache.py144except OSError:CODE
HIGHsrc/schemathesis/engine/run/cache.py215except OSError:CODE
HIGHsrc/schemathesis/generation/case.py336except (TypeError, ValueError):CODE
HIGHsrc/schemathesis/generation/case.py462except Exception:CODE
HIGHsrc/schemathesis/generation/jsonschema/strategy.py780except DECLINED:CODE
HIGHsrc/schemathesis/generation/jsonschema/strategy.py1627except InvalidArgument:CODE
HIGHsrc/schemathesis/generation/jsonschema/strategy.py1636except InvalidArgument:CODE
HIGHsrc/schemathesis/generation/jsonschema/strategy.py773except DECLINED:CODE
Cross-Language Confusion32 hits · 169 pts
SeverityFileLineSnippetContext
HIGH⚡test/transport/test_serialization.py503 (["x", {"b": None}], ["x", '{"b": null}']),CODE
HIGH⚡test/transport/test_serialization.py1722 ({"a": 1, "b": None}, b'{"a": 1, "b": null}'),CODE
HIGH⚡test/transport/test_serialization.py1723 ([1, "x", None], b'[1, "x", null]'),CODE
HIGH⚡test/transport/test_serialization.py1724 ({"outer": {"inner": None}}, b'{"outer": {"inner": null}}'),CODE
HIGHtest/transport/test_serialization.py628 ("text/plain", {"type": "object"}, {"x": None}, [["f", "text/plain", '{"x": null}']]),CODE
HIGHtest/core/error_feedback/parsers/test_spring.py32 b'rejected value [null]; codes [...]; default message [must not be null]] ",'CODE
HIGHtest/core/error_feedback/parsers/test_spring.py88 {"detail": "... [Field error in object 'X' on field 'y': default message [must not be null]]"},CODE
HIGHtest/core/error_feedback/parsers/test_spring.py715 b"[Field error in object 'X' on field 'email': rejected value [null]; "CODE
HIGHtest/core/error_feedback/parsers/test_spring.py716 b"codes [...]; default message [must not be null]] "CODE
HIGHtest/specs/openapi/test_negative.py472 # FastAPI's `Optional[Enum]` query param shape: `anyOf:[{$ref}, {type:null}]` with a sibling enum.COMMENT
HIGHtest/specs/openapi/test_resilience.py34 [{"url": "http://x/{undefined}"}],CODE
HIGH⚡test/specs/openapi/test_error_feedback.py75 """Detect OpenAPI 3.1 / JSON Schema 2020-12 type-union syntax (`type: [..., null]`)."""STRING
HIGH⚡test/specs/openapi/test_error_feedback.py88 The validator is auto-selected: schemas using `type: [..., null]` syntax areSTRING
HIGH⚡test/specs/openapi/test_serializing.py961 (openapi3_delimited_parameter("form"), "3.0.2", "color=null,true,false,1,1.5,x"),STRING
HIGH⚡test/specs/openapi/test_serializing.py965 (swagger2_delimited_parameter("csv"), "2.0", "color=null,true,false,1,1.5,x"),STRING
HIGHtest/specs/openapi/test_serializing.py626 # Example from OAS 3.2: {"numbers":[1,2],"flag":null}STRING
HIGHtest/specs/openapi/test_serializing.py1013_WIRE_FORM_RENDERED = (("arr", "null,true,false,1,1.5,x"), ("flag", "true"), ("opt", "null"))STRING
HIGHtest/specs/openapi/test_hypothesis.py196 # No mainstream framework reads `?limit=null` as a JSON null; absence is how a query string says "no value".COMMENT
HIGHtest/specs/openapi/test_checks.py2172 (MULTIPART, None, ["x", {"b": None}], b'name="description"\r\n\r\n{"b": null}\r\n'),CODE
HIGH⚡test/specs/graphql/test_resource_pool.py257 [b"not-json", b"{}", b'{"data": null}', b'{"data": "scalar"}'],STRING
HIGHtest/specs/graphql/test_basic.py439 "wrongly returned a null value. The graphql specification requires that the parent field be set to null, or if "CODE
HIGH⚡test/specs/graphql/test_basic.py1030 (b'{"data": null, "errors": [{"message": "Boom", "path": ["getBooks"]}]}', CallOutcome.REJECTED),STRING
HIGH⚡test/specs/graphql/test_basic.py1032 (b'{"data": null}', CallOutcome.REJECTED),STRING
HIGHtest/cli/test_replay.py1216 ('{"id": 1}', '{"id": null}', ["/id"], False),CODE
HIGHtest/engine/test_checks.py415 b'{"success": null}',CODE
HIGHtest/engine/test_checks.py526 response_factory.requests(content=b'{"direction": ["N", "E", "S", "W", null]}'), TrueCODE
HIGHtest/apps/catalog/openapi/wfc.py30 # Rich body covers every token-extraction branch: string, coerced number, null, and non-string.COMMENT
HIGHtest/generation/test_hypothesis.py304 # A 3.1 `type: [null, boolean]` body lifts to a multi-type union; values stay null or boolean.COMMENT
HIGHsrc/schemathesis/core/error_feedback/parsers/spring.py31 r"|can(?:not|'?t) be (?:blank|empty|null)"CODE
HIGHsrc/schemathesis/core/error_feedback/parsers/spring.py140# `detail`, e.g. `... [Field error in object 'X' on field 'Y': ...; default message [must not be null]]`.COMMENT
HIGHsrc/schemathesis/specs/openapi/_hypothesis.py1131 Query strings have no rendering for a JSON null; leaving the parameter out is what "no value" means there.STRING
HIGHsrc/schemathesis/specs/openapi/converter.py124 # An `enum` that omits null forbids null, so requests keep it as written; responses stay lenient.COMMENT
Hallucination Indicators12 hits · 120 pts
SeverityFileLineSnippetContext
CRITICALtest/code_samples/test_curl.py81 case.operation.schema.config.output.sanitization.update(enabled=False)CODE
CRITICALtest/pytest/test_config_options.py132schema.config.phases.fuzzing.generation.update(max_examples={max_examples})CODE
CRITICALtest/specs/openapi/negative/test_deep_distribution.py45 schema.config.phases.fuzzing.generation.update(max_examples=500)CODE
CRITICALtest/specs/openapi/negative/test_deep_distribution.py75 schema.config.phases.fuzzing.generation.update(max_examples=500)CODE
CRITICALtest/specs/openapi/negative/test_deep_distribution.py106 schema.config.phases.fuzzing.generation.update(max_examples=300)CODE
CRITICALtest/cli/test_negative_metadata.py191 schema.config.phases.fuzzing.generation.update(max_examples=20)CODE
CRITICALtest/cli/test_negative_metadata.py213 schema.config.phases.fuzzing.generation.update(max_examples=50)CODE
CRITICALtest/generation/test_hypothesis.py81 schema.config.phases.fuzzing.generation.update(modes=[GenerationMode.NEGATIVE])CODE
CRITICALsrc/schemathesis/auths.py682 for scheme in schema.config.auth.dynamic.schemes.values():CODE
CRITICALsrc/schemathesis/specs/openapi/object_authorization.py135 node = case.operation.schema.analysis.dependency_graph.operations.get(case.operation.label)CODE
CRITICALsrc/schemathesis/specs/openapi/analysis.py197 and self.schema.config.phases.stateful.inference.is_algorithm_enabled(CODE
CRITICALsrc/schemathesis/specs/openapi/checks.py1016 for scheme in operation.schema.config.auth.dynamic.schemes.values():CODE
Excessive Try-Catch Wrapping88 hits · 92 pts
SeverityFileLineSnippetContext
MEDIUMtools/corpus/io.py116 print(f"Error parsing {file_path}") # noqa: T201CODE
LOWtools/corpus/locator.py46 except Exception:CODE
LOWtest/conftest.py61 except Exception:CODE
LOWtest/conftest.py65 except Exception:CODE
MEDIUMtest/conftest.py58def _get_current_coverage() -> Any | None:CODE
LOWtest/utils.py185 except Exception:CODE
LOWtest/core/cache/test_bounded.py33 except Exception as exc:CODE
LOW⚡test/specs/openapi/test_resources.py152 except Exception as exc:CODE
LOWtest/specs/openapi/test_resources.py108 except Exception as exc:CODE
LOWtest/cli/test_commands.py3131 except Exception as exc:STRING
LOWdocs/guides/custom-response-deserializers.md49 except Exception as exc:CODE
LOWscripts/profile.py204 except Exception as exc: # noqa: BLE001CODE
LOWbenches/multi_operation.py34 except Exception:CODE
LOWbenches/multi_operation.py50 except Exception:CODE
LOWsrc/schemathesis/hooks.py67 except Exception:CODE
MEDIUMsrc/schemathesis/hooks.py64def _reset_on_error() -> Generator:CODE
LOWsrc/schemathesis/checks.py303 except Exception as exc:CODE
LOWsrc/schemathesis/checks.py531 except Exception as exc:CODE
LOWsrc/schemathesis/checks.py569 except Exception as exc:CODE
LOWsrc/schemathesis/auths.py172 except Exception as exc:CODE
LOWsrc/schemathesis/auths.py337 except Exception as exc:CODE
LOWsrc/schemathesis/auths.py708 except Exception:CODE
LOWsrc/schemathesis/core/hooks.py25 except Exception as exc:CODE
LOWsrc/schemathesis/core/rate_limit.py51 except Exception:CODE
LOWsrc/schemathesis/core/jsonschema/__init__.py361 except Exception:CODE
LOWsrc/schemathesis/core/error_feedback/pipeline.py61 except Exception:CODE
LOWsrc/schemathesis/pytest/xdist.py372 except Exception:CODE
LOWsrc/schemathesis/pytest/plugin.py301 except Exception:CODE
LOWsrc/schemathesis/pytest/plugin.py341 except Exception:CODE
LOWsrc/schemathesis/pytest/plugin.py362 except Exception:CODE
LOWsrc/schemathesis/python/asgi.py77 except Exception as exc:CODE
LOWsrc/schemathesis/python/asgi.py90 except Exception:CODE
LOWsrc/schemathesis/python/asgi.py141 except Exception:CODE
MEDIUMsrc/schemathesis/python/asgi.py120def stop(self) -> None:CODE
LOWsrc/schemathesis/python/_constants/orchestrator.py171 except Exception:CODE
LOWsrc/schemathesis/python/_constants/orchestrator.py196 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/auth_inference.py91 except Exception: # noqa: BLE001 - probe must not propagate; one bad scheme can't kill the loop.CODE
LOW⚡src/schemathesis/specs/openapi/checks.py589 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py315 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py408 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py486 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py553 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py697 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py816 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/checks.py1262 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/auths.py198 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/auths.py227 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/operations.py302 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/content_keywords.py97 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/examples.py829 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/validation.py130 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/stateful/links.py172 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/stateful/links.py227 except Exception as exc:CODE
LOWsrc/schemathesis/specs/openapi/stateful/links.py242 except Exception as exc:CODE
LOW…c/schemathesis/specs/openapi/stateful/_link_chooser.py34 except Exception:CODE
MEDIUM…c/schemathesis/specs/openapi/stateful/_link_chooser.py31def in response_def.iter_links():CODE
LOW⚡src/schemathesis/specs/openapi/adapter/parameters.py951 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/adapter/parameters.py341 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/adapter/parameters.py370 except Exception:CODE
LOWsrc/schemathesis/specs/openapi/adapter/parameters.py1032 except Exception:CODE
28 more matches not shown…
Modern Structural Boilerplate63 hits · 63 pts
SeverityFileLineSnippetContext
LOWsrc/schemathesis/__init__.py19__all__ = [CODE
LOWsrc/schemathesis/auths.py195 def _set_cache_entry(self, data: Auth, case: Case, context: AuthContext) -> None:CODE
LOWsrc/schemathesis/auths.py223 def _set_cache_entry(self, data: Auth, case: Case, context: AuthContext) -> None:CODE
LOWsrc/schemathesis/auths.py569def set_on_case(case: Case, context: AuthContext, auth_storage: AuthStorage | None) -> None:CODE
LOWsrc/schemathesis/errors.py30__all__ = [CODE
LOWsrc/schemathesis/reporting/__init__.py7__all__ = [CODE
LOWsrc/schemathesis/reporting/html/__init__.py13__all__ = ["write_report"]CODE
LOWsrc/schemathesis/core/compat.py9__all__ = ["BaseExceptionGroup"]CODE
LOWsrc/schemathesis/core/cache/__init__.py13__all__ = [CODE
LOWsrc/schemathesis/core/jsonschema/__init__.py374__all__ = [CODE
LOWsrc/schemathesis/core/error_feedback/__init__.py19__all__ = [CODE
LOWsrc/schemathesis/core/error_feedback/parsers/zod.py186__all__ = ["ZodParser"]CODE
LOWsrc/schemathesis/core/error_feedback/parsers/aspnet.py216__all__ = ["AspNetParser"]CODE
LOW…chemathesis/core/error_feedback/parsers/marshmallow.py206__all__ = ["MarshmallowParser"]CODE
LOWsrc/schemathesis/core/error_feedback/parsers/restler.py174__all__ = ["RestlerParser"]CODE
LOWsrc/schemathesis/core/error_feedback/parsers/ajv.py371__all__ = ["AjvParser"]CODE
LOW…/schemathesis/core/error_feedback/parsers/confluent.py154__all__ = ["ConfluentParser"]CODE
LOW…hemathesis/core/error_feedback/parsers/go_validator.py253__all__ = ["GoValidatorParser"]CODE
LOWsrc/schemathesis/core/error_feedback/parsers/laravel.py190__all__ = ["LaravelParser"]CODE
LOW…c/schemathesis/core/error_feedback/parsers/litestar.py191__all__ = ["LitestarParser"]CODE
LOW…schemathesis/core/error_feedback/parsers/flask_rest.py226__all__ = ["FlaskRestParser"]CODE
LOWsrc/schemathesis/core/error_feedback/parsers/symfony.py239__all__ = ["SymfonyParser"]CODE
LOWsrc/schemathesis/pytest/__init__.py13__all__ = [CODE
LOWsrc/schemathesis/python/__init__.py3__all__ = ["constants"]CODE
LOWsrc/schemathesis/python/_constants/__init__.py4__all__ = ["ConstantEntry", "ConstantsPool", "Origin", "constants"]CODE
LOWsrc/schemathesis/config/__init__.py52__all__ = [CODE
LOWsrc/schemathesis/config/_warnings.py10__all__ = ["SchemathesisWarning", "WarningsConfig"]CODE
LOWsrc/schemathesis/config/_checks.py314 def _set_enabled(self, name: str, *, known_names: set[str], enabled: bool) -> None:CODE
LOWsrc/schemathesis/config/_projects.py709 def _set_parent(self, parent: SchemathesisConfig) -> None:CODE
LOWsrc/schemathesis/specs/openapi/_auth_retry.py31def set_auth_for_case(case: Case, parameter: Mapping[str, Any]) -> None:CODE
LOWsrc/schemathesis/specs/openapi/definitions.py2572__all__ = ["SWAGGER_20", "OPENAPI_30", "OPENAPI_31", "OPENAPI_32", *_VALIDATORS]CODE
LOWsrc/schemathesis/specs/openapi/converter.py611def update_pattern_in_schema(schema: dict[str, Any]) -> None:CODE
LOWsrc/schemathesis/specs/openapi/__init__.py12__all__ = [CODE
LOWsrc/schemathesis/specs/openapi/examples.py551def _update_dict_keyword(merged: dict[str, Any], key: str, value: Any) -> None:CODE
LOWsrc/schemathesis/specs/openapi/types/__init__.py9__all__ = ["OperationObject", "common", "v2", "v3"]CODE
LOW…thesis/specs/openapi/stateful/dependencies/__init__.py57__all__ = [CODE
LOW…mathesis/specs/openapi/stateful/dependencies/inputs.py623def update_input_field_bindings(resource_name: str, operations: OperationMap) -> None:CODE
LOWsrc/schemathesis/specs/openapi/adapter/v3_2.py49__all__ = [CODE
LOWsrc/schemathesis/specs/openapi/adapter/__init__.py4__all__ = [CODE
LOWsrc/schemathesis/specs/openapi/expressions/__init__.py19__all__ = ["MultiMatch", "lexer", "nodes", "parser"]CODE
LOWsrc/schemathesis/specs/graphql/nodes.py10__all__ = [ # noqa: F822CODE
LOWsrc/schemathesis/specs/graphql/stateful/__init__.py127__all__ = ["GraphQLStateMachine", "create_state_machine"]CODE
LOWsrc/schemathesis/wfc/__init__.py14__all__ = [CODE
LOWsrc/schemathesis/resources/__init__.py116__all__ = [CODE
LOWsrc/schemathesis/baseline/__init__.py3__all__ = ["Baseline", "BaselineEntry", "Identity", "failure_identity"]CODE
LOWsrc/schemathesis/cli/__init__.py10__all__ = [CODE
LOWsrc/schemathesis/cli/commands/fuzz/handlers/output.py203 def update_error_count(self, error_count: int) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/__init__.py9__all__ = [CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py748 def set_suffix(self, suffix: str) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py752 def _update_stats_display(self) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py787 def update_progress(self) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py829 def update_stats(self, label: str, status: Status) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py994 def _update_progress_display(self) -> None:CODE
LOWsrc/schemathesis/cli/commands/run/handlers/output.py1016 def _update_stats_display(self) -> None:CODE
LOWsrc/schemathesis/openapi/__init__.py4__all__ = [CODE
LOWsrc/schemathesis/openapi/generation/filters.py7__all__ = [CODE
LOWsrc/schemathesis/graphql/__init__.py5__all__ = [CODE
LOWsrc/schemathesis/engine/core.py274 def _settle_stateful(self, engine: EngineContext) -> None:CODE
LOWsrc/schemathesis/engine/errors.py39__all__ = ["EngineErrorInfo", "DeadlineExceeded", "UnexpectedError"]CODE
LOWsrc/schemathesis/generation/__init__.py8__all__ = [CODE
3 more matches not shown…
Fake / Example Data65 hits · 56 pts
SeverityFileLineSnippetContext
LOWtest/filters/test_expressions.py9 ('/user/name == "John Doe"', ("/user/name", "==", "John Doe")),CODE
LOWtest/filters/test_expressions.py20 (' /user/name == "John Doe" ', ("/user/name", "==", "John Doe")),CODE
LOWtest/filters/test_expressions.py23 ('/user/email == "user@example.com"', ("/user/email", "==", "user@example.com")),CODE
LOW⚡test/filters/test_expressions.py35 '/user/name "John Doe"',CODE
LOW⚡test/filters/test_expressions.py36 '/user/name <> "John Doe"',CODE
LOW⚡test/filters/test_expressions.py40 '== "John Doe"',CODE
LOWtest/python/test_case_metadata.py848 original_value="user@example.com",STRING
LOWtest/python/_constants/test_filter.py13 ("user@example.com", True),CODE
LOW⚡test/python/_constants/test_generation.py746 assert _draw(data, source, schema_properties={"blob": schema}) == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py767 assert _draw(data, _source("bytes", b"OK"), schema_properties={"blob": schema}) == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py774 assert _draw(data, _source("bytes", b"x"), schema_properties={"blob": schema}) == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py784 assert blob == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py796 assert _draw(data, source, schema_properties={"blob": schema}) == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py804 source = _source("string", "user@example.com")CODE
LOW⚡test/python/_constants/test_generation.py806 assert _draw(data, source, schema_properties={"blob": schema}) == "user@example.com"CODE
LOW⚡test/python/_constants/test_generation.py816 assert _draw(data, source, schema_properties={"blob": schema}) == "placeholder"CODE
LOW⚡test/python/_constants/test_generation.py842 st.just(GeneratedValue(value={"blob": "placeholder"}, meta=None)),CODE
LOW⚡test/python/_constants/test_generation.py1026 assert blob == "placeholder"CODE
LOWtest/python/_constants/test_generation.py727 st.just({"blob": "placeholder"}),CODE
LOWtest/python/_constants/test_generation.py1043 assert blob == "placeholder"CODE
LOWtest/specs/openapi/test_semantic_pool.py329 {"description": "lorem ipsum dolor sit"},CODE
LOWtest/specs/openapi/test_semantic_pool.py330 [IngestionLeaf("string", None, None, "description", "lorem ipsum dolor sit")],CODE
LOWtest/specs/openapi/test_semantic_pool.py819 body={"email": "user@example.com", "country": "DE"},CODE
LOWtest/specs/openapi/test_semantic_pool.py827 assert "user@example.com" in _lookup_by_descriptor(extra_data_source.semantic_index, email_desc)CODE
LOWtest/specs/openapi/test_semantic_pool.py2198 st.fixed_dictionaries({"code": st.just("placeholder")}),CODE
LOWtest/specs/openapi/test_examples.py2117 "name": {"type": "string", "example": "John Doe"},STRING
LOWtest/specs/openapi/test_examples.py2124 "name": "John Doe",STRING
LOWtest/specs/openapi/negative/test_metadata.py113 original_value="user@example.com",CODE
LOWtest/specs/openapi/negative/test_metadata.py116 'violates `format:email` at /properties/email (was "user@example.com", became "useratexample.com")',CODE
LOW⚡test/specs/openapi/negative/test_value_violators.py35 assert not validator.is_valid(violate_email("user@example.com"))CODE
LOW⚡test/specs/graphql/test_resource_pool.py172 operation = _parse('query { book(id: "placeholder") { id } }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py177 assert "placeholder" not in printedSTRING
LOW⚡test/specs/graphql/test_resource_pool.py179 assert "placeholder" in printedSTRING
LOW⚡test/specs/graphql/test_resource_pool.py192 operation = _parse(f'query {{ lookup({arg_name}: "placeholder") }}')STRING
LOW⚡test/specs/graphql/test_resource_pool.py205 operation = _parse('query { lookup(id: "placeholder") }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py207 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py218 operation = _parse('query { lookup(filter: "placeholder") }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py220 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py232 operation = _parse('query { lookup(authorId: "placeholder") }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py234 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py248 operation = _parse('query { author(id: "placeholder") { id } }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py252 assert "placeholder" in printedSTRING
LOW⚡test/specs/graphql/test_resource_pool.py338 operation = _parse('query { bookByTitle(title: "placeholder") { id } }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py341 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py354 operation = _parse('query { books(filter: {title: "placeholder"}) { id } }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py356 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py378 operation = _parse(f'query {{ lookup(ref: {{{input_field}: "placeholder"}}) }}')STRING
LOW⚡test/specs/graphql/test_resource_pool.py428 operation = _parse('query { authorPosts(ref: {id: "placeholder"}) }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py430 assert "placeholder" in graphql.print_ast(operation)STRING
LOW⚡test/specs/graphql/test_resource_pool.py443 operation = _parse('query { book(id: "placeholder") { id ...BookFields } } fragment BookFields on Book { title }')STRING
LOW⚡test/specs/graphql/test_resource_pool.py462 'query { __typename book(id: "placeholder", extra: "keep") 'STRING
LOW⚡test/specs/graphql/test_resource_pool.py463 'books(filter: {id: "placeholder", unknown: "keep"}) { id } }'STRING
LOW⚡test/specs/graphql/test_resource_pool.py572 operation = _parse('query { author { books(bookId: "placeholder") } }')STRING
LOWtest/specs/graphql/test_resource_pool.py411 operation = _parse('mutation { updateBook(input: {ref: {id: "placeholder"}, title: "t"}) { id } }')STRING
LOWtest/cli/test_extra_data_sources.py485 user = {"id": user_id, "email": data.get("email", "user@example.com")}CODE
LOWtest/apps/catalog/openapi/stateful.py35 return {0: {"id": 0, "name": "John Doe", "last_modified": "2021-01-01T00:00:00Z"}}CODE
LOWdocs/explanations/examples.md14 example: "John Doe"CODE
LOWdocs/explanations/examples.md28 name: "John Doe"CODE
LOWdocs/explanations/examples.md57 - name: "John Doe"CODE
LOWdocs/guides/fuzz-dictionary.md65values = ["test@example.com", "admin@example.com"]CODE
5 more matches not shown…
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHtest/pytest/test_class_checks.py0schema.config.reports.update(junit_path=r"{report_path}") lazy_schema = schemathesis.pytest.from_fixture("simple_schema"STRING
HIGHtest/pytest/test_lazy.py0schema.config.reports.update(junit_path=r"{report_path}") lazy_schema = schemathesis.pytest.from_fixture("simple_schema"STRING
HIGHtest/pytest/test_reporting.py0schema.config.reports.update(junit_path=r"{report_path}") lazy_schema = schemathesis.pytest.from_fixture("simple_schema"STRING
HIGHtest/specs/graphql/test_resource_pool.py0type book { id: id! } type query { book(id: id!): book } type mutation { addbook(title: string!): book! deletebook(id: iSTRING
HIGHtest/specs/graphql/stateful/test_state_machine.py0type book { id: id! } type query { book(id: id!): book } type mutation { addbook(title: string!): book! deletebook(id: iSTRING
HIGHtest/specs/graphql/stateful/test_discovery.py0type book { id: id! } type query { book(id: id!): book } type mutation { addbook(title: string!): book! deletebook(id: iSTRING
HIGHtest/specs/graphql/stateful/test_transitions.py0type book { id: id! } type query { book(id: id!): book } type mutation { addbook(title: string!): book! deletebook(id: iSTRING
HIGHtest/specs/graphql/stateful/test_bundles.py0type book { id: id! } type query { book(id: id!): book } type mutation { addbook(title: string!): book! deletebook(id: iSTRING
HIGHtest/specs/graphql/stateful/test_bundles.py0type book { id: id! } type query { book(id: id!): book } type mutation { _: boolean }STRING
HIGHtest/specs/graphql/stateful/test_state_machine.py0type book { id: id! } type query { book(id: id!): book } type mutation { _: boolean }STRING
HIGHtest/specs/graphql/stateful/test_transitions.py0type book { id: id! } type query { book(id: id!): book } type mutation { _: boolean }STRING
Redundant / Tautological Comments35 hits · 52 pts
SeverityFileLineSnippetContext
LOWchangelog.py47 # Check if the new version already exists.COMMENT
LOWtest/config/test_doc_examples.py123 # Check if current uses additionalProperties (e.g., auth.openapi.<scheme>)COMMENT
LOWtest/cli/test_commands.py1478 # Check if field exists (could be in files or form)STRING
LOWtest/cli/test_checks.py1397 # Check if 'ids' parameter is present in the URLCOMMENT
LOWscripts/is_interesting.sh15# Check if needle is present in outputCOMMENT
LOWsrc/schemathesis/core/jsonschema/patterns.py419 # Check if there are still untranslated Unicode property escapesSTRING
LOWsrc/schemathesis/pytest/lazy.py210 # Check if test function is a method and inject self from request.instanceCOMMENT
LOWsrc/schemathesis/config/_generation.py80 # Check if all parameters match their default valuesCOMMENT
LOWsrc/schemathesis/specs/openapi/warnings.py220 # Check if scheme exists in the schema definition, and suggest a candidate if it does notCOMMENT
LOW⚡src/schemathesis/specs/openapi/checks.py1199 # Check if the case contains only additional properties in query, headers, or cookies.COMMENT
LOWsrc/schemathesis/specs/openapi/checks.py1486 # Check if all parameters come from linksCOMMENT
LOWsrc/schemathesis/specs/openapi/checks.py1564 # Check if invalid auth will give an errorCOMMENT
LOWsrc/schemathesis/specs/openapi/stateful/links.py165 # Check if parameter exists in source operationCOMMENT
LOWsrc/schemathesis/specs/openapi/stateful/inference.py185 # Check if it's an absolute URLCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/models.py550 # Check if this field is a FK fieldCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/models.py644 # Check if next part is an array indexCOMMENT
LOW…thesis/specs/openapi/stateful/dependencies/__init__.py296 # Check if duplicate / subsets existsCOMMENT
LOW…thesis/specs/openapi/stateful/dependencies/__init__.py432 # Check if all inferred fields exist in existing with same valuesCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/inputs.py291 # Check if candidate ends with OR starts with the inferred resource nameCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/inputs.py297 # Check if parameter can be matched to a fieldCOMMENT
LOW…athesis/specs/openapi/stateful/dependencies/schemas.py398 # Check if array field name matches common patternsCOMMENT
LOW…athesis/specs/openapi/stateful/dependencies/schemas.py420 # Check if field name matches resource-specific patternCOMMENT
LOW…athesis/specs/openapi/stateful/dependencies/schemas.py490 # Check if any other property looks like pagination metadataCOMMENT
LOW…hesis/specs/openapi/stateful/dependencies/resources.py401 # Check if this branch defines the target propertyCOMMENT
LOW…hesis/specs/openapi/stateful/dependencies/resources.py508 # Check if it's an arrayCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/layers.py115 # Check if all operations were processed (no cycles)COMMENT
LOWsrc/schemathesis/specs/openapi/adapter/security.py132 # Check if a security parameter was intentionally removed during negative testingCOMMENT
LOWsrc/schemathesis/specs/openapi/adapter/security.py149 # Check if all schemes in this requirement can be satisfied (AND semantics)COMMENT
LOWsrc/schemathesis/specs/graphql/validation.py132 # Check if this is a client error (query validation failed)COMMENT
LOWsrc/schemathesis/resources/repository.py283 # Check if we need to evict an old contextCOMMENT
LOWsrc/schemathesis/cli/commands/run/warnings.py373 # Check if this warning should cause test failureCOMMENT
LOWsrc/schemathesis/engine/core.py101 # Check if feature is supported by the schemaCOMMENT
LOWsrc/schemathesis/engine/statistic.py188 # Check if this is a new unique failureCOMMENT
LOW⚡src/schemathesis/generation/hypothesis/builder.py185 # Check if user provided custom strategies via @schema.given()COMMENT
LOW⚡src/schemathesis/generation/hypothesis/builder.py189 # Check if there are actually examples to addCOMMENT
Self-Referential Comments13 hits · 40 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/pytest/test_parametrization.py819# Create a custom database in a temporary directoryCOMMENT
MEDIUMtest/pytest/test_parametrization.py784# Create a custom database in a temporary directoryCOMMENT
MEDIUMtest/pytest/test_lazy.py1083# Create a custom database in a temporary directoryCOMMENT
MEDIUMtest/pytest/test_lazy.py1119# Create a custom database in a temporary directoryCOMMENT
MEDIUMtest/config/test_discovery.py26 # Create a config file in the parent directorySTRING
MEDIUMtest/config/test_discovery.py49 # Create a structure where a .git folder exists in the parent directory.STRING
MEDIUMtest/specs/openapi/test_negative.py362 # Creating a validator validates the schemaCOMMENT
MEDIUMtest/specs/openapi/test_checks.py2680 # Create a successful response (200 OK)COMMENT
MEDIUM⚡test/specs/openapi/test_schema_loading.py109 # Creating a second in-memory resolver must not corrupt the first one's lookups.COMMENT
MEDIUMtest/cli/test_junitxml.py65 # Create a mapping from testcase name to elementCOMMENT
MEDIUM⚡src/schemathesis/specs/openapi/checks.py1200 # This function is used to determine if negation is solely in the form of extra properties,COMMENT
MEDIUMsrc/schemathesis/resources/repository.py259 # Create a stable key for the contextCOMMENT
MEDIUMsrc/schemathesis/cli/ext/fs.py47 # Creating the parent directories fails this way when part of the path is a file; the OS wording differs.COMMENT
AI Structural Patterns37 hits · 35 pts
SeverityFileLineSnippetContext
LOWtest/conftest.py503CODE
LOWtest/utils.py202CODE
LOWtest/specs/openapi/test_checks.py115CODE
LOWtest/specs/openapi/stateful/conftest.py33CODE
LOWtest/specs/openapi/auth_flow/test_detection.py34CODE
LOWsrc/schemathesis/schemas.py157CODE
LOWsrc/schemathesis/schemas.py207CODE
LOWsrc/schemathesis/schemas.py460CODE
LOWsrc/schemathesis/schemas.py1042CODE
LOWsrc/schemathesis/filters.py219CODE
LOWsrc/schemathesis/filters.py250CODE
LOWsrc/schemathesis/filters.py281CODE
LOWsrc/schemathesis/filters.py351CODE
LOWsrc/schemathesis/core/spec.py121CODE
LOWsrc/schemathesis/pytest/lazy.py90CODE
LOWsrc/schemathesis/pytest/lazy.py122CODE
LOWsrc/schemathesis/config/_report.py79CODE
LOWsrc/schemathesis/config/_report.py120CODE
LOWsrc/schemathesis/config/_generation.py45CODE
LOWsrc/schemathesis/config/_generation.py139CODE
LOWsrc/schemathesis/config/__init__.py111CODE
LOWsrc/schemathesis/config/_checks.py175CODE
LOWsrc/schemathesis/config/_operations.py289CODE
LOWsrc/schemathesis/config/_projects.py123CODE
LOWsrc/schemathesis/config/_projects.py255CODE
LOWsrc/schemathesis/specs/openapi/_hypothesis.py131CODE
LOWsrc/schemathesis/specs/openapi/converter.py21CODE
LOWsrc/schemathesis/specs/openapi/converter.py36CODE
LOWsrc/schemathesis/specs/openapi/converter.py50CODE
LOWsrc/schemathesis/specs/openapi/converter.py79CODE
LOWsrc/schemathesis/specs/openapi/schemas.py788CODE
LOWsrc/schemathesis/specs/graphql/schemas.py533CODE
LOWsrc/schemathesis/specs/graphql/schemas.py399CODE
LOWsrc/schemathesis/cli/summary.py57CODE
LOWsrc/schemathesis/cli/commands/fuzz/__init__.py161CODE
LOWsrc/schemathesis/cli/commands/run/__init__.py185CODE
LOWsrc/schemathesis/generation/case.py143CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHdocs/guides/auth.md77 --header "X-API-Key: your-api-key"CODE
HIGHdocs/guides/auth.md115export API_KEY="your-api-key"CODE
HIGHdocs/guides/auth.md223 {"name": "admin", "fixedHeaders": [{"name": "X-Api-Key", "value": "your-api-key"}]}CODE
Structural Annotation Overuse7 hits · 10 pts
SeverityFileLineSnippetContext
LOWdocs/guides/extending-cli.md12### Step 1: Create an option groupCOMMENT
LOWdocs/guides/extending-cli.md26### Step 2: Add options to the groupCOMMENT
LOWdocs/guides/extending-cli.md43### Step 3: Create the event handlerCOMMENT
LOWdocs/guides/extending-cli.md104### Step 4: Load the extension and runCOMMENT
LOWdocs/guides/hypothesis-strategies.md188 # Step 1: always create a userCOMMENT
LOWdocs/guides/hypothesis-strategies.md193 # Step 2: optional stepsCOMMENT
LOWdocs/guides/hypothesis-strategies.md204 # Step 3: always clean upCOMMENT
Over-Commented Block8 hits · 7 pts
SeverityFileLineSnippetContext
LOWtest/specs/openapi/test_patterns.py241 (r"^abc(\d{3})+$", 6, 12, r"^abc(\d{3}){1,3}$"),COMMENT
LOWsrc/schemathesis/core/jsonschema/patterns.py1121 if (adj_min is not None and adj_min < 0) or (adj_max is not None and adj_max < 0):COMMENT
LOWsrc/schemathesis/core/error_feedback/parsers/jackson.py21if TYPE_CHECKING:COMMENT
LOWsrc/schemathesis/specs/openapi/stateful/__init__.py241 # - POST operations that create resourcesCOMMENT
LOW…mathesis/specs/openapi/stateful/dependencies/models.py801 # Set when the resource value comes from a request path parameter ratherCOMMENT
LOWsrc/schemathesis/specs/openapi/adapter/parameters.py101# Probability of using negative strategy when captured values are available.COMMENT
LOWsrc/schemathesis/specs/openapi/expressions/lexer.py121 # Expression: `ID_{$request.body#/foo}}`COMMENT
LOWsrc/schemathesis/generation/meta.py221 dictionary_draws: tuple[DictionaryDraw, ...] = ()COMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/schemathesis/core/deserialization.py85Register a deserializer for custom response media types. Converts API responses with custom content types (MessagePSTRING
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/schemathesis/generation/jsonschema/strategy.py185 # Bundle scaffolding the user never wrote.COMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtest/data/petstore_v2.yaml3 description: "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io]CODE
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…mathesis/specs/openapi/stateful/dependencies/naming.py532 # just add 's' (car -> cars)COMMENT
Overly Generic Function Names1 hit · 0 pts
SeverityFileLineSnippetContext
LOWtest/cli/test_checks.py1660 def my_method():CODE