MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.
This report summarizes scanner evidence for major/MySQLTuner-perl, a Perl project with 9,476 GitHub stars. SynthScan examined 40,938 lines of code across 244 source files, recording 107 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 3.2 (Low 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.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 88 finding(s).
Are imports declared and package/API names verified? 13 finding(s).
Are wrappers, guards, and repeated structures necessary? 74 finding(s).
Which changes need focused human review? 107 finding(s).
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.
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.
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.
The scanner identified 107 distinct pattern matches across 9 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit_triage_cleaner.py | 21 | def test_clean_reports_directory_retention(self): | CODE |
| LOW | tests/unit_issue_triage_workflow.py | 10 | def test_workflow_file_exists_and_valid(self): | CODE |
| LOW | tests/unit_architecture_doc.py | 10 | def test_architecture_doc_structure(self): | CODE |
| LOW | tests/unit_github_rest_client.py | 52 | def test_list_open_issues_filters_prs(self): | CODE |
| LOW | tests/unit_github_rest_client.py | 58 | def test_get_issue_and_comments(self): | CODE |
| LOW | tests/unit_github_rest_client.py | 69 | def test_add_labels_and_close(self): | CODE |
| LOW | tests/unit_roadmap_sync_engine.py | 26 | def test_sync_resolved_issues(self): | STRING |
| LOW | tests/unit_test_suite_runner.py | 13 | def test_run_single_test_bridge(self): | CODE |
| LOW | tests/unit_test_suite_runner.py | 23 | def test_run_suite_triage_tests(self): | CODE |
| LOW | tests/unit_offline_replay_engine.py | 21 | def test_add_comment_and_close(self): | CODE |
| LOW | tests/unit_offline_replay_engine.py | 27 | def test_plug_into_rest_client(self): | CODE |
| LOW⚡ | tests/unit_sanitizer.py | 15 | def test_strip_dangerous_html(self): | CODE |
| LOW⚡ | tests/unit_sanitizer.py | 22 | def test_redact_github_tokens(self): | CODE |
| LOW⚡ | tests/unit_sanitizer.py | 29 | def test_redact_mysql_password_cli(self): | CODE |
| LOW⚡ | tests/unit_sanitizer.py | 36 | def test_redact_mysql_connection_uri(self): | CODE |
| LOW⚡ | tests/unit_sanitizer.py | 43 | def test_normalize_full_pipeline(self): | CODE |
| LOW | tests/unit_docker_scenario_generator.py | 16 | def test_generate_reproduce_script(self): | CODE |
| LOW | tests/unit_docker_scenario_generator.py | 40 | def test_generate_reproduce_script_sanitizes_title(self): | CODE |
| LOW | tests/unit_issue_triage_models.py | 19 | def test_author_classification(self): | CODE |
| LOW | tests/unit_schema_validator.py | 52 | def test_invalid_payload_missing_required(self): | CODE |
| LOW | tests/unit_schema_validator.py | 61 | def test_invalid_author_type_enum(self): | CODE |
| LOW | tests/unit_schema_validator.py | 76 | def test_validate_or_raise_exception(self): | CODE |
| LOW | tests/unit_mysqltuner_output_parser.py | 11 | def test_parse_standard_report(self): | CODE |
| LOW | tests/unit_github_graphql_client.py | 49 | def test_fetch_open_issues_batch(self): | CODE |
| LOW | tests/unit_pfs_query_diagnostics.py | 10 | def test_pfs_on_low_memory_instance(self): | CODE |
| LOW | tests/unit_pfs_query_diagnostics.py | 20 | def test_high_slow_query_ratio(self): | CODE |
| LOW | tests/unit_pagination_manager.py | 21 | def test_record_and_save_state(self): | CODE |
| LOW | tests/unit_infra_metric_parser.py | 10 | def test_parse_standard_linux_host(self): | CODE |
| LOW | tests/unit_infra_metric_parser.py | 25 | def test_parse_docker_container(self): | STRING |
| LOW | tests/unit_innodb_expert_diagnostics.py | 28 | def test_high_dirty_pages_ratio(self): | CODE |
| LOW | tests/unit_security_policy_auditor.py | 11 | def test_audit_workflow_permissions(self): | CODE |
| LOW | tests/unit_security_auth_diagnostics.py | 10 | def test_insecure_transport_and_bind(self): | CODE |
| LOW | tests/unit_diagnostic_engine.py | 49 | def test_maintainer_issue_retains_hold(self): | STRING |
| LOW | tests/unit_rate_limiter.py | 14 | def test_compute_backoff_with_retry_after(self): | CODE |
| LOW | tests/unit_rate_limiter.py | 19 | def test_compute_backoff_jitter(self): | CODE |
| LOW | tests/unit_rate_limiter.py | 40 | def test_fail_after_max_retries(self): | CODE |
| LOW | tests/unit_edge_case_test_generator.py | 15 | def test_generate_and_execute_resilience_test(self): | CODE |
| LOW | tests/unit_pre_closing_checklist.py | 16 | def test_passing_community_issue(self): | CODE |
| LOW | tests/unit_pre_closing_checklist.py | 54 | def test_failing_maintainer_closure_attempt(self): | CODE |
| LOW | tests/unit_upstream_syncer.py | 29 | def test_determine_tags_for_change(self): | CODE |
| LOW | tests/unit_upstream_syncer.py | 38 | def test_format_upstream_issue_payload(self): | CODE |
| LOW | tests/unit_upstream_syncer.py | 52 | def test_triage_upstream_issues(self): | CODE |
| LOW | tests/unit_table_cache_diagnostics.py | 10 | def test_insufficient_open_files_limit(self): | CODE |
| LOW | tests/unit_table_cache_diagnostics.py | 23 | def test_single_instance_with_large_cache(self): | CODE |
| LOW | tests/unit_reproducibility_reporter.py | 19 | def test_generate_markdown_report(self): | CODE |
| LOW | tests/unit_ha_replication_diagnostics.py | 10 | def test_galera_non_primary_split_brain(self): | CODE |
| LOW | tests/unit_ha_replication_diagnostics.py | 22 | def test_async_replication_broken_and_lagged(self): | CODE |
| LOW | tests/unit_response_synthesizer.py | 19 | def test_community_user_warm_response(self): | CODE |
| LOW | tests/unit_rule_evaluator.py | 10 | def test_buffer_pool_low_hit_rate(self): | CODE |
| LOW | tests/unit_rule_evaluator.py | 21 | def test_buffer_pool_optimal_hit_rate(self): | CODE |
| LOW | tests/unit_closing_governance.py | 18 | def test_maintainer_issue_shield(self): | CODE |
| LOW | tests/unit_closing_governance.py | 46 | def test_community_issue_auto_close_allowed_when_tested(self): | CODE |
| LOW | tests/unit_duplicate_detector.py | 24 | def test_similarity_identical_texts(self): | CODE |
| LOW | tests/unit_error_log_parser.py | 10 | def test_parse_deadlock_event(self): | CODE |
| LOW | tests/unit_error_log_parser.py | 17 | def test_parse_oom_and_table_cache(self): | CODE |
| LOW | tests/unit_triage_orchestrator.py | 28 | def test_run_offline_issue_triage(self): | CODE |
| LOW | tests/unit_test_generator.py | 20 | def test_generate_and_execute_test(self): | CODE |
| LOW | tests/unit_test_generator.py | 47 | def test_generate_test_content_escaping(self): | CODE |
| LOW | tests/unit_db_taxonomy.py | 48 | def test_aws_aurora_detection(self): | CODE |
| LOW | tests/unit_memory_footprint_calculator.py | 10 | def test_safe_memory_allocation(self): | CODE |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mysqltuner.pl | 6396 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mysqltuner.pl | 6398 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mysqltuner.pl | 17820 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mysqltuner.pl | 17822 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mysqltuner.pl | 17888 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | mysqltuner.pl | 17890 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mysqltuner.pl | 3174 | # Check if system has HW RAID controller via lspci if available | COMMENT |
| LOW | mysqltuner.pl | 5440 | # Check if it's a syslog file | COMMENT |
| LOW | mysqltuner.pl | 6582 | # Check if it's nearing expiration using native Perl for portability | COMMENT |
| LOW | mysqltuner.pl | 8400 | # Open files percentage | COMMENT |
| LOW | mysqltuner.pl | 9356 | # Open files | COMMENT |
| LOW | mysqltuner.pl | 11510 | # Check if it might be a UUID | COMMENT |
| LOW | mysqltuner.pl | 11713 | # Check if there are generated columns for this table | COMMENT |
| LOW | mysqltuner.pl | 15433 | # Check if reportfile option was empty/boolean (e.g. from --reportfile) | COMMENT |
| LOW | mysqltuner.pl | 17487 | # Check if sys schema exists and contains x$statement_analysis | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit_github_rest_client.py | 6 | CODE | |
| LOW | tests/unit_upstream_syncer.py | 11 | CODE | |
| LOW | tests/e2e_issue_triage.py | 10 | CODE | |
| LOW | tests/e2e_issue_triage.py | 10 | CODE | |
| LOW | tests/e2e_issue_triage.py | 10 | CODE | |
| LOW | tests/e2e_issue_triage.py | 10 | CODE | |
| LOW | tests/e2e_issue_triage.py | 10 | CODE | |
| LOW | tests/unit_response_synthesizer.py | 7 | CODE | |
| LOW | tests/unit_triage_orchestrator.py | 9 | CODE | |
| LOW | tests/unit_triage_orchestrator.py | 9 | CODE | |
| LOW | tests/unit_triage_orchestrator.py | 9 | CODE | |
| LOW | tests/unit_triage_orchestrator.py | 9 | CODE | |
| LOW | tests/unit_triage_orchestrator.py | 9 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mysqltuner.pl | 7985 | # Invariant: robust non-negative numeric handling. Clamps negative or malformed values to 0. | COMMENT |
| MEDIUM | mysqltuner.pl | 17917 | # Generate comprehensive interactive HTML diagnostic dashboard | COMMENT |
| LOW | mysqltuner.pl | 17643 | # For now, just create a symlink | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mysqltuner.pl | 1 | #!/usr/bin/env perl | COMMENT |
| LOW | mysqltuner.pl | 21 | # along with this program. If not, see <https://www.gnu.org/licenses/>. | COMMENT |
| LOW | mysqltuner.pl | 11061 | ################################################################################## | COMMENT |
| LOW | mysqltuner.pl | 18421 | =cut | COMMENT |
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | documentation/mcp_ai_integration_guide.md | 188 | #### 7. `testing-orchestration` ([`SKILL.md`](file:///.agent/skills/testing-orchestration/SKILL.md)) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 58 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit_github_rest_client.py | 14 | CODE |