AI Slop Code Risk Monitor

audacity/audacity

SlopCodeMonitor badge for audacity/audacity Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Audio Editor

1.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for audacity/audacity, a C++ project with 18,891 GitHub stars. SynthScan examined 657,517 lines of code across 3602 source files, recording 1231 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 1.9 (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.

1.9
Adjusted Signal
1.9
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
18.9K
Stars
C++
Language
657.5K
Lines of Code
3.6K
Files
1.2K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 8.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 0.5/100 · LOW

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

PR Review Velocity Impact 9.3/100 · LOW

Which changes need focused human review? 1231 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 2MEDIUM 23LOW 1206

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 1231 distinct pattern matches across 16 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.

Over-Commented Block1133 hits · 1072 pts
SeverityFileLineSnippetContext
LOWtools/translations/process_source_ts_files.py1#!/usr/bin/env python3COMMENT
LOWtools/translations/run_lupdate.sh1#!/usr/bin/env bashCOMMENT
LOWtools/translations/au3-au4-migration/migrate_xo.py501COMMENT
LOWbuildscripts/ci/tools/list_testflow_scripts.sh1#!/usr/bin/env bashCOMMENT
LOWbuildscripts/ci/translation/s3_packandsend.sh1#!/bin/bashCOMMENT
LOWbuildscripts/ci/linux/make_appimage.sh201# ADDITIONAL LIBRARIESCOMMENT
LOWau3/include/audacity/Types.h41COMMENT
LOWau3/include/audacity/Types.h61// ----------------------------------------------------------------------------COMMENT
LOWau3/tests/Catch2Main.cpp1// Copyright Catch2 AuthorsCOMMENT
LOWau3/libraries/CMakeLists.txt1#[[COMMENT
LOWau3/libraries/au3-basic-ui/BasicUI.cpp21#include <sys/types.h>COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp61#include "AudioIO.h"COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp81#endifCOMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp101#if defined(__WXMAC__) || defined(__WXMSW__)COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp181};COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp521 // software playthrough options are enabled.COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp721 mRecordingSchedule.mLatencyCompensation = -stream->inputLatency - outputLatency;COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp1181 // the first audio sample.COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp1301COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp1601 }COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp1621 // machine docs).COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp1701 if (mCaptureSequences.size() > 0) {COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp2021 // To keep things simple, we write no more data than is vacant inCOMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp2401 if (mTrackChannelSourceMap.empty() && mNumCaptureChannels > 0) {COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp2821 return false;COMMENT
LOWau3/libraries/au3-audio-io/AudioIO.cpp2861 // supply from SequenceBufferExchange fails to keep up with theCOMMENT
LOWau3/libraries/au3-audio-io/PlaybackSchedule.h161 /// Playback ends at offset of mT1, which is measured in seconds. Note that mT1 may be less than mT0 during scrubbiCOMMENT
LOWau3/libraries/au3-audio-io/AudioIO.h21COMMENT
LOWau3/libraries/au3-nyquist-effects/NyquistBase.cpp1/**********************************************************************COMMENT
LOWau3/libraries/au3-nyquist-effects/NyquistBase.cpp21#include "au3-module-manager/PluginManager.h"COMMENT
LOWau3/libraries/au3-nyquist-effects/LoadNyquist.cpp61// Module registration entry pointCOMMENT
LOWau3/libraries/au3-project-history/UndoManager.cpp381//void UndoManager::Debug()COMMENT
LOWau3/libraries/au3-shuttlegui/ShuttleGui.cpp101#include "au3-theme/Theme.h"COMMENT
LOWau3/libraries/au3-shuttlegui/ShuttleGui.cpp2161}COMMENT
LOWau3/libraries/au3-uuid/Uuid.cpp21#include <cstring>COMMENT
LOWau3/libraries/au3-project-file-io/SqliteSampleBlock.cpp341 // The block object was constructed but failed to Load() or Commit().COMMENT
LOWau3/libraries/au3-project-file-io/DBConnection.cpp461 // TODO: Look into why this causes an access violationCOMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp21#include <io.h>COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp41#include "au3-project-history/ProjectHistory.h"COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp61#include "au3-string-utils/FromChars.h"COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp81COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp101// static const int ProjectFileVersion = PACK(3, 0, 0, 0);COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp121 ""COMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp141 // CREATE SQL autosaveCOMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp161 // CREATE SQL sampleblocksCOMMENT
LOWau3/libraries/au3-project-file-io/ProjectFileIO.cpp1581 // the file to be compacted the next time it's saved.COMMENT
LOWau3/libraries/au3-project-file-io/ProjectSerializer.cpp21#include <wx/ustring.h>COMMENT
LOWau3/libraries/au3-project-file-io/ProjectSerializer.cpp41// during recovery.COMMENT
LOWau3/libraries/au3-ladspa/LadspaEffectsModule.cpp21#ifndef RTLD_DEEPBINDCOMMENT
LOWau3/libraries/au3-ladspa/LadspaEffectsModule.cpp41COMMENT
LOWau3/libraries/au3-ladspa/ladspa.h301COMMENT
LOWau3/libraries/au3-track/Track.h21#include <wx/longlong.h>COMMENT
LOWau3/libraries/au3-track/Track.cpp21#include <numeric>COMMENT
LOWau3/libraries/au3-components/EffectInterface.h41COMMENT
LOWau3/libraries/au3-components/PluginProvider.h61// ============================================================================COMMENT
LOWau3/libraries/au3-components/PluginProvider.h201// Since there may be multiple embedded providers, the entry function willCOMMENT
LOWau3/libraries/au3-wx-wrappers/WindowAccessible.h41 // Gets the number of children.COMMENT
LOWau3/libraries/au3-wx-wrappers/wxPanelWrapper.h1//COMMENT
LOWau3/libraries/au3-wx-wrappers/wxPanelWrapper.cpp1//COMMENT
LOWau3/libraries/au3-wx-wrappers/FileDialog/FileDialog.cpp41}COMMENT
1073 more matches not shown…
Decorative Section Separators15 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUMau3/linux/ldd_recursive.pl85# ----------------COMMENT
MEDIUMau3/linux/create_appimage.sh10#============================================================================COMMENT
MEDIUMau3/linux/create_appimage.sh12#============================================================================COMMENT
MEDIUMau3/linux/create_appimage.sh55#============================================================================COMMENT
MEDIUMau3/linux/create_appimage.sh57#============================================================================COMMENT
MEDIUM⚡au3/linux/create_appimage.sh80#============================================================================COMMENT
MEDIUM⚡au3/linux/create_appimage.sh82#============================================================================COMMENT
MEDIUM⚡au3/linux/create_appimage.sh90#============================================================================COMMENT
MEDIUM⚡au3/linux/create_appimage.sh92#============================================================================COMMENT
MEDIUMau3/linux/create_appimage.sh187#============================================================================COMMENT
MEDIUMau3/linux/create_appimage.sh189#============================================================================COMMENT
MEDIUMsrc/au3wrap/CMakeLists.txt59# ==================================COMMENT
MEDIUMsrc/au3wrap/CMakeLists.txt61# ==================================COMMENT
MEDIUMsrc/au3wrap/CMakeLists.txt91# ==================================COMMENT
MEDIUMsrc/au3wrap/CMakeLists.txt93# ==================================COMMENT
Deep Nesting22 hits · 22 pts
SeverityFileLineSnippetContext
LOWtools/translations/extract_nyquist_strings.py97CODE
LOW…ols/translations/muse-migration/import_musescore_ts.py124CODE
LOWtools/translations/au3-au4-migration/import_po_to_ts.py111CODE
LOWtools/translations/au3-au4-migration/import_po_to_ts.py151CODE
LOWtools/translations/au3-au4-migration/import_po_to_ts.py269CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py83CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py108CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py169CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py215CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py412CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py466CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py633CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py924CODE
LOW…ranslations/au3-au4-migration/reuse_po_translations.py134CODE
LOW…ranslations/au3-au4-migration/reuse_po_translations.py235CODE
LOW…ols/translations/au3-au4-migration/build_scan_paths.py43CODE
LOW…ols/translations/au3-au4-migration/build_scan_paths.py121CODE
LOW…ols/translations/au3-au4-migration/build_scan_paths.py127CODE
LOWau3/locale/msgfmt.py100CODE
LOWau3/locale/msgfmt.py219CODE
LOWau3/scripts/piped-work/pipeclient.py262CODE
LOW…fmpeg/lib-ffmpeg-support/generator/generate_headers.py93CODE
Verbosity Indicators10 hits · 16 pts
SeverityFileLineSnippetContext
LOW…libraries/au3-builtin-effects/LegacyCompressorBase.cpp235 the AVG function. The purpose of this function is toCODE
LOWau3/scripts/graph.pl32# Step 1: collect short names and paths to .cpp filesCOMMENT
LOWau3/scripts/graph.pl55# Step 2: collect inclusions in each .cpp/.h pair, and folder information,COMMENT
LOWau3/scripts/graph.pl110# Step 3: compute an acyclic quotient graphCOMMENT
LOWau3/scripts/graph.pl293# Step 4: output the graph in dot languageCOMMENT
LOWau3/scripts/graph.pl383# Step 5: generate imageCOMMENT
LOWsrc/project/internal/audacityproject.cpp440 // // Step 1: check writableCOMMENT
LOWsrc/project/internal/audacityproject.cpp457 // // Step 2: write projectCOMMENT
LOW⚡src/project/internal/audacityproject.cpp482 // // Step 3: create backup if needCOMMENT
LOW⚡src/project/internal/audacityproject.cpp489 // // Step 4: replace to saved fileCOMMENT
Structural Annotation Overuse9 hits · 15 pts
SeverityFileLineSnippetContext
LOWau3/scripts/graph.pl32# Step 1: collect short names and paths to .cpp filesCOMMENT
LOWau3/scripts/graph.pl55# Step 2: collect inclusions in each .cpp/.h pair, and folder information,COMMENT
LOWau3/scripts/graph.pl110# Step 3: compute an acyclic quotient graphCOMMENT
LOWau3/scripts/graph.pl293# Step 4: output the graph in dot languageCOMMENT
LOWau3/scripts/graph.pl383# Step 5: generate imageCOMMENT
LOWsrc/project/internal/audacityproject.cpp440 // // Step 1: check writableCOMMENT
LOWsrc/project/internal/audacityproject.cpp457 // // Step 2: write projectCOMMENT
LOW⚡src/project/internal/audacityproject.cpp482 // // Step 3: create backup if needCOMMENT
LOW⚡src/project/internal/audacityproject.cpp489 // // Step 4: replace to saved fileCOMMENT
TODO Padding10 hits · 14 pts
SeverityFileLineSnippetContext
LOWau3/libraries/au3-time-track/TimeTrack.cpp259 // TODO: implement TimeTrack::TrackEmptyCopyCOMMENT
LOW⚡au3/libraries/au3-time-track/TimeTrack.h53 Track::Holder Cut(double t0, double t1, bool moveClips) override; // TODO: implement moveClipsCODE
LOW⚡au3/libraries/au3-time-track/TimeTrack.h55 void Clear(double t0, double t1, bool moveClips) override; // TODO: implement moveClipsCODE
LOW⚡au3/libraries/au3-time-track/TimeTrack.h56 void Paste(double t, const Track& src, bool moveClips) override; // TODO: implement moveClipsCODE
LOWau3/libraries/au3-time-track/TimeTrack.h122 Track::Holder TrackEmptyCopy() const override; // TODO: implement TimeTrack::TrackEmptyCopyCODE
LOWau3/modules/import-export/mod-pcm/ImportPCM.cpp155 // TODO: Handle errorCOMMENT
LOWau3/modules/import-export/mod-mp3/ExportMP3.cpp1714 // TODO: implement AskResampleCOMMENT
LOWau3/src/widgets/LogarithmicUpdater.cpp47 tickSizes.mDigits = 2; //TODO: implement dynamic digit computationCODE
LOWsrc/importexport/export/internal/au3/au3exporter.cpp395 // TODO: implement other ExportProcessType's selectionsCOMMENT
LOW…/audio_unit/qml/Audacity/AudioUnit/audiounitcontrol.mm146 // TODO: implement when effect windows are resizableCOMMENT
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMau3/src/widgets/AttachableScrollBar.cpp54// Essentially a float to int conversion.COMMENT
MEDIUMau3/src/widgets/AttachableScrollBar.cpp70// Essentially an int to float conversion.COMMENT
MEDIUMsrc/spectrogram/internal/au3/SpectrumCache.cpp532 // All situations do not occur, but it is nice to make robust codeCOMMENT
MEDIUMsrc/effects/lv2/view/lv2viewmodel.cpp420 // Is there a robust way of preventing the user from interacting with the UICOMMENT
Unused Imports8 hits · 8 pts
SeverityFileLineSnippetContext
LOWtools/translations/extract_nyquist_strings.py6CODE
LOW…ols/translations/muse-migration/import_musescore_ts.py20CODE
LOW…ranslations/au3-au4-migration/salvage_case_mismatch.py6CODE
LOWtools/translations/au3-au4-migration/import_po_to_ts.py10CODE
LOWtools/translations/au3-au4-migration/import_po_to_ts.py18CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py6CODE
LOW…ranslations/au3-au4-migration/reuse_po_translations.py11CODE
LOW…ols/translations/au3-au4-migration/build_scan_paths.py7CODE
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHau3/libraries/au3-wave-track/Sequence.cpp1005 // I have added code in ConsistencyCheck that should abort theCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHau3/libraries/au3-builtin-effects/TruncSilenceBase.cpp371 // Find NEW silence length as requestedCOMMENT
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtools/translations/au3-au4-migration/import_po_to_ts.py81def normalize_translation_placeholders(translation: str) -> str:CODE
LOWtools/translations/au3-au4-migration/migrate_xo.py466def rewrite_pass_b_standalone(content: str, file_rel: str,CODE
LOW…ranslations/au3-au4-migration/reuse_po_translations.py63def _strip_trailing_punct_runs(s: str) -> str:CODE
LOWau3/src/SpectralDataManager.cpp11\class SpectralDataManagerCODE
LOWau3/src/SpectralDataManager.h11\class SpectralDataManagerCODE
LOWau3/src/SpectralDataManager.h22class SpectralDataManagerCODE
LOWau3/src/SpectralDataManager.h37class SpectralDataManager::Worker : public TrackSpectrumTransformerCODE
Self-Referential Comments3 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMau3/linux/ldd_recursive.pl20# This file is provided under a dual BSD/GPLv2 license. When using orCOMMENT
MEDIUMau3/scripts/piped-work/pipeclient.py52 # Create a client instance:STRING
MEDIUMau3/scripts/piped-work/pipe_test.pl425# Create a chirp for an effect to be applied to.COMMENT
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ibraries/au3-preferences/tests/SettingsTestsCommon.cpp78 REQUIRE(settings.Write("pineapple", "Lorem Ipsum"));CODE
LOW…ibraries/au3-preferences/tests/SettingsTestsCommon.cpp80 REQUIRE(pineappleValue == "Lorem Ipsum");CODE
LOW…ibraries/au3-preferences/tests/SettingsTestsCommon.cpp96 REQUIRE(pineappleValue == "Lorem Ipsum");CODE
LOWau3/libraries/au3-wave-track/WaveTrack.h407 // will contain a "placeholder" clip whose only purpose is to makeCOMMENT
Excessive Try-Catch Wrapping2 hits · 3 pts
SeverityFileLineSnippetContext
MEDIUMtools/translations/process_source_ts_files.py81 eprint(f'Error in translatable string: "{message.find("source").text}"')CODE
LOWau3/scripts/utils/files.py24 except Exception as e:CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtools/translations/run_lupdate.sh22# Usage:COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWau3/linux/ldd_recursive.pl115 # Print messages for debug purposesCOMMENT