AI Slop Code Risk Monitor

subsurface/subsurface

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

This is the official upstream of the Subsurface divelog program

2.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for subsurface/subsurface, a C++ project with 3,216 GitHub stars. SynthScan examined 722,637 lines of code across 953 source files, recording 641 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.8 (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.

2.8
Adjusted Signal
2.8
Raw Pattern Score
100%
Time Factor
2026-11-01
Last Push
3.2K
Stars
C++
Language
722.6K
Lines of Code
953
Files
641
Pattern Hits
2026-10-31
Scan Date
0.20
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 12.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 0.7/100 · LOW

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

PR Review Velocity Impact 10.7/100 · LOW

Which changes need focused human review? 641 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 1HIGH 187MEDIUM 26LOW 427

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 641 distinct pattern matches across 13 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.

Synthetic Comment Markers187 hits · 1485 pts
SeverityFileLineSnippetContext
HIGHCMakeLists.txt10# AI-generated (Claude)COMMENT
HIGHCMakeLists.txt204 # AI-generated (Claude)COMMENT
HIGHCMakeLists.txt481 # AI-generated (Claude)COMMENT
HIGHCMakeLists.txt520 # AI-generated (Claude): UTTypeItem, used by the "Load from file" document pickerCOMMENT
HIGHCMakeLists.txt1181 # AI-generated (Claude)COMMENT
HIGHCMakeLists.txt1193 # AI-generated (Claude)COMMENT
HIGHCMakeLists.txt1400 # AI-generated (Claude)COMMENT
HIGHsubsurface-helper.cpp114 // AI-generated (Claude)COMMENT
HIGHCLAUDE.md19 // AI-generated (Claude)COMMENT
HIGH…ckaging/windows-msvc/overlay-ports/libmtp/msvc_wpd.cpp1// AI-generated (Claude)COMMENT
HIGHpackaging/ios/enable-signing.sh2# AI-generated (Claude)COMMENT
HIGHpackaging/ios/ios-native-libs.sh2# AI-generated (Claude)COMMENT
HIGHpackaging/ios/ios-build-subsurface.sh2# AI-generated (Claude)COMMENT
HIGHpackaging/android/local-build.sh48# AI-generated (Claude)COMMENT
HIGHpackaging/android/local-build.sh67 # AI-generated (Claude)COMMENT
HIGHpackaging/android/local-build.sh177# AI-generated (Claude)COMMENT
HIGHpackaging/android/local-build.sh198# AI-generated (Claude): unsigned builds do not have a keystore to copy.COMMENT
HIGHpackaging/android/in-container-build.sh97# AI-generated (Claude)COMMENT
HIGHpackaging/android/in-container-build.sh323# AI-generated (Claude): androiddeployqt may apply its debug key even without release credentials.COMMENT
HIGH…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java95 // AI-generated (Claude)COMMENT
HIGH…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java169 // AI-generated (Claude): "Load from file" uses its own request code, handled separately belowCOMMENT
HIGH…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java235 // AI-generated (Claude)COMMENT
HIGH…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java311 // AI-generated (Claude)COMMENT
HIGH⚡…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java355 // AI-generated (Claude): a save dialog still open from before a recreationCOMMENT
HIGH⚡…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java359 // AI-generated (Claude)COMMENT
HIGH⚡…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java366 // AI-generated (Claude)COMMENT
HIGHDocumentation/user-manual.txt1274// AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.cpp699 // AI-generated (Claude): Do not discard unsaved data while switching accountsCOMMENT
HIGHmobile-widgets/qmlmanager.cpp1141 // AI-generated (Claude): Reject incomplete input rather than interpreting missing fields as zero.COMMENT
HIGHmobile-widgets/qmlmanager.cpp1635// AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.cpp2293// AI-generated (Claude): diveSharePrivate maps to uploadDiveShare::doUpload()'sCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2300// AI-generated (Claude): the file creation below was moved out of shareViaEmail()COMMENT
HIGHmobile-widgets/qmlmanager.cpp2357 // AI-generated (Claude): handedOff only tells us the share intent wasCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2368 // AI-generated (Claude): iosshare.shareViaEmail() doesn't report back whetherCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2377// AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.cpp2397 // AI-generated (Claude): handedOff only tells us the Storage Access FrameworkCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2405 // AI-generated (Claude): iosshare.saveFile() doesn't report back whether theCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2477// AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.cpp2492 // AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.cpp2503 // AI-generated (Claude): call into ObjC++ code to present the document pickerCOMMENT
HIGHmobile-widgets/qmlmanager.cpp2510// AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.h89 // AI-generated (Claude): split per upload destination so each takes only theCOMMENT
HIGHmobile-widgets/qmlmanager.h99 // AI-generated (Claude)COMMENT
HIGHmobile-widgets/qmlmanager.h347 // AI-generated (Claude): result of loadDivesFromFile() / importDivesFromFile(),COMMENT
HIGHmobile-widgets/qmlmanager.h355 // AI-generated (Claude): result of shareViaEmail()/saveExportToDevice().COMMENT
HIGHmobile-widgets/qmlinterface.h90 // AI-generated (Claude): per-plan surface pressure and derived altitude for the mobile plannerCOMMENT
HIGHmobile-widgets/qmlinterface.h356 // AI-generated (Claude): emitted when either the pressure or the derived altitude changesCOMMENT
HIGHcore/qt-ble.cpp647// AI-generated (Claude)COMMENT
HIGHcore/qt-ble.cpp701 // AI-generated (Claude)COMMENT
HIGHcore/qt-ble.cpp742 // AI-generated (Claude)COMMENT
HIGHcore/qt-ble.cpp761 // AI-generated (Claude)COMMENT
HIGHcore/qt-ble.cpp981 // AI-generated (Claude)COMMENT
HIGHcore/imagedownloader.cpp23// AI-generated (Claude)COMMENT
HIGHcore/pref.cpp9// AI-generated (Claude)COMMENT
HIGHcore/plannernotes.cpp150 // AI-generated (Claude)COMMENT
HIGHcore/git-access.h43// AI-generated (Claude)COMMENT
HIGHcore/fit_file.cpp26 // AI-generated (Claude)COMMENT
HIGHcore/file.h49// AI-generated (Claude)COMMENT
HIGHcore/videoframeextractor.cpp12// AI-generated (Claude)COMMENT
HIGHcore/save-git.cpp851 // AI-generated (Claude): An empty site still carries referential data when a dive uses its UUID.COMMENT
127 more matches not shown…
Over-Commented Block381 hits · 380 pts
SeverityFileLineSnippetContext
LOWsubsurface-mobile-main.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWsubsurface-mobile-main.cpp21#include "core/checkcloudconnection.h"COMMENT
LOWCMakeLists.txt1# cmake based build of SubsurfaceCOMMENT
LOWsubsurface-downloader-main.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcli-downloader.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWexport-html.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWsubsurface-helper.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWsubsurface-helper.cpp21#include <QQmlContext>COMMENT
LOWsubsurface-helper.cpp101#if defined(__APPLE__) && !defined(Q_OS_IOS)COMMENT
LOWsubsurface-desktop-main.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWsubsurface-desktop-main.cpp21COMMENT
LOW…ckaging/windows-msvc/overlay-ports/libmtp/msvc_wpd.cpp1// AI-generated (Claude)COMMENT
LOWpackaging/ios/enable-signing.sh1#!/bin/bashCOMMENT
LOWpackaging/ios/ios-native-libs.sh1#!/bin/bashCOMMENT
LOWpackaging/ios/ios-build-subsurface.sh1#!/bin/bashCOMMENT
LOWpackaging/macosx/homebrew-local-build.sh1#!/bin/bashCOMMENT
LOWpackaging/macosx/build-deps.sh1#!/bin/bashCOMMENT
LOWpackaging/android/local-build.sh1#!/bin/bashCOMMENT
LOWpackaging/android/local-build.sh21#COMMENT
LOWpackaging/android/local-build.sh121CONTAINER_IMAGE="docker.io/subsurface/android-build:6.10.3-6"COMMENT
LOWpackaging/android/in-container-build.sh1#!/bin/bashCOMMENT
LOWpackaging/android/in-container-build.sh81# - scripts/mobilecomponents.sh itself (build flags, patch loop)COMMENT
LOWpackaging/android/in-container-build.sh161# has actually changed -- because `make install` of autotools projectsCOMMENT
LOWpackaging/android/in-container-build.sh181 # automake whenever configure.ac looks newer than the generated files. AfterCOMMENT
LOWpackaging/android/in-container-build.sh221elseCOMMENT
LOWpackaging/windows/smtk2ssrf-mxe-build.sh1#!/bin/bash -eCOMMENT
LOWpackaging/windows/smtk2ssrf-mxe-build.sh21# -t (--tag): Defines which git version we want to build. Defaults toCOMMENT
LOWpackaging/windows/smtk2ssrf-mxe-build.sh41# build git latest master regardless of subsurface's cross built version.COMMENT
LOWpackaging/windows/mxe-based-build.sh1#!/bin/bash -eCOMMENT
LOWpackaging/windows/mxe-based-build.sh21#COMMENT
LOWpackaging/windows/mxe-based-build.sh41# minutes to several hours) you should have a working MXE install inCOMMENT
LOWpackaging/windows/mxe-based-build.sh61#COMMENT
LOW…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java241 // file as a result.COMMENT
LOW…subsurfacedivelog/mobile/SubsurfaceMobileActivity.java321 // Calls into this method come from JNI (QMLManager::setStatusbarColor);COMMENT
LOWmobile-widgets/qmlmanager.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWmobile-widgets/qmlmanager.cpp21#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)COMMENT
LOWmobile-widgets/qmlmanager.cpp41#include "core/subsurfacestartup.h" // for ignore_bt flagCOMMENT
LOWmobile-widgets/qmlmanager.cpp2481// (so that it survives the picker returning asynchronously) and then handsCOMMENT
LOWmobile-widgets/qmlmanager.cpp2501 appendTextToLog("loadDivesFromFile: no valid Android activity");COMMENT
LOWmobile-widgets/qmlmanager.cpp2521// stack, and therefore MUST run on the Qt main thread. The native pickersCOMMENT
LOWmobile-widgets/qmlmanager.h1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWmobile-widgets/qmlinterface.h1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWmobile-widgets/qmlinterface.h21// headerCOMMENT
LOWcore/qt-ble.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/qt-ble.cpp161//COMMENT
LOWcore/qt-ble.cpp221 //COMMENT
LOWcore/qt-ble.cpp441 *actual += packet.size();COMMENT
LOWcore/qt-ble.cpp641COMMENT
LOWcore/qt-ble.cpp681 */COMMENT
LOWcore/qt-ble.cpp741#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)COMMENT
LOWcore/qt-ble.cpp801 // Note that ble takes ownership of controller and henceforth deleting ble willCOMMENT
LOWcore/imagedownloader.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/imagedownloader.cpp21#include <QtConcurrent>COMMENT
LOWcore/filterconstraint.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/divelog.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/qthelper.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/qthelper.cpp21#include "picture.h"COMMENT
LOWcore/windows.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/ostctools.cpp1// SPDX-License-Identifier: GPL-2.0COMMENT
LOWcore/range.h1// SPDX-License-Identifier: GPL-2.0COMMENT
321 more matches not shown…
Decorative Section Separators20 hits · 70 pts
SeverityFileLineSnippetContext
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml213 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml215 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml221 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml223 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml284 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml289 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml297 # ---------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/windows-msvc-qt6.yml299 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml50 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml52 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml70 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml72 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml133 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml135 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml249 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml251 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml346 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml348 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml421 # ---------------------------------------------------------------COMMENT
MEDIUM.github/workflows/windows-msvc-qt6.yml423 # ---------------------------------------------------------------COMMENT
Hyper-Verbose Identifiers25 hits · 29 pts
SeverityFileLineSnippetContext
LOWcli/tests/test_cli.py223 def test_list_dives_pagination(self):CODE
LOWcli/tests/test_cli.py244 def test_list_dives_statistics(self):CODE
LOWcli/tests/test_cli.py314 def test_get_dive_invalid_format(self):CODE
LOWcli/tests/test_cli.py322 def test_get_dive_missing_arg(self):CODE
LOWcli/tests/test_cli.py379 def test_get_trip_missing_arg(self):CODE
LOWcli/tests/test_cli.py454 def test_get_profile_custom_dimensions(self):CODE
LOW⚡cli/tests/test_cli.py490 def test_get_profile_not_found(self):CODE
LOW⚡cli/tests/test_cli.py499 def test_get_profile_missing_arg(self):CODE
LOW⚡cli/tests/test_cli.py508 def test_dive_data_consistency(self):CODE
LOW⚡cli/tests/test_cli.py560 def test_security_long_dive_ref(self):CODE
LOW⚡cli/tests/test_cli.py570 def test_security_special_chars_dive_ref(self):CODE
LOWscripts/shellcheck/test-report-pr.py58 def test_changed_files_renames_deletions_and_existing_findings(self):CODE
LOWscripts/shellcheck/test-report-pr.py86 def test_no_changes_and_invalid_sha(self):CODE
LOWscripts/shellcheck/test-report-pr.py94 def test_base_branch_changes_after_divergence_are_not_pr_changes(self):CODE
LOWscripts/shellcheck/test-report-pr.py113 def test_enforced_set_fails_on_a_finding(self):CODE
LOWscripts/shellcheck/test-report-pr.py124 def test_new_script_is_enforced_by_default(self):CODE
LOWscripts/shellcheck/test-report-pr.py143 def test_root_script_with_leading_hyphen_is_not_an_option(self):CODE
LOWscripts/shellcheck/test-report-pr.py155 def test_runner_handles_newlines_and_unterminated_exemptions(self):CODE
LOW⚡scripts/shellcheck/test-report-pr.py171 def test_extensionless_script_is_covered(self):CODE
LOW⚡scripts/shellcheck/test-report-pr.py178 def test_tracked_script_symlink_is_rejected(self):CODE
LOW⚡scripts/shellcheck/test-report-pr.py186 def test_git_enumeration_failure_fails_both_modes(self):CODE
LOWscripts/shellcheck/test-report-pr.py201 def test_github_report_is_informational(self):CODE
LOWscripts/shellcheck/test-report-pr.py212 def test_annotation_fields_and_markdown_escape_untrusted_data(self):CODE
LOWscripts/shellcheck/test-report-pr.py229 def test_annotation_cap_and_summary_size_limit(self):CODE
LOWscripts/shellcheck/test-report-pr.py246 def test_summary_omits_per_file_headers_when_they_exceed_limit(self):CODE
Redundant / Tautological Comments8 hits · 12 pts
SeverityFileLineSnippetContext
LOWpackaging/macosx/make-package.sh210 # Check if there are any problematic absolute RPATHsCOMMENT
LOWpackaging/android/local-build.sh150# Check if the container already exists and whether it was created fromCOMMENT
LOWpackaging/windows/docker-build.sh27# Check if our container existsCOMMENT
LOWscripts/smtk2ssrf-build.sh79# Check if we are in a sane environmentCOMMENT
LOWscripts/smtk2ssrf-build.sh89# Check if we have glib-2.0 installed. This is a dependency forCOMMENT
LOWscripts/smtk2ssrf-build.sh100# Check if mdbtools devel package is avaliable, if it is not, downloadCOMMENT
LOWscripts/find-prs-for-release.sh81 # Check if this ref has the target build numberCOMMENT
LOW.github/workflows/publish-release.yml121 # Check if workflow has path filters that don't match changed filesCOMMENT
AI Slop Vocabulary5 hits · 12 pts
SeverityFileLineSnippetContext
LOWpackaging/ubuntu/make-package.sh151# this uses my (Dirk's) email address by default... simply set that variable in yourCOMMENT
MEDIUMcore/filterconstraint.h98// However, by using these functions we are more robust, because the lists can be ordered differently than the enums.COMMENT
LOWscripts/countTranslations.sh3# simply create some statsCOMMENT
MEDIUMcommands/command_divelist.h233// but simple and robust way: We keep two full copies of the dive (before and after).COMMENT
MEDIUMstats/barseries.cpp336// Essentially, the name of the bin and the number and percentages of dives.COMMENT
Self-Referential Comments3 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMpackaging/android/local-build.sh160# Create the container if it doesn't exist. The container runsCOMMENT
MEDIUMpackaging/windows/docker-build.sh30# Create the container if it does not existCOMMENT
MEDIUM⚡cli/tests/test_cli.py564 # Create a very long dive ref (should be rejected)COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtheme/jquery.min.js4marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"CODE
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWcli/tests/test_cli.py260CODE
LOWcli/tests/test_cli.py403CODE
LOWcli/tests/test_cli.py454CODE
LOWcli/tests/test_cli.py508CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWpackaging/android/local-build.sh29# Usage:COMMENT
LOWscripts/parse-descriptor.pl5# Usage:COMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcore/dive.cpp2880 // TODO: implement addition for units.h typesCOMMENT
LOWcore/divelist.cpp618 // TODO: implement subtraction for units.h typesCOMMENT
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/get-dep-lib.sh117# If changing the openSSL version here, make sure to change it in scripts/docker/android-build-container/Dockerfile alsoCOMMENT
LOWcommands/command_edit.cpp1557 // Don't forget to unregister the old and register the new dive!COMMENT
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcli/tests/test_cli.py621 except Exception as e:CODE