AI Slop Code RIsk Monitor

alecthomas/voluptuous

CONTRIBUTIONS ONLY: Voluptuous, despite the name, is a Python data validation library.

22.0 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for alecthomas/voluptuous, a Python project with 1,852 GitHub stars. SynthScan examined 8,271 lines of code across 21 source files, recording 175 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 22.0 (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.

22.0
Adjusted Signal
22.0
Raw Pattern Score
100%
Time Factor
2026-07-25
Last Push
1.9K
Stars
Python
Language
8.3K
Lines of Code
21
Files
175
Pattern Hits
2026-10-12
Scan Date
0.29
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 53.5/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 16.3/100 · LOW

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

Agent Over-Engineering Ratio 52.0/100 · HIGH

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

PR Review Velocity Impact 72.4/100 · HIGH

Which changes need focused human review? 175 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 0HIGH 6MEDIUM 4LOW 165

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 175 distinct pattern matches across 8 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 Identifiers122 hits · 96 pts
SeverityFileLineSnippetContext
LOWvoluptuous/humanize.py51def validate_with_humanized_errors(CODE
LOWvoluptuous/schema_builder.py789 def _normalize_schema_extension(CODE
LOWvoluptuous/schema_builder.py905def _iterate_mapping_candidates(schema):CODE
LOWvoluptuous/schema_builder.py1234 def _is_complex_key_validator(self, schema):CODE
LOWvoluptuous/schema_builder.py1382 def validate_schema_decorator(func):CODE
LOWvoluptuous/dataclasses_support.py83def get_dataclass_field_defaults(dataclass_type: Type) -> Dict[str, Any]:CODE
LOW⚡voluptuous/tests/test_dataclasses.py359 def test_dataclass_with_list_field(self):CODE
LOWvoluptuous/tests/test_dataclasses.py27 def test_is_dataclass_with_dataclass(self):CODE
LOWvoluptuous/tests/test_dataclasses.py38 def test_is_dataclass_with_regular_class(self):CODE
LOWvoluptuous/tests/test_dataclasses.py49 def test_is_dataclass_with_primitive_types(self):CODE
LOWvoluptuous/tests/test_dataclasses.py60 def test_simple_dataclass_schema(self):CODE
LOWvoluptuous/tests/test_dataclasses.py76 def test_dataclass_with_defaults(self):CODE
LOWvoluptuous/tests/test_dataclasses.py99 def test_dataclass_with_default_factory(self):CODE
LOWvoluptuous/tests/test_dataclasses.py136 def test_missing_required_fields(self):CODE
LOWvoluptuous/tests/test_dataclasses.py156 def test_additional_constraints(self):CODE
LOWvoluptuous/tests/test_dataclasses.py229 def test_additional_fields_not_in_dataclass(self):CODE
LOWvoluptuous/tests/test_dataclasses.py255 def test_create_dataclass_schema_basic(self):CODE
LOWvoluptuous/tests/test_dataclasses.py270 def test_create_dataclass_schema_with_constraints(self):CODE
LOWvoluptuous/tests/test_dataclasses.py311 def test_nested_dataclass_like_structure(self):CODE
LOWvoluptuous/tests/test_dataclasses.py419 def test_regular_schema_still_works(self):CODE
LOWvoluptuous/tests/test_dataclasses.py429 def test_object_validator_still_works(self):CODE
LOW⚡voluptuous/tests/tests.py546def test_schema_extend_with_schema_instance_rejects_extra_mismatch():CODE
LOW⚡voluptuous/tests/tests.py556def test_schema_extend_with_non_dictionary_schema_instance_fails():CODE
LOW⚡voluptuous/tests/tests.py566def test_schema_extend_overrides():CODE
LOW⚡voluptuous/tests/tests.py1007def test_schema_decorator_match_with_args():CODE
LOW⚡voluptuous/tests/tests.py1015def test_schema_decorator_unmatch_with_args():CODE
LOW⚡voluptuous/tests/tests.py1023def test_schema_decorator_match_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1031def test_schema_decorator_unmatch_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1039def test_schema_decorator_match_return_with_args():CODE
LOW⚡voluptuous/tests/tests.py1047def test_schema_decorator_unmatch_return_with_args():CODE
LOW⚡voluptuous/tests/tests.py1055def test_schema_decorator_match_return_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1063def test_schema_decorator_unmatch_return_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1071def test_schema_decorator_return_only_match():CODE
LOW⚡voluptuous/tests/tests.py1079def test_schema_decorator_return_only_unmatch():CODE
LOW⚡voluptuous/tests/tests.py1087def test_schema_decorator_partial_match_called_with_args():CODE
LOW⚡voluptuous/tests/tests.py1095def test_schema_decorator_partial_unmatch_called_with_args():CODE
LOW⚡voluptuous/tests/tests.py1103def test_schema_decorator_partial_match_called_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1111def test_schema_decorator_partial_unmatch_called_with_kwargs():CODE
LOW⚡voluptuous/tests/tests.py1119def test_number_validation_with_string():CODE
LOW⚡voluptuous/tests/tests.py1557def test_path_with_list_index():CODE
LOW⚡voluptuous/tests/tests.py1566def test_path_with_tuple_index():CODE
LOW⚡voluptuous/tests/tests.py1575def test_path_with_integer_dict_key():CODE
LOW⚡voluptuous/tests/tests.py1584def test_path_with_float_dict_key():CODE
LOW⚡voluptuous/tests/tests.py1593def test_path_with_tuple_dict_key():CODE
LOW⚡voluptuous/tests/tests.py1602def test_path_with_arbitrary_hashable_dict_key():CODE
LOW⚡voluptuous/tests/tests.py1748def test_lower_util_handles_various_inputs():CODE
LOW⚡voluptuous/tests/tests.py1755def test_upper_util_handles_various_inputs():CODE
LOW⚡voluptuous/tests/tests.py1762def test_capitalize_util_handles_various_inputs():CODE
LOW⚡voluptuous/tests/tests.py1771def test_title_util_handles_various_inputs():CODE
LOW⚡voluptuous/tests/tests.py1778def test_strip_util_handles_various_inputs():CODE
LOWvoluptuous/tests/tests.py129def test_in_unsortable_container():CODE
LOWvoluptuous/tests/tests.py161def test_not_in_unsortable_container():CODE
LOWvoluptuous/tests/tests.py299def test_email_validation_with_none():CODE
LOWvoluptuous/tests/tests.py311def test_email_validation_with_empty_string():CODE
LOWvoluptuous/tests/tests.py323def test_email_validation_without_host():CODE
LOWvoluptuous/tests/tests.py335def test_invalid_repr_includes_path_and_type():CODE
LOWvoluptuous/tests/tests.py352def test_email_validation_with_bad_data(input_value: str):CODE
LOWvoluptuous/tests/tests.py381def test_fqdn_url_validation_with_bad_data(input_value):CODE
LOWvoluptuous/tests/tests.py408def test_url_validation_with_bad_data(input_value):CODE
LOWvoluptuous/tests/tests.py458def test_schema_extend_with_schema_instance():CODE
62 more matches not shown…
Empty Error Handlers4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHvoluptuous/validators.py1074except Invalid:CODE
HIGHvoluptuous/schema_builder.py929except AttributeError:CODE
HIGHvoluptuous/schema_builder.py697except er.Invalid:CODE
HIGHvoluptuous/tests/tests.py1356except Invalid:CODE
Unused Imports15 hits · 15 pts
SeverityFileLineSnippetContext
LOWvoluptuous/util.py5CODE
LOWvoluptuous/util.py6CODE
LOWvoluptuous/util.py7CODE
LOWvoluptuous/util.py8CODE
LOWvoluptuous/util.py8CODE
LOWvoluptuous/validators.py2CODE
LOWvoluptuous/validators.py41CODE
LOWvoluptuous/__init__.py78CODE
LOWvoluptuous/__init__.py78CODE
LOWvoluptuous/__init__.py78CODE
LOWvoluptuous/__init__.py86CODE
LOWvoluptuous/__init__.py87CODE
LOWvoluptuous/__init__.py88CODE
LOWvoluptuous/__init__.py90CODE
LOWvoluptuous/schema_builder.py2CODE
Fake / Example Data12 hits · 14 pts
SeverityFileLineSnippetContext
LOWREADME.md730result = schema({'name': 'John Doe', 'age': 30, 'active': False})CODE
LOWREADME.md731# Returns: Person(name='John Doe', age=30, active=False)COMMENT
LOWREADME.md786 'street': '123 Main St',CODE
LOW⚡voluptuous/tests/test_dataclasses.py342 'name': 'John Doe',CODE
LOW⚡voluptuous/tests/test_dataclasses.py345 'street': '123 Main St',CODE
LOW⚡voluptuous/tests/test_dataclasses.py352 assert result.name == 'John Doe'CODE
LOW⚡voluptuous/tests/test_dataclasses.py355 assert result.address.street == '123 Main St'CODE
LOWvoluptuous/tests/test_dataclasses.py175 result = schema({'name': 'John Doe', 'age': 30, 'email': 'john@example.com'})CODE
LOWvoluptuous/tests/test_dataclasses.py176 assert result.name == 'John Doe'CODE
LOWexamples/dataclasses_example.py41 result = schema({'name': 'John Doe', 'age': 30, 'active': False})CODE
LOWexamples/dataclasses_example.py149 'street': '123 Main St',CODE
LOWexamples/dataclasses_example.py334 {'name': 'John Doe', 'age': 30, 'email': 'john@example.com'}CODE
Deep Nesting12 hits · 12 pts
SeverityFileLineSnippetContext
LOWvoluptuous/schema_builder.py212CODE
LOWvoluptuous/schema_builder.py238CODE
LOWvoluptuous/schema_builder.py445CODE
LOWvoluptuous/schema_builder.py580CODE
LOWvoluptuous/schema_builder.py667CODE
LOWvoluptuous/schema_builder.py789CODE
LOWvoluptuous/schema_builder.py291CODE
LOWvoluptuous/schema_builder.py533CODE
LOWvoluptuous/schema_builder.py596CODE
LOWvoluptuous/schema_builder.py683CODE
LOWvoluptuous/dataclasses_support.py30CODE
LOWvoluptuous/dataclasses_support.py149CODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHvoluptuous/dataclasses_support.py31Extract field information from a dataclass. Args: dataclass_type: The dataclass type to extract fields fromSTRING
HIGHvoluptuous/dataclasses_support.py155Create a voluptuous Schema from a dataclass. Args: dataclass_type: The dataclass type to create a schema foSTRING
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMvoluptuous/dataclasses_support.py218 # Create a custom validator that validates dict and creates dataclass instanceCOMMENT
MEDIUMvoluptuous/dataclasses_support.py278 # Create the schema using the helper functionCOMMENT
MEDIUMvoluptuous/tests/tests.py2137 # Create a very long string that will be truncatedCOMMENT
Excessive Try-Catch Wrapping5 hits · 6 pts
SeverityFileLineSnippetContext
LOWvoluptuous/util.py127 except Exception as e:CODE
MEDIUMvoluptuous/util.py124def __call__(self, v):CODE
LOWvoluptuous/tests/tests.py429 except Exception as e:CODE
LOWexamples/dataclasses_example.py95 except Exception as e:CODE
LOWexamples/dataclasses_example.py106 except Exception as e:CODE