Repository Analysis

octodns/octodns

Tools for managing DNS across multiple providers

12.5 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of octodns/octodns, a Python project with 3,742 GitHub stars. SynthScan v2.0 examined 53,447 lines of code across 328 source files, recording 583 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 12.5 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

12.5
Adjusted Score
12.5
Raw Score
100%
Time Factor
2026-08-08
Last Push
3.7K
Stars
Python
Language
53.4K
Lines of Code
328
Files
583
Pattern Hits
2026-08-09
Scan Date
0.06
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 20MEDIUM 26LOW 537

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 583 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers457 hits · 416 pts
SeverityFileLineSnippetContext
LOWoctodns/record/svcb.py95def validate_svcparam_mandatory(svcparamvalue, validator_id=None):CODE
LOWoctodns/record/svcb.py150def _svcparamvalue_list_from_rdata_text(svcparamvalue):CODE
LOWoctodns/record/tlsa.py337 def certificate_association_data(self):CODE
LOWoctodns/record/tlsa.py341 def certificate_association_data(self, value):CODE
LOWoctodns/record/target.py52def _check_target_trailing_dot(target, _type, key='value', validator_id=None):CODE
LOWoctodns/record/base.py26def _deprecated_parse_rdata_text(value_type, replacement=None):CODE
LOWoctodns/record/base.py53def _value_from_rdata_text_uses_legacy(value_type):CODE
LOWoctodns/record/base.py84def _value_to_rdata_text_uses_legacy(value_type):CODE
LOWoctodns/record/base.py717def _process_value_validators(value_type, values, _type, disabled=None):CODE
LOWoctodns/processor/templating.py74 def process_source_and_target_zones(CODE
LOWoctodns/processor/base.py150 def process_source_and_target_zones(CODE
LOWoctodns/processor/meta.py127 def process_source_and_target_zones(CODE
LOWoctodns/zone/base.py325 def registered_zone_validators(cls):CODE
LOWoctodns/zone/base.py329 def available_zone_validators(cls):CODE
LOWtests/test_octodns_zone.py112 def test_duplicate_context_handling(self):CODE
LOWtests/test_octodns_zone.py228 def test_deprecated__remove_record(self):CODE
LOWtests/test_octodns_zone.py732 def test_validator_registration_methods(self):CODE
LOWtests/test_octodns_zone.py833 def test_not_included_records(self):CODE
LOWtests/test_octodns_zone.py995 def test_disabled_record_validators(self):CODE
LOWtests/test_octodns_zone.py1014 def test_disabled_zone_validators(self):CODE
LOWtests/test_octodns_zone.py1025 def test_bridge_record_validator_rejected(self):CODE
LOWtests/test_octodns_zone.py1039 def test_bridge_zone_validator_rejected(self):CODE
LOWtests/test_octodns_zone.py1052 def test_copy_propagates_validators_config(self):CODE
LOWtests/test_octodns_zone.py1078 def test_get_filtered_by_type(self):CODE
LOWtests/test_octodns_zone.py1085 def test_get_multiple_types_at_same_name(self):CODE
LOWtests/test_octodns_provider_base.py186 def test_plan_existing_zone_inherits_validators_config(self):CODE
LOWtests/test_octodns_provider_base.py234 def test_plan_with_process_desired_zone_kwarg_fallback(self):CODE
LOWtests/test_octodns_provider_base.py254 def test_plan_with_unsupported_type(self):CODE
LOWtests/test_octodns_provider_base.py279 def test_plan_with_processors(self):CODE
LOWtests/test_octodns_provider_base.py314 def test_plan_passes_lenient_to_processors(self):CODE
LOWtests/test_octodns_provider_base.py334 def test_plan_processor_lenient_fallback(self):CODE
LOWtests/test_octodns_provider_base.py354 def process_source_and_target_zones(CODE
LOWtests/test_octodns_provider_base.py376 def process_source_and_target_zones(CODE
LOWtests/test_octodns_provider_base.py428 def test_plan_order_of_operations(self):CODE
LOWtests/test_octodns_provider_base.py460 def test_process_desired_zone(self):CODE
LOWtests/test_octodns_provider_base.py581 def test_process_existing_zone(self):CODE
LOWtests/test_octodns_provider_base.py617 def test_safe_min_existing_creates(self):CODE
LOWtests/test_octodns_provider_base.py646 def test_safe_updates_min_existing(self):CODE
LOWtests/test_octodns_provider_base.py673 def test_safe_updates_min_existing_pcent(self):CODE
LOWtests/test_octodns_provider_base.py696 def test_safe_deletes_min_existing(self):CODE
LOWtests/test_octodns_provider_base.py723 def test_safe_deletes_min_existing_pcent(self):CODE
LOWtests/test_octodns_provider_base.py746 def test_safe_updates_min_existing_override(self):CODE
LOWtests/test_octodns_provider_base.py774 def test_safe_deletes_min_existing_override(self):CODE
LOWtests/test_octodns_provider_base.py897 def test_supports_warn_or_except(self):CODE
LOWtests/test_octodns_provider_base.py976 def test_supports_root_ns_false_matches(self):CODE
LOWtests/test_octodns_provider_base.py999 def test_supports_root_ns_false_different(self):CODE
LOWtests/test_octodns_provider_base.py1023 def test_supports_root_ns_false_missing(self):CODE
LOWtests/test_octodns_provider_base.py1042 def test_supports_root_ns_false_create_zone(self):CODE
LOWtests/test_octodns_provider_base.py1065 def test_supports_root_ns_false_create_zone_missing(self):CODE
LOWtests/test_octodns_provider_base.py1086 def test_supports_root_ns_true_matches(self):CODE
LOWtests/test_octodns_provider_base.py1103 def test_supports_root_ns_true_different(self):CODE
LOWtests/test_octodns_provider_base.py1126 def test_supports_root_ns_true_missing(self):CODE
LOWtests/test_octodns_provider_base.py1147 def test_supports_root_ns_true_create_zone(self):CODE
LOWtests/test_octodns_provider_base.py1177 def test_supports_root_ns_true_create_zone_missing(self):CODE
LOWtests/test_octodns_record_ptr.py112 def test_best_practice_validator(self):CODE
LOWtests/test_octodns_zone_validators_ns.py138 def test_in_zone_target_no_cname(self):CODE
LOWtests/test_octodns_zone_validators_ns.py149 def test_in_zone_target_is_cname(self):CODE
LOWtests/test_octodns_zone_validators_ns.py167 def test_multiple_targets_mixed(self):CODE
LOWtests/test_octodns_zone_validators_ns.py186 def test_builtin_registration(self):CODE
LOWtests/test_octodns_zone_validators_ns.py190 def test_builtins_in_strict_set(self):CODE
397 more matches not shown…
Cross-File Repetition18 hits · 90 pts
SeverityFileLineSnippetContext
HIGHoctodns/record/srv.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/mx.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/naptr.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/loc.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/tlsa.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/uri.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/sshfp.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/ds.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/caa.py0parse one caa rdata presentation string into internal field data. :param str value: caa rdata in dns master-file presentSTRING
HIGHoctodns/record/srv.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/mx.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/naptr.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/loc.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/tlsa.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/uri.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/sshfp.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/ds.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
HIGHoctodns/record/caa.py0render this internal caa value as one rdata presentation string. :returns: caa rdata in dns master-file presentation forSTRING
Decorative Section Separators15 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMoctodns/schema/config.py56# ── Providers / Sources ───────────────────────────────────────────────────────COMMENT
MEDIUMoctodns/schema/config.py97# ── Processors ────────────────────────────────────────────────────────────────COMMENT
MEDIUMoctodns/schema/config.py218# ── Secret handlers ───────────────────────────────────────────────────────────COMMENT
MEDIUMoctodns/schema/config.py224# ── Plan outputs ──────────────────────────────────────────────────────────────COMMENT
MEDIUMoctodns/schema/config.py252# ── Schema defs ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_manager.py360 # ── Zone validator manager wiring tests ──────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py41 # ── Top-level structure ───────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py59 # ── manager: ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py188 # ── providers: ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py313 # ── processors: ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py550 # ── validators: ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py587 # ── secret_handlers: ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py778 # ── CLI ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py613 # ── zones: ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_octodns_config_schema.py761 # ── Round-trip ────────────────────────────────────────────────────────────COMMENT
Deep Nesting54 hits · 52 pts
SeverityFileLineSnippetContext
LOWoctodns/yaml.py70CODE
LOWoctodns/manager.py587CODE
LOWoctodns/manager.py615CODE
LOWoctodns/manager.py661CODE
LOWoctodns/manager.py840CODE
LOWoctodns/manager.py923CODE
LOWoctodns/manager.py1183CODE
LOWoctodns/record/validator.py46CODE
LOWoctodns/record/validator.py79CODE
LOWoctodns/record/validator.py124CODE
LOWoctodns/record/geo.py20CODE
LOWoctodns/record/srv.py198CODE
LOWoctodns/record/mx.py78CODE
LOWoctodns/record/naptr.py97CODE
LOWoctodns/record/svcb.py226CODE
LOWoctodns/record/svcb.py324CODE
LOWoctodns/record/loc.py26CODE
LOWoctodns/record/chunked.py75CODE
LOWoctodns/record/tlsa.py128CODE
LOWoctodns/record/dynamic.py254CODE
LOWoctodns/record/dynamic.py384CODE
LOWoctodns/record/uri.py107CODE
LOWoctodns/record/ip.py17CODE
LOWoctodns/record/sshfp.py32CODE
LOWoctodns/record/sshfp.py123CODE
LOWoctodns/record/ds.py169CODE
LOWoctodns/processor/filter.py491CODE
LOWoctodns/processor/restrict.py62CODE
LOWoctodns/processor/trailing_dots.py24CODE
LOWoctodns/processor/arpa.py41CODE
LOWoctodns/source/tinydns.py389CODE
LOWoctodns/zone/mail.py360CODE
LOWoctodns/zone/mail.py502CODE
LOWoctodns/zone/mail.py537CODE
LOWoctodns/zone/srv.py16CODE
LOWoctodns/zone/srv.py44CODE
LOWoctodns/zone/cname.py15CODE
LOWoctodns/zone/cname.py101CODE
LOWoctodns/zone/cname.py144CODE
LOWoctodns/zone/ns.py25CODE
LOWoctodns/zone/ns.py56CODE
LOWoctodns/zone/base.py466CODE
LOWoctodns/zone/base.py582CODE
LOWoctodns/provider/plan.py259CODE
LOWoctodns/provider/plan.py325CODE
LOWoctodns/provider/yaml.py346CODE
LOWoctodns/provider/base.py120CODE
LOWoctodns/cmds/report.py50CODE
LOWtests/test_octodns_record.py220CODE
LOWtests/test_octodns_manager.py566CODE
LOWtests/test_octodns_manager.py591CODE
LOWtests/test_octodns_manager.py616CODE
LOWtests/test_octodns_manager.py639CODE
LOWtests/test_octodns_record_chunked.py155CODE
AI Slop Vocabulary5 hits · 12 pts
SeverityFileLineSnippetContext
LOWoctodns/source/tinydns.py409 # just use the default belowCOMMENT
MEDIUMtests/test_octodns_zone_validators_caa.py25 """Tests for the comprehensive CAA best-practice validator."""STRING
MEDIUM…cs/examples/migrating-to-octodns/populate/octodns.yaml21 # meet octoDNS's best practices so that we can showCOMMENT
MEDIUM…les/migrating-to-octodns/populate/my-dumpable.com.yaml32 # recommended best practices.COMMENT
MEDIUMdocs/examples/basic/config/my-domain.com.yaml48 # case where you need to omit the `.`, or other enforced best practices, seeCOMMENT
Over-Commented Block11 hits · 11 pts
SeverityFileLineSnippetContext
LOWoctodns/processor/__init__.py1#COMMENT
LOWoctodns/processor/meta.py41COMMENT
LOWoctodns/source/__init__.py1#COMMENT
LOWoctodns/provider/yaml.py21 # Whether or not to enforce sorting order when loading yamlCOMMENT
LOWoctodns/provider/yaml.py41 split_extension: nullCOMMENT
LOWoctodns/cmds/__init__.py1#COMMENT
LOWoctodns/schema/zone.py21from ..record.dynamic import _DynamicMixinCOMMENT
LOWoctodns/secret/__init__.py1#COMMENT
LOWdocs/examples/basic/config/my-domain.com.yaml1---COMMENT
LOWdocs/examples/basic/config/my-domain.com.yaml41# We want www and the APEX to return the same values for A/AAAA queries. WeCOMMENT
LOWdocs/examples/basic/config/octodns.yaml41 # other here and include them in the targets list down below. See theCOMMENT
Self-Referential Comments6 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMoctodns/record/geo_data.py4# This file is generated usingCOMMENT
MEDIUMoctodns/zone/base.py117 # Create a shallow copySTRING
MEDIUMtests/test_octodns_manager.py916 # Create an empty unit.test zone configCOMMENT
MEDIUMtests/test_octodns_provider_yaml.py246 # Create a provider with ignore_missing_zones disabled (default)STRING
MEDIUMtests/test_octodns_provider_yaml.py259 # Create a provider with ignore_missing_zones enabledSTRING
MEDIUMtests/test_octodns_provider_yaml.py280 # Create a second directory without the zone fileSTRING
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippetContext
LOWtests/test_octodns_record_txt.py76 '"Lorem ipsum dolor sit amet, consectetur adipiscing 'CODE
LOWtests/test_octodns_record_txt.py76 '"Lorem ipsum dolor sit amet, consectetur adipiscing 'CODE
LOWtests/test_octodns_record_txt.py87 'Lorem ipsum dolor sit amet, consectetur adipiscing 'CODE
LOWtests/test_octodns_record_txt.py87 'Lorem ipsum dolor sit amet, consectetur adipiscing 'CODE
LOWtests/test_octodns_record_txt.py118 '"Lorem ipsum dolor sit amet, consectetur 'CODE
LOWtests/test_octodns_record_txt.py118 '"Lorem ipsum dolor sit amet, consectetur 'CODE
Cross-Language Confusion2 hits · 5 pts
SeverityFileLineSnippetContext
HIGHoctodns/provider/yaml.py39 # (optional, default null, "." is the recommended best practice whenSTRING
HIGHoctodns/provider/yaml.py56 # (optional, default null)STRING
Excessive Try-Catch Wrapping3 hits · 4 pts
SeverityFileLineSnippetContext
LOWoctodns/record/ip.py35 except Exception:CODE
LOWoctodns/cmds/report.py136 except Exception:CODE
MEDIUMoctodns/cmds/report.py148 print(f'Error: No valid resolver specified ({", ".join(servers)})')CODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWoctodns/record/dynamic.py169CODE
LOWoctodns/provider/yaml.py196CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWoctodns/schema/__init__.py5CODE
LOWoctodns/schema/__init__.py6CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWoctodns/zone/ns.py32 # Check if address records exist at this targetCOMMENT
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWoctodns/schema/__init__.py8__all__ = ['build_config_schema', 'build_zone_schema']CODE