AI Slop Code RIsk Monitor

sgoudelis/ground-station

Browser-based ground station suite for celestial body, mission and satellite tracking, SDR reception, hardware control, and telemetry decoding

15.4 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for sgoudelis/ground-station, a JavaScript project with 4,832 GitHub stars. SynthScan examined 337,201 lines of code across 1031 source files, recording 3699 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 15.4 (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.

15.4
Adjusted Signal
15.4
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
4.8K
Stars
JavaScript
Language
337.2K
Lines of Code
1.0K
Files
3.7K
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 30.2/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 2.4/100 · LOW

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

Agent Over-Engineering Ratio 45.1/100 · MEDIUM

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

PR Review Velocity Impact 55.8/100 · HIGH

Which changes need focused human review? 3699 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

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

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 2HIGH 298MEDIUM 151LOW 3248

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 3699 distinct pattern matches across 21 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 Identifiers1432 hits · 1432 pts
SeverityFileLineSnippetContext
LOWfrontend/src/main.jsx59function LegacySatellitePathRedirect() {CODE
LOWfrontend/src/utils/elevation-curve-calculator.js197export function calculateElevationCurvesForPasses(passes, homeLocation, satelliteLookup) {CODE
LOWfrontend/src/utils/doppler-calculator.js157export function calculateNeighboringTransmitters(CODE
LOWfrontend/src/utils/doppler-calculator.js232export function groupNeighboringTransmitters(neighboringTransmitters, frequencyThresholdHz = 50000) {CODE
LOWfrontend/src/components/settings/settings.jsx60export function SettingsTabOrbitalSources() {CODE
LOWfrontend/src/components/settings/settings.jsx66export function SettingsTabSatelliteGroups() {CODE
LOW⚡frontend/src/components/settings/settings.jsx131export function AdminSatellitesSourcesPage() {CODE
LOW⚡frontend/src/components/settings/settings.jsx139export function AdminSatellitesOrbitalDataPage() {CODE
LOW⚡frontend/src/components/settings/settings.jsx149export function AdminSatellitesCatalogPage() {CODE
LOW⚡frontend/src/components/settings/settings.jsx157export function AdminSatellitesGroupsPage() {CODE
LOW⚡frontend/src/components/settings/settings.jsx165export function AdminCelestialEphemerisPage() {CODE
LOW⚡frontend/src/components/settings/settings.jsx173export function AdminCelestialCatalogPage() {CODE
LOWfrontend/src/components/settings/settings.jsx197export function AdminSystemPreferencesPage() {CODE
LOWfrontend/src/components/settings/settings.jsx229export function AdminSystemMaintenancePage() {CODE
LOWfrontend/src/components/settings/settings.jsx266const AdminSatellitesPageLayout = React.memo(function AdminSatellitesPageLayout({ activeTab, children }) {CODE
LOWfrontend/src/components/settings/settings.jsx679const SettingsAndPreferencesForm = React.memo(function SettingsAndPreferencesForm({ initialSubTab }) {CODE
LOWfrontend/src/components/auth/screens.jsx167function LoginTransportSecurityIndicator({ isHttps, onOpenGuidance }) {CODE
LOW…ontend/src/components/waterfall/settings-recording.jsx431function areRecordingAccordionPropsEqual(prevProps, nextProps) {CODE
LOWfrontend/src/components/waterfall/gnss-slice.jsx135function getGnssFixStatusFromOutput(output) {CODE
LOWfrontend/src/components/waterfall/settings-sdr.jsx905function areSdrAccordionPropsEqual(prevProps, nextProps) {CODE
LOWfrontend/src/components/waterfall/settings-fft.jsx188function areFftAccordionPropsEqual(prevProps, nextProps) {CODE
LOWfrontend/src/components/waterfall/settings-playback.jsx512function arePlaybackAccordionPropsEqual(prevProps, nextProps) {CODE
LOW…rc/components/waterfall/dom-tile-waterfall-renderer.js3export function createDomTileWaterfallRenderer({CODE
LOWfrontend/src/components/waterfall/decoder-parameters.js640export function getDecoderDefaultParameters(decoder, t = englishFallback) {CODE
LOWfrontend/src/components/waterfall/waterfall-worker.js148function initLeftMarginStateCanvas(options = {}) {CODE
LOWfrontend/src/components/waterfall/waterfall-worker.js181function advanceHeadlessLeftMargin() {CODE
LOWfrontend/src/components/waterfall/main-layout.jsx53function loadLayoutsFromLocalStorage() {CODE
LOWfrontend/src/components/waterfall/main-layout.jsx74function saveLayoutsToLocalStorage(layouts) {CODE
LOWfrontend/src/components/waterfall/main-layout.jsx84function normalizeLayoutsResizeHandles(layouts) {CODE
LOWfrontend/src/components/waterfall/waterfall-slice.jsx54function applySDRConfigParametersToState(state, payload, sdrId) {CODE
LOW…ontend/src/components/waterfall/settings-frequency.jsx390function areFrequencyControlAccordionPropsEqual(prevProps, nextProps) {CODE
LOW…/src/components/waterfall/worker-modules/color-maps.js164function greyscaleInvertedColorMap(normalizedValue) {CODE
LOW…d/src/components/waterfall/worker-modules/rendering.js402export function updateWaterfallLeftMargin({CODE
LOW…src/components/waterfall/vfo-settings/settings-vfo.jsx301function areVfoAccordionPropsEqual(prevProps, nextProps) {CODE
LOW…d/src/components/target/target-earth-maplibre-view.jsx154function projectTerminatorForMapLibre(points) {CODE
LOW…ponents/target/use-target-rotator-selection-dialog.jsx87export function useTargetRotatorSelectionDialog() {CODE
LOWfrontend/src/components/target/rotator-utils.js37export function getCurrentStatusofRotator(rotatorData, lastRotatorEvent) {CODE
LOWfrontend/src/components/target/rotator-utils.js121export function getConnectionStatusofRotator(rotatorData) {CODE
LOWfrontend/src/components/target/rotator-utils.js244export function isRotatorSelectionDisabled(trackingState) {CODE
LOW…/components/target/target-sky-view-settings-dialog.jsx111function TargetSkyViewSettingsDialog({ updateBackend }) {CODE
LOW…end/src/components/target/tracker-command-feedback.jsx7export function TrackerCommandHeaderStatus({command, hardwareStatus, stale = false, sx = {}}) {CODE
LOWfrontend/src/components/target/satellite-search.jsx162const SatelliteSearchAutocomplete = React.memo(function SatelliteSearchAutocomplete({CODE
LOWfrontend/src/components/target/main-layout.jsx98function loadLayoutsFromLocalStorage() {CODE
LOWfrontend/src/components/target/main-layout.jsx119function saveLayoutsToLocalStorage(layouts) {CODE
LOWfrontend/src/components/target/main-layout.jsx129function normalizeLayoutsResizeHandles(layouts) {CODE
LOWfrontend/src/components/target/main-layout.jsx147function ensureLayoutsContainRequiredItems(layouts, defaultLayouts) {CODE
LOWfrontend/src/components/target/main-layout.jsx163function removeDeprecatedLayoutItems(layouts) {CODE
LOWfrontend/src/components/target/main-layout.jsx178function enforceFixedIslandHeights(layouts) {CODE
LOWfrontend/src/components/scheduler/main-layout.jsx26export default function ScheduledObservationsLayout() {CODE
LOWfrontend/src/components/dashboard/dashboard-layout.jsx256function ActiveObservationIndicator() {CODE
LOWfrontend/src/components/dashboard/dashboard-layout.jsx420function UpcomingObservationIndicator() {CODE
LOWfrontend/src/components/dashboard/dashboard-layout.jsx707function SidebarFooterAccountPopover() {CODE
LOWfrontend/src/components/common/tracking-logic.jsx35function notifyTrackingPropagationFailureOnce(noradId, satelliteName, detail = '') {CODE
LOWfrontend/src/components/common/tracking-logic.jsx141export function getSatelliteCoverageCircle(satLat, satLon, altitudeKm, numPoints = 36) {CODE
LOWfrontend/src/components/common/tracking-logic.jsx482function calculateGreatCircleDistance(lat1, lon1, lat2, lon2) {CODE
LOWfrontend/src/components/common/tracking-logic.jsx618export function calculateTimeToMaxElevation(tleLine1, tleLine2, groundStation, startDate = new Date(), maxMinutes = 30) CODE
LOWfrontend/src/components/common/common.jsx239export function InternationalDateLinePolyline() {CODE
LOWfrontend/src/components/common/common.jsx651export function getClassNamesBasedOnGridEditing(gridEditing, stringList) {CODE
LOWfrontend/src/components/common/tile-layers.jsx41export function normalizeMapEngineForTileLayers(mapEngine) {CODE
LOWfrontend/src/components/common/tile-layers.jsx49export function isTileLayerCompatibleWithEngine(layer, mapEngine) {CODE
1372 more matches not shown…
Empty Error Handlers222 hits · 1100 pts
SeverityFileLineSnippetContext
HIGHbackend/pipeline/managers/decodermanager.py68except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py73except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py90except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py82except ProcessLookupError:CODE
HIGHbackend/pipeline/managers/decodermanager.py939except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py894except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py903except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py228except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py248except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py257except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py869except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py878except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py882except Exception:CODE
HIGHbackend/pipeline/managers/decodermanager.py891except Exception:CODE
HIGHbackend/pipeline/orchestration/processlifecycle.py1138except Exception:CODE
HIGHbackend/pipeline/orchestration/processlifecycle.py1171except Exception:CODE
HIGHbackend/pipeline/orchestration/processlifecycle.py1015except Exception:CODE
HIGHbackend/pipeline/orchestration/processlifecycle.py1372except Exception:CODE
HIGHbackend/tasks/satdumpprocessor.py88except Exception:CODE
HIGHbackend/tasks/satdumpprocessor.py120except Exception:CODE
HIGHbackend/tasks/satdumpprocessor.py499except Exception:CODE
HIGHbackend/tasks/manager.py354except Empty:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py237except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py247except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py259except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py267except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py272except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py276except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py145except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py295except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py303except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py317except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py331except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py468except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py511except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py527except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py245except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py502except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py224except Exception:CODE
HIGHbackend/hardware/soapysdrremoteprobe.py293except Exception:CODE
HIGHbackend/hardware/uhdprobe.py30except ImportError as e:CODE
HIGHbackend/hardware/soapysdrbrowser.py71except Exception:CODE
HIGHbackend/hardware/soapyenum.py163except Exception:CODE
HIGHbackend/hardware/soapyenum.py173except Exception:CODE
HIGHbackend/hardware/soapyenum.py185except Exception:CODE
HIGHbackend/hardware/soapyenum.py193except Exception:CODE
HIGHbackend/hardware/soapyenum.py198except Exception:CODE
HIGHbackend/hardware/soapyenum.py202except Exception:CODE
HIGHbackend/hardware/soapyenum.py66except Exception:CODE
HIGHbackend/hardware/soapyenum.py222except Exception:CODE
HIGHbackend/hardware/soapyenum.py228except Exception:CODE
HIGHbackend/hardware/soapyenum.py242except Exception:CODE
HIGHbackend/hardware/soapyenum.py256except Exception:CODE
HIGHbackend/hardware/soapyenum.py171except Exception:CODE
HIGHbackend/hardware/soapyenum.py146except Exception:CODE
HIGHbackend/hardware/soapyenum.py220except Exception:CODE
HIGHbackend/hardware/soapyenum.py534except Exception:CODE
HIGHbackend/hardware/uhdenum.py31except ImportError:CODE
HIGHbackend/hardware/soapysdrlocalprobe.py234except Exception:CODE
HIGHbackend/hardware/soapysdrlocalprobe.py244except Exception:CODE
162 more matches not shown…
Excessive Try-Catch Wrapping981 hits · 952 pts
SeverityFileLineSnippetContext
LOWbackend/app.py106 except Exception as e: # pragma: no cover - startup errorsSTRING
LOW⚡backend/pipeline/registries/decoderregistry.py27except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py34except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py41except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py48except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py55except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py62except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py69except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py76except Exception as error:CODE
LOW⚡backend/pipeline/registries/decoderregistry.py83except Exception as error:CODE
LOWbackend/pipeline/config/decoderconfigservice.py196 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py306 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py371 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py400 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py426 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py445 except Exception as e:CODE
LOWbackend/pipeline/managers/transcriptionmanager.py465 except Exception as e:CODE
LOW⚡backend/pipeline/managers/decodermanager.py84 except Exception as e:CODE
LOW⚡backend/pipeline/managers/decodermanager.py90 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py92 except Exception as e:CODE
LOW⚡backend/pipeline/managers/decodermanager.py869 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py878 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py882 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py891 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py894 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py903 except Exception:CODE
LOW⚡backend/pipeline/managers/decodermanager.py905 except Exception as e:CODE
LOWbackend/pipeline/managers/decodermanager.py68 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py73 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py108 except Exception as e:CODE
LOWbackend/pipeline/managers/decodermanager.py119 except Exception as e:CODE
LOWbackend/pipeline/managers/decodermanager.py135 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py143 except Exception as e:CODE
LOWbackend/pipeline/managers/decodermanager.py228 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py248 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py257 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py723 except Exception as e:CODE
LOWbackend/pipeline/managers/decodermanager.py939 except Exception:CODE
LOWbackend/pipeline/managers/decodermanager.py947 except Exception as e:CODE
LOWbackend/pipeline/managers/consumerbase.py213 except Exception as e:CODE
LOWbackend/pipeline/managers/consumerbase.py262 except Exception as e:CODE
LOWbackend/pipeline/managers/audiorecordermanager.py114 except Exception as e:CODE
LOWbackend/pipeline/managers/audiorecordermanager.py173 except Exception as e:CODE
LOWbackend/pipeline/managers/audiorecordermanager.py194 except Exception as e:CODE
LOWbackend/pipeline/managers/recordermanager.py141 except Exception as e:CODE
LOWbackend/pipeline/managers/recordermanager.py198 except Exception as e:CODE
LOWbackend/pipeline/managers/recordermanager.py245 except Exception as e:CODE
LOWbackend/pipeline/managers/demodulatormanager.py109 except Exception as e:CODE
LOWbackend/pipeline/managers/demodulatormanager.py160 except Exception as e:CODE
LOWbackend/pipeline/managers/demodulatormanager.py183 except Exception as e:CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py223 except Exception:CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py254 except Exception as e:CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py361 except Exception as e:CODE
LOWbackend/pipeline/orchestration/processmanager.py125 except Exception:CODE
LOWbackend/pipeline/orchestration/processmanager.py169 except Exception as e:CODE
LOWbackend/pipeline/orchestration/processmanager.py263 except Exception:CODE
LOWbackend/pipeline/orchestration/processlifecycle.py138 except Exception:CODE
LOWbackend/pipeline/orchestration/processlifecycle.py281 except Exception as exc:CODE
LOWbackend/pipeline/orchestration/processlifecycle.py314 except Exception as exc:CODE
LOWbackend/pipeline/orchestration/processlifecycle.py368 except Exception as e:CODE
921 more matches not shown…
Cross-File Repetition58 hits · 290 pts
SeverityFileLineSnippetContext
HIGHbackend/tools/import_gr_satellites_transmitters.py0encode a uuid as a satnogs-style 22-char transmitter id.STRING
HIGHbackend/tools/import_satdump_website_transmitters.py0encode a uuid as a satnogs-style 22-char transmitter id.STRING
HIGHbackend/crud/transmitters.py0encode a uuid as a satnogs-style 22-char transmitter id.STRING
HIGHbackend/tlesync/utils.py0encode a uuid as a satnogs-style 22-char transmitter id.STRING
HIGHbackend/handlers/entities/transmitterimport.py0encode a uuid as a satnogs-style 22-char transmitter id.STRING
HIGHbackend/demodulators/afskdecoder.py0send statistics update to ui and performance monitorSTRING
HIGHbackend/demodulators/sstvdecoder.py0send statistics update to ui and performance monitorSTRING
HIGHbackend/demodulators/loradecoder.py0send statistics update to ui and performance monitorSTRING
HIGHbackend/demodulators/bpskdecoder.py0send statistics update to ui and performance monitorSTRING
HIGHbackend/demodulators/fskdecoder.py0send statistics update to ui and performance monitorSTRING
HIGHbackend/demodulators/ssbdemodulator.py0resize filter state vector when filter coefficients change. this prevents clicks by smoothly transitioning filter statesSTRING
HIGHbackend/demodulators/amdemodulator.py0resize filter state vector when filter coefficients change. this prevents clicks by smoothly transitioning filter statesSTRING
HIGHbackend/demodulators/fmdemodulator.py0resize filter state vector when filter coefficients change. this prevents clicks by smoothly transitioning filter statesSTRING
HIGHbackend/demodulators/fmstereodemodulator.py0resize filter state vector when filter coefficients change. this prevents clicks by smoothly transitioning filter statesSTRING
HIGHbackend/demodulators/ssbdemodulator.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/amdemodulator.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/fmdemodulator.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/fmstereodemodulator.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/sstvdecoder.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/loradecoder.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/bpskdecoder.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/fskdecoder.py0translate frequency by offset (shift signal in frequency domain).STRING
HIGHbackend/demodulators/amdemodulator.py0check if vfo center frequency is within sdr bandwidth (with small edge margin). returns tuple: (is_in_band, offset_from_STRING
HIGHbackend/demodulators/fmdemodulator.py0check if vfo center frequency is within sdr bandwidth (with small edge margin). returns tuple: (is_in_band, offset_from_STRING
HIGHbackend/demodulators/sstvdecoder.py0check if vfo center frequency is within sdr bandwidth (with small edge margin). returns tuple: (is_in_band, offset_from_STRING
HIGHbackend/demodulators/bpskdecoder.py0check if vfo center frequency is within sdr bandwidth (with small edge margin). returns tuple: (is_in_band, offset_from_STRING
HIGHbackend/workers/uhdworker.py0worker process for rtl-sdr operations. this function runs in a separate process to avoid segmentation faults. it receiveSTRING
HIGHbackend/workers/soapysdrlocalworker.py0worker process for rtl-sdr operations. this function runs in a separate process to avoid segmentation faults. it receiveSTRING
HIGHbackend/workers/soapysdrremoteworker.py0worker process for rtl-sdr operations. this function runs in a separate process to avoid segmentation faults. it receiveSTRING
HIGHbackend/workers/rtlsdrworker.py0worker process for rtl-sdr operations. this function runs in a separate process to avoid segmentation faults. it receiveSTRING
HIGHbackend/workers/uhdworker.py0calculate number of samples per scan for constant block rate streaming.STRING
HIGHbackend/workers/sigmfplaybackworker.py0calculate number of samples per scan for constant block rate streaming.STRING
HIGHbackend/workers/soapysdrlocalworker.py0calculate number of samples per scan for constant block rate streaming.STRING
HIGHbackend/workers/rtlsdrworker.py0calculate number of samples per scan for constant block rate streaming.STRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0select name, value, added, updated from preferences where scope in ('system', 'bootstrap') and user_id is null and name STRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0select name, value, added, updated from preferences where scope in ('system', 'bootstrap') and user_id is null and name STRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0select name, value, added, updated from preferences where scope in ('system', 'bootstrap') and user_id is null and name STRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, :user_id, 'user', :name, :value, STRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, :user_id, 'user', :name, :value, STRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, :user_id, 'user', :name, :value, STRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0delete from preferences where scope in ('system', 'bootstrap') and user_id is null and name in ({keys_sql})STRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0delete from preferences where scope in ('system', 'bootstrap') and user_id is null and name in ({keys_sql})STRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0delete from preferences where scope in ('system', 'bootstrap') and user_id is null and name in ({keys_sql})STRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0select name, value, added, updated from preferences where scope = 'user' and name in ({keys_sql}) order by coalesce(updaSTRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0select name, value, added, updated from preferences where scope = 'user' and name in ({keys_sql}) order by coalesce(updaSTRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0select name, value, added, updated from preferences where scope = 'user' and name in ({keys_sql}) order by coalesce(updaSTRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0select name from preferences where scope = 'system' and user_id is null and name in ({keys_sql})STRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0select name from preferences where scope = 'system' and user_id is null and name in ({keys_sql})STRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0select name from preferences where scope = 'system' and user_id is null and name in ({keys_sql})STRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, null, 'system', :name, :value, :aSTRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, null, 'system', :name, :value, :aSTRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0insert into preferences (id, user_id, scope, name, value, added, updated) values (:id, null, 'system', :name, :value, :aSTRING
HIGH…d/alembic/versions/b1d2c3e4f5a6integrationprefsuser.py0delete from preferences where scope = 'user' and name in ({keys_sql})STRING
HIGH…end/alembic/versions/d6e8f0a1b2c3integrationrepair2.py0delete from preferences where scope = 'user' and name in ({keys_sql})STRING
HIGH…kend/alembic/versions/c5d7e9f1a2b3integrationrepair.py0delete from preferences where scope = 'user' and name in ({keys_sql})STRING
HIGHbackend/controllers/sdr.py0destructor - ensure we disconnect when the object is garbage collected.STRING
HIGHbackend/controllers/rig.py0destructor - ensure we disconnect when the object is garbage collected.STRING
HIGHbackend/controllers/righamlib.py0destructor - ensure we disconnect when the object is garbage collected.STRING
Deep Nesting237 hits · 184 pts
SeverityFileLineSnippetContext
LOWbackend/pipeline/config/decoderconfigservice.py360CODE
LOWbackend/pipeline/config/decoderconfigservice.py395CODE
LOWbackend/pipeline/managers/transcriptionmanager.py95CODE
LOWbackend/pipeline/managers/decodermanager.py146CODE
LOWbackend/pipeline/managers/decodermanager.py604CODE
LOWbackend/pipeline/managers/decodermanager.py782CODE
LOWbackend/pipeline/managers/consumerbase.py45CODE
LOWbackend/pipeline/managers/recordermanager.py65CODE
LOWbackend/pipeline/managers/demodulatormanager.py59CODE
LOWbackend/pipeline/managers/demodulatormanager.py193CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py156CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py262CODE
LOWbackend/pipeline/orchestration/processmanager.py268CODE
LOWbackend/pipeline/orchestration/processlifecycle.py322CODE
LOWbackend/pipeline/orchestration/processlifecycle.py418CODE
LOWbackend/pipeline/orchestration/processlifecycle.py928CODE
LOWbackend/pipeline/orchestration/processlifecycle.py1178CODE
LOWbackend/tasks/exampletask.py36CODE
LOWbackend/tasks/satdumpprocessor.py33CODE
LOWbackend/tasks/satdumpprocessor.py124CODE
LOWbackend/tasks/satdumpprocessor.py295CODE
LOWbackend/tasks/soapysdrdiscovery.py44CODE
LOWbackend/tasks/waterfallgenerator.py26CODE
LOWbackend/tasks/manager.py199CODE
LOWbackend/tasks/manager.py327CODE
LOWbackend/tasks/manager.py508CODE
LOWbackend/tools/import_gr_satellites_transmitters.py242CODE
LOWbackend/tools/import_satdump_website_transmitters.py68CODE
LOWbackend/tools/import_satdump_website_transmitters.py83CODE
LOWbackend/hardware/soapysdrremoteprobe.py70CODE
LOWbackend/hardware/soapysdrremoteprobe.py161CODE
LOWbackend/hardware/soapysdrremoteprobe.py183CODE
LOWbackend/hardware/uhdprobe.py44CODE
LOWbackend/hardware/airspyenum.py43CODE
LOWbackend/hardware/soapysdrbrowser.py105CODE
LOWbackend/hardware/soapysdrbrowser.py417CODE
LOWbackend/hardware/soapysdrbrowser.py547CODE
LOWbackend/hardware/soapysdrbrowser.py619CODE
LOWbackend/hardware/soapyenum.py84CODE
LOWbackend/hardware/soapyenum.py107CODE
LOWbackend/hardware/soapyenum.py335CODE
LOWbackend/hardware/uhdenum.py93CODE
LOWbackend/hardware/parameters.py127CODE
LOWbackend/hardware/soapysdrlocalprobe.py69CODE
LOWbackend/hardware/soapysdrlocalprobe.py158CODE
LOWbackend/hardware/soapysdrlocalprobe.py180CODE
LOWbackend/demodulators/afskdecoder.py114CODE
LOWbackend/demodulators/afskdecoder.py219CODE
LOWbackend/demodulators/afskdecoder.py618CODE
LOWbackend/demodulators/iqrecorder.py138CODE
LOWbackend/demodulators/ssbdemodulator.py286CODE
LOWbackend/demodulators/amdemodulator.py277CODE
LOWbackend/demodulators/fmdemodulator.py601CODE
LOWbackend/demodulators/morsedecoder.py330CODE
LOWbackend/demodulators/morsedecoder.py512CODE
LOWbackend/demodulators/fmstereodemodulator.py444CODE
LOWbackend/demodulators/sstvdecoder.py671CODE
LOWbackend/demodulators/sstvdecoder.py789CODE
LOWbackend/demodulators/sstvdecoder.py966CODE
LOWbackend/demodulators/loradecoder.py485CODE
177 more matches not shown…
Over-Commented Block204 hits · 183 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml81# - repo: https://github.com/pre-commit/mirrors-prettierCOMMENT
LOWfrontend/src/hooks/useSocketEventHandlers.jsx181COMMENT
LOWbackend/alembic.ini1# A generic, single database configuration.COMMENT
LOWbackend/alembic.ini21# Any required deps can installed by adding `alembic[tz]` to the pip requirementsCOMMENT
LOWbackend/alembic.ini41# The path separator used here should be the separator specified by "version_path_separator" below.COMMENT
LOWbackend/alembic.ini61# are written from script.py.makoCOMMENT
LOWbackend/orbits/service.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/orbits/__init__.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/registries/decoderregistry.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/registries/demodulatorregistry.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/config/decoderconfig.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/config/decoderconfigservice.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/transcriptionmanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/decodermanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/consumerbase.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/audiorecordermanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/recordermanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/managers/demodulatormanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/streaming/iqbroadcaster.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/orchestration/gnsssatelliteresolver.py1# Copyright (c) 2026 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/orchestration/processmanager.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/orchestration/gnssfix.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/video/__init__.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/tools/__init__.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/tools/mitm.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/soapysdrremoteprobe.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/airspyprobe.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/airspyenum.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/rtlsdrenum.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/soapysdrbrowser.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/soapyenum.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/sigmfprobe.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/__init__.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/parameters.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/hardware/soapysdrlocalprobe.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/demodulators/afskdecoder.py1# Ground Station - AFSK Decoder using GNU RadioCOMMENT
LOWbackend/demodulators/afskdecoder.py21#COMMENT
LOWbackend/demodulators/iqrecorder.py1# Ground Station - IQ RecorderCOMMENT
LOWbackend/demodulators/ssbdemodulator.py1# Ground Station - SSB DemodulatorCOMMENT
LOWbackend/demodulators/gfskdecoder.py1# Ground Station - GFSK Decoder using GNU RadioCOMMENT
LOWbackend/demodulators/amdemodulator.py1# Ground Station - AM DemodulatorCOMMENT
LOWbackend/demodulators/fmdemodulator.py1# Ground Station - FM DemodulatorCOMMENT
LOWbackend/demodulators/__init__.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/demodulators/morsedecoder.py1# Ground Station - Morse Code DecoderCOMMENT
LOWbackend/demodulators/fmstereodemodulator.py1# Ground Station - FM Stereo DemodulatorCOMMENT
LOWbackend/demodulators/loradecoder.py1# Ground Station - LoRa Decoder using GNU Radio gr-lora_sdrCOMMENT
LOWbackend/demodulators/bpskdecoder.py1# Ground Station - BPSK Decoder using GNU RadioCOMMENT
LOWbackend/demodulators/bpskdecoder.py21#COMMENT
LOWbackend/demodulators/bpskdecoder.py41# 3. SIGNAL PROCESSING CHAIN:COMMENT
LOWbackend/demodulators/audiorecorder.py1# Ground Station - Audio RecorderCOMMENT
LOWbackend/demodulators/basedecoderprocess.py1# Ground Station - Base Decoder ProcessCOMMENT
LOWbackend/demodulators/fskdecoder.py1# Ground Station - FSK-Family Decoder using GNU RadioCOMMENT
LOWbackend/demodulators/fskdecoder.py21#COMMENT
LOWbackend/demodulators/fskdecoder.py41# 3. SIGNAL PROCESSING CHAIN (based on gr-satellites FSK demodulator):COMMENT
LOWbackend/demodulators/gmskdecoder.py1# Ground Station - GMSK Decoder using GNU RadioCOMMENT
LOWbackend/demodulators/basedecoder.py1# Ground Station - Base DecoderCOMMENT
LOWbackend/tests/testtrackercache.py1# Copyright (c) 2026 Efstratios GoudelisCOMMENT
LOWbackend/tests/test_common_utils.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
LOWbackend/tests/testorbitalsources.py1# Copyright (c) 2025 Efstratios GoudelisCOMMENT
144 more matches not shown…
Redundant / Tautological Comments120 hits · 178 pts
SeverityFileLineSnippetContext
LOWfrontend/setup-tests.sh11# Check if we're in the frontend directoryCOMMENT
LOWbackend/pipeline/managers/transcriptionmanager.py201 # Check if transcription worker already exists for this VFOCOMMENT
LOWbackend/pipeline/managers/transcriptionmanager.py205 # Check if settings changed - if so, restart the workerCOMMENT
LOWbackend/pipeline/managers/decodermanager.py179 # Check if decoder already exists for this session and VFOCOMMENT
LOWbackend/pipeline/managers/decodermanager.py201 # Check if this specific VFO has a decoderCOMMENT
LOWbackend/pipeline/managers/decodermanager.py280 # Check if there's an active demodulator for this sessionCOMMENT
LOWbackend/pipeline/managers/decodermanager.py285 # Check if we need to create/recreate the internal demodulatorCOMMENT
LOWbackend/pipeline/managers/decodermanager.py675 # Check if a demodulator exists for this session/VFOCOMMENT
LOWbackend/pipeline/managers/decodermanager.py680 # Check if this is multi-VFO modeCOMMENT
LOW⚡backend/pipeline/managers/consumerbase.py112 # Check if consumer already existsCOMMENT
LOW⚡backend/pipeline/managers/consumerbase.py122 # Check if existing is an internal demodulator (created by decoder)COMMENT
LOW⚡backend/pipeline/managers/consumerbase.py124 # Check if we're requesting internal modeCOMMENT
LOWbackend/pipeline/managers/audiorecordermanager.py82 # Check if recorder already exists for this VFOCOMMENT
LOWbackend/pipeline/streaming/iqbroadcaster.py201 # Check if this is an internal session (has "internal:" prefix)COMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py523 # Check if a process for this device already existsCOMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py942 # Check if sample rate or center frequency is changing.COMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py1223 # Check if data is availableCOMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py1258 # Check if it's FFT stats or worker stats based on presence of sdr_idCOMMENT
LOWbackend/pipeline/orchestration/processlifecycle.py1415 # Check if this is an internal session (automated observation)COMMENT
LOWbackend/tasks/exampletask.py77 # Check if duration is completeCOMMENT
LOWbackend/tasks/exampletask.py92 # Check if we should failCOMMENT
LOWbackend/tasks/satdumpprocessor.py217 # Check if directory has any files (recursively)COMMENT
LOWbackend/tasks/satdumpprocessor.py329 # Check if path starts with /recordings/ or /decoded/ (relative app paths)COMMENT
LOWbackend/tasks/satdumpprocessor.py520 # Check if output directory has any decoded products (images, data files)COMMENT
LOWbackend/tasks/manager.py242 # Check if this singleton task is already runningCOMMENT
LOWbackend/tasks/manager.py245 # Check if it's the same singleton task typeCOMMENT
LOWbackend/tasks/manager.py385 # Check if we received a completion/failure messageCOMMENT
LOW⚡backend/hardware/soapysdrremoteprobe.py487 # Check if the device has a ref_locked sensorCOMMENT
LOW⚡backend/hardware/soapysdrremoteprobe.py496 # Check if the device has a clock_source sensorCOMMENT
LOW⚡backend/hardware/soapysdrremoteprobe.py539 # Check if the device has a RFIC_TEMP sensorCOMMENT
LOW⚡backend/hardware/soapysdrremoteprobe.py548 # Check if the device has a lms7_temp sensor (for LimeSDR devices)COMMENT
LOWbackend/hardware/soapysdrremoteprobe.py422 # Check if automatic gain control is supportedCOMMENT
LOW⚡backend/hardware/uhdprobe.py362 # Check if automatic gain control is supported (USRP typically doesn't have hardware AGC)COMMENT
LOWbackend/hardware/uhdprobe.py194 # Check if it's iterable (some UHD versions return different types)COMMENT
LOWbackend/hardware/soapyenum.py372 # Check if this is a USB deviceCOMMENT
LOWbackend/hardware/sigmfprobe.py90 # Check if data file existsCOMMENT
LOW⚡backend/hardware/soapysdrlocalprobe.py469 # Check if the device has a ref_locked sensorCOMMENT
LOW⚡backend/hardware/soapysdrlocalprobe.py478 # Check if the device has a clock_source sensorCOMMENT
LOW⚡backend/hardware/soapysdrlocalprobe.py520 # Check if the device has a RFIC_TEMP sensorCOMMENT
LOW⚡backend/hardware/soapysdrlocalprobe.py529 # Check if the device has a lms7_temp sensor (for LimeSDR devices)COMMENT
LOWbackend/hardware/soapysdrlocalprobe.py408 # Check if automatic gain control is supportedCOMMENT
LOWbackend/demodulators/iqrecorder.py225 # Check if parameters changed (new capture segment needed)COMMENT
LOWbackend/demodulators/ssbdemodulator.py363 # Check if modulation is SSB (USB, LSB, or CW)COMMENT
LOWbackend/demodulators/ssbdemodulator.py377 # Check if we need to reinitialize filtersCOMMENT
LOWbackend/demodulators/amdemodulator.py313 # Check if there's an active VFO AFTER getting samplesCOMMENT
LOWbackend/demodulators/amdemodulator.py319 # Check if modulation is AMCOMMENT
LOWbackend/demodulators/amdemodulator.py343 # Check if we need to reinitialize filtersCOMMENT
LOWbackend/demodulators/fmdemodulator.py676 # Check if modulation is FMCOMMENT
LOWbackend/demodulators/fmdemodulator.py684 # Check if we need to reinitialize filtersCOMMENT
LOWbackend/demodulators/morsedecoder.py358 # Check if tone is present (matches pqcd line 60)COMMENT
LOWbackend/demodulators/fmstereodemodulator.py468 # Check if there's an active VFO AFTER getting samplesCOMMENT
LOWbackend/demodulators/fmstereodemodulator.py474 # Check if modulation is FM_STEREOCOMMENT
LOWbackend/demodulators/fmstereodemodulator.py498 # Check if we need to reinitialize filtersCOMMENT
LOWbackend/demodulators/basedecoder.py220 # Increment counterCOMMENT
LOWbackend/tests/test_tlesync_utils.py531 # Set progress to 50COMMENT
LOWbackend/server/startup.py954 # Check if database exists by trying to query metadataCOMMENT
LOWbackend/server/version.py215 # Check if version is provided by environment (e.g., from the CI pipeline)COMMENT
LOWbackend/server/audiorecorder.py75 # Check if already recordingCOMMENT
LOWbackend/tracker/logic.py1108 # Check if we have satellite data and tracker dataCOMMENT
LOWbackend/tracker/logic.py1110 # Check if tracking state changed during iterationCOMMENT
60 more matches not shown…
Self-Referential Comments54 hits · 172 pts
SeverityFileLineSnippetContext
MEDIUMbackend/pipeline/managers/transcriptionmanager.py242 # Create the appropriate worker based on providerCOMMENT
MEDIUMbackend/pipeline/managers/decodermanager.py386 # Create a unique subscription key for this decoderCOMMENT
MEDIUMbackend/pipeline/managers/consumerbase.py167 # Create a unique subscription key to prevent sharing queuesCOMMENT
MEDIUMbackend/pipeline/orchestration/processlifecycle.py338 # Create a temporary queue for receiving the responseCOMMENT
MEDIUMbackend/pipeline/orchestration/processlifecycle.py645 # Create a named worker functionCOMMENT
MEDIUMbackend/tasks/tlesync.py94 # Create a new engine for this subprocess to avoid sharing connectionsCOMMENT
MEDIUMbackend/hardware/soapysdrremoteprobe.py353 # Create the device instanceCOMMENT
MEDIUMbackend/hardware/uhdprobe.py154 # Create the USRP device instanceCOMMENT
MEDIUMbackend/hardware/soapyenum.py397 # Create a device entry with essential informationCOMMENT
MEDIUMbackend/hardware/soapysdrlocalprobe.py347 # Create the device instanceCOMMENT
MEDIUMbackend/demodulators/afskdecoder.py267 # Create a NEW flowgraph for each batch to avoid connection conflictsCOMMENT
MEDIUMbackend/demodulators/afskdecoder.py270 # Create a temporary top_blockCOMMENT
MEDIUM⚡backend/demodulators/loradecoder.py928 # Create a simple namespace object from cached dict for backward compatibilityCOMMENT
MEDIUMbackend/demodulators/bpskdecoder.py332 # Create a NEW flowgraph for each batch to avoid connection conflictsCOMMENT
MEDIUMbackend/demodulators/bpskdecoder.py335 # Create a temporary top_blockCOMMENT
MEDIUMbackend/demodulators/bpskdecoder.py612 # Create a simple namespace object from cached dict for backward compatibilityCOMMENT
MEDIUMbackend/demodulators/fskdecoder.py307 # Create a NEW flowgraph for each batch to avoid connection conflictsCOMMENT
MEDIUMbackend/demodulators/fskdecoder.py310 # Create a temporary top_blockCOMMENT
MEDIUMbackend/demodulators/fskdecoder.py598 # Create a simple namespace object from cached dict for backward compatibilityCOMMENT
MEDIUM⚡backend/tests/test_session_internal_observations.py195 # Create a user sessionCOMMENT
MEDIUM⚡backend/tests/test_session_internal_observations.py200 # Create an internal sessionCOMMENT
MEDIUMbackend/tests/test_db_migrations.py138 # Create the exact schema immediately before the remediation migration.COMMENT
MEDIUM⚡backend/tests/test_tracking_events.py261 # Create a pool and run the workerCOMMENT
MEDIUMbackend/tracker/utils.py6 # Create a string buffer and pretty print the dict to itCOMMENT
MEDIUMbackend/common/arguments.py91 # Create a namespace with default values for alembic contextCOMMENT
MEDIUMbackend/audio/transcriptionworker.py4# This module provides an abstract base class for transcription workers thatCOMMENT
MEDIUMbackend/audio/audiobroadcaster.py4# This module implements a thread-safe pub/sub pattern for audio distribution.COMMENT
MEDIUMbackend/audio/audiobroadcaster.py178 # Create a copy for each subscriber to avoid shared state issuesCOMMENT
MEDIUMbackend/crud/trackingstate.py85 # Create a copy of the existing value to avoid modifying it directlyCOMMENT
MEDIUMbackend/tracking/doppler.py262 # Define the ground stationCOMMENT
MEDIUMbackend/tracking/events.py24# Create a simple in-memory cache (no multiprocessing needed since cache is only accessed from main process)COMMENT
MEDIUMbackend/tracking/events.py27# Create a persistent worker pool (reused across all calculations to avoid repeated pool creation/destruction)COMMENT
MEDIUMbackend/tracking/events.py42 # Create a string representation of the parameters, excluding hoursCOMMENT
MEDIUMbackend/tracking/events.py391 # Create a lookup dict for satellite names, transmitters and countsCOMMENT
MEDIUM⚡backend/tracking/satellite.py48 # Create a timescale and convert the observation time to a Skyfield time objectCOMMENT
MEDIUM⚡backend/tracking/satellite.py52 # Create the EarthSatellite object directly from the TLE stringsCOMMENT
MEDIUM⚡backend/tracking/satellite.py55 # Define the observer's locationCOMMENT
MEDIUMbackend/tracking/satellite.py105 # Create an EarthSatellite object from the TLE.COMMENT
MEDIUMbackend/tracking/passes.py16# This file contains code partially generated by Claude 3.7 Sonnet.COMMENT
MEDIUMbackend/tracking/passes.py804 # Create a timescale that goes backward from t0COMMENT
MEDIUMbackend/workers/soapysdrlocalworker.py174 # Create the device instanceCOMMENT
MEDIUMbackend/workers/soapysdrlocalworker.py526 # Create a buffer for the samples - read directly the number of samples we needCOMMENT
MEDIUMbackend/workers/soapysdrremoteworker.py194 # Create the device instanceCOMMENT
MEDIUMbackend/workers/soapysdrremoteworker.py568 # Create a buffer for the individual readsCOMMENT
MEDIUMbackend/workers/soapysdrremoteworker.py571 # Create an accumulation buffer for collecting enough samplesCOMMENT
MEDIUMbackend/observations/generator.py699 # Create the observationCOMMENT
MEDIUMbackend/monitoring/performancemonitor.py1200 # Create a streamer entry for each sessionCOMMENT
MEDIUMbackend/controllers/rig.py64 # Create a persistent connectionCOMMENT
MEDIUMbackend/controllers/rotator.py71 # Create a persistent connectionCOMMENT
MEDIUMbackend/controllers/rotator.py137 # Create a temporary connectionCOMMENT
MEDIUMbackend/tlesync/logic.py154 # Create an instance of our state managerCOMMENT
MEDIUMbackend/tlesync/utils.py1077 # Create a new groupCOMMENT
MEDIUMbackend/tlesync/state.py21# Create a state manager class for satellite synchronizationCOMMENT
MEDIUMbackend/tlesync/state.py108# Create a singleton instanceCOMMENT
Decorative Section Separators43 hits · 153 pts
SeverityFileLineSnippetContext
MEDIUMbackend/pyproject.toml137# ============================================================================COMMENT
MEDIUMbackend/pyproject.toml139# ============================================================================COMMENT
MEDIUMbackend/demodulators/afskdecoder.py26# ==================COMMENT
MEDIUMbackend/demodulators/bpskdecoder.py26# ================================COMMENT
MEDIUMbackend/demodulators/fskdecoder.py30# ==================COMMENT
MEDIUMbackend/common/constants.py23# ============================================================================COMMENT
MEDIUMbackend/common/constants.py25# ============================================================================COMMENT
MEDIUMbackend/common/constants.py63# ============================================================================COMMENT
MEDIUMbackend/common/constants.py65# ============================================================================COMMENT
MEDIUM⚡backend/common/constants.py81# ============================================================================COMMENT
MEDIUM⚡backend/common/constants.py83# ============================================================================COMMENT
MEDIUM⚡backend/common/constants.py91# ============================================================================COMMENT
MEDIUM⚡backend/common/constants.py93# ============================================================================COMMENT
MEDIUMbackend/common/constants.py131# ============================================================================COMMENT
MEDIUMbackend/common/constants.py133# ============================================================================COMMENT
MEDIUMbackend/common/constants.py162# ============================================================================COMMENT
MEDIUMbackend/common/constants.py164# ============================================================================COMMENT
MEDIUMbackend/common/constants.py177# ============================================================================COMMENT
MEDIUMbackend/common/constants.py179# ============================================================================COMMENT
MEDIUM⚡backend/crud/monitoredsatellites.py414# ============================================================================COMMENT
MEDIUM⚡backend/crud/monitoredsatellites.py416# ============================================================================COMMENT
MEDIUM⚡backend/observations/sync.py382 # ============================================================================COMMENT
MEDIUM⚡backend/observations/sync.py384 # ============================================================================COMMENT
MEDIUM⚡backend/observations/executor.py845 # ============================================================================COMMENT
MEDIUM⚡backend/observations/executor.py847 # ============================================================================COMMENT
MEDIUMbackend/vfos/state.py260 # ============================================================COMMENT
MEDIUMbackend/vfos/state.py263 # ============================================================COMMENT
MEDIUM⚡backend/handlers/entities/hardware.py437# ============================================================================COMMENT
MEDIUM⚡backend/handlers/entities/hardware.py439# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py511# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py513# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py852# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py854# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py914# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/hardware.py916# ============================================================================COMMENT
MEDIUM⚡backend/handlers/entities/scheduler.py29# ============================================================================COMMENT
MEDIUM⚡backend/handlers/entities/scheduler.py31# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/scheduler.py338# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/scheduler.py340# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/scheduler.py527# ============================================================================COMMENT
MEDIUMbackend/handlers/entities/scheduler.py529# ============================================================================COMMENT
MEDIUM⚡backend/session/tracker.py611 # ============================================================COMMENT
MEDIUM⚡backend/session/tracker.py614 # ============================================================COMMENT
Unused Imports138 hits · 134 pts
SeverityFileLineSnippetContext
LOWtools/astronomy/stars.py4CODE
LOWbackend/orbits/service.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/orbits/__init__.py18CODE
LOWbackend/pipeline/streaming/iqbroadcaster.py16CODE
LOWbackend/tasks/__init__.py8CODE
LOWbackend/tasks/__init__.py8CODE
LOWbackend/tasks/__init__.py8CODE
LOWbackend/hardware/airspyprobe.py16CODE
LOWbackend/hardware/airspynative.py9CODE
LOWbackend/demodulators/gfskdecoder.py29CODE
LOWbackend/demodulators/deframerfactory.py10CODE
LOWbackend/demodulators/loradecoder.py38CODE
LOWbackend/demodulators/loradecoder.py38CODE
LOWbackend/demodulators/gmskdecoder.py29CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py7CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/constants/__init__.py16CODE
LOWbackend/tests/conftest.py20CODE
LOWbackend/tests/testsocketauth.py3CODE
LOWbackend/tests/testsetup.py3CODE
LOWbackend/tests/testoperations.py16CODE
LOWbackend/tests/test_dispatcher.py3CODE
LOWbackend/tests/test_crud_satellites.py20CODE
LOWbackend/server/runtimestate.py6CODE
LOWbackend/library/inventory.py8CODE
LOWbackend/tracker/contracts.py23CODE
LOWbackend/common/auth.py18CODE
LOWbackend/common/pathguard.py1CODE
LOWbackend/common/filenames.py1CODE
LOWbackend/common/targetkey.py10CODE
LOWbackend/common/appsettings.py18CODE
LOWbackend/audio/audiobroadcaster.py27CODE
LOWbackend/scripts/render_planet_icon.py4CODE
LOWbackend/scripts/process_satellite_icons.py4CODE
LOWbackend/crud/monitoredcelestial.py10CODE
LOWbackend/crud/__init__.py1CODE
LOWbackend/crud/__init__.py2CODE
LOWbackend/crud/__init__.py3CODE
78 more matches not shown…
Structural Annotation Overuse46 hits · 88 pts
SeverityFileLineSnippetContext
LOWfrontend/src/components/waterfall/waterfall-snapshot.js349 // Step 1: Extract the main area (without left margin) to scale itCOMMENT
LOWfrontend/src/components/waterfall/waterfall-snapshot.js363 // Step 2: Create final canvas with left margin at original size + scaled main areaCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js406 // Step 1: Capture waterfall canvas from workerCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js412 // Step 2: Find overlay canvasesCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js415 // Step 3: Create composite canvas at original sizeCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js418 // Step 4: Scale to target width (keeping left margin at original size)COMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js421 // Step 5: Convert to data URLCOMMENT
LOWfrontend/src/themes/README.md18### Step 1: Define Theme ConfigurationCOMMENT
LOWfrontend/src/themes/README.md61### Step 2: Add Translation KeysCOMMENT
LOWfrontend/src/themes/README.md76### Step 3: Test Your ThemeCOMMENT
LOWbackend/demodulators/ssbdemodulator.py412 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/ssbdemodulator.py461 # Step 2: Decimate and filter to bandwidth (sideband selection done by filter)COMMENT
LOW⚡backend/demodulators/ssbdemodulator.py491 # Step 3: SSB demodulationCOMMENT
LOW⚡backend/demodulators/ssbdemodulator.py496 # Step 4: Audio filteringCOMMENT
LOW⚡backend/demodulators/ssbdemodulator.py505 # Step 5: Resample to audio rate (44.1 kHz)COMMENT
LOWbackend/demodulators/amdemodulator.py381 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/amdemodulator.py423 # Step 2: Decimate and filter to bandwidthCOMMENT
LOW⚡backend/demodulators/amdemodulator.py453 # Step 3: AM demodulation (envelope detection)COMMENT
LOW⚡backend/demodulators/amdemodulator.py458 # Step 4: DC blockingCOMMENT
LOW⚡backend/demodulators/amdemodulator.py469 # Step 5: Audio filteringCOMMENT
LOW⚡backend/demodulators/amdemodulator.py478 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/fmdemodulator.py821 # Step 3: FM demodulationCOMMENT
LOW⚡backend/demodulators/fmdemodulator.py826 # Step 4: Audio filteringCOMMENT
LOWbackend/demodulators/fmdemodulator.py727 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/fmdemodulator.py781 # Step 2: Multi-stage cascaded decimationCOMMENT
LOWbackend/demodulators/fmdemodulator.py837 # Step 5: De-emphasisCOMMENT
LOWbackend/demodulators/fmdemodulator.py848 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py610 # Step 3: FM demodulation (produces MPX signal)COMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py613 # Step 4: Stereo decodingCOMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py616 # Step 5: De-emphasis (apply to both channels)COMMENT
LOWbackend/demodulators/fmstereodemodulator.py555 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/fmstereodemodulator.py571 # Step 2: Multi-stage cascaded decimationCOMMENT
LOWbackend/demodulators/fmstereodemodulator.py631 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/sstvdecoder.py1183 # Step 1: Frequency translationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1187 # Step 2: Multi-stage decimationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1203 # Step 3: FM demodulationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1206 # Step 4: Audio filteringCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1215 # Step 5: De-emphasisCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1223 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOWbackend/demodulators/sstvdecoder.py1234 # Step 7: SSTV processingCOMMENT
LOW⚡backend/demodulators/loradecoder.py625 # Step 1: Frequency translation to VFO centerCOMMENT
LOWbackend/demodulators/loradecoder.py672 # Step 2: Decimate using the fixed decimation factor calculated at initCOMMENT
LOW⚡backend/demodulators/bpskdecoder.py1062 # Step 1: Frequency translation to put SIGNAL at baseband centerCOMMENT
LOW⚡backend/demodulators/bpskdecoder.py1072 # Step 2: Decimate to target sample rateCOMMENT
LOWbackend/demodulators/fskdecoder.py1107 # Step 1: Frequency translation to put SIGNAL at baseband centerCOMMENT
LOWbackend/demodulators/fskdecoder.py1121 # Step 2: Decimate to target sample rateCOMMENT
Verbosity Indicators43 hits · 84 pts
SeverityFileLineSnippetContext
LOWfrontend/src/components/waterfall/waterfall-snapshot.js349 // Step 1: Extract the main area (without left margin) to scale itCOMMENT
LOWfrontend/src/components/waterfall/waterfall-snapshot.js363 // Step 2: Create final canvas with left margin at original size + scaled main areaCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js406 // Step 1: Capture waterfall canvas from workerCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js412 // Step 2: Find overlay canvasesCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js415 // Step 3: Create composite canvas at original sizeCOMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js418 // Step 4: Scale to target width (keeping left margin at original size)COMMENT
LOW⚡frontend/src/components/waterfall/waterfall-snapshot.js421 // Step 5: Convert to data URLCOMMENT
LOWbackend/demodulators/ssbdemodulator.py412 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/ssbdemodulator.py461 # Step 2: Decimate and filter to bandwidth (sideband selection done by filter)COMMENT
LOW⚡backend/demodulators/ssbdemodulator.py491 # Step 3: SSB demodulationCOMMENT
LOW⚡backend/demodulators/ssbdemodulator.py496 # Step 4: Audio filteringCOMMENT
LOW⚡backend/demodulators/ssbdemodulator.py505 # Step 5: Resample to audio rate (44.1 kHz)COMMENT
LOWbackend/demodulators/amdemodulator.py381 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/amdemodulator.py423 # Step 2: Decimate and filter to bandwidthCOMMENT
LOW⚡backend/demodulators/amdemodulator.py453 # Step 3: AM demodulation (envelope detection)COMMENT
LOW⚡backend/demodulators/amdemodulator.py458 # Step 4: DC blockingCOMMENT
LOW⚡backend/demodulators/amdemodulator.py469 # Step 5: Audio filteringCOMMENT
LOW⚡backend/demodulators/amdemodulator.py478 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/fmdemodulator.py821 # Step 3: FM demodulationCOMMENT
LOW⚡backend/demodulators/fmdemodulator.py826 # Step 4: Audio filteringCOMMENT
LOWbackend/demodulators/fmdemodulator.py727 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/fmdemodulator.py781 # Step 2: Multi-stage cascaded decimationCOMMENT
LOWbackend/demodulators/fmdemodulator.py837 # Step 5: De-emphasisCOMMENT
LOWbackend/demodulators/fmdemodulator.py848 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py610 # Step 3: FM demodulation (produces MPX signal)COMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py613 # Step 4: Stereo decodingCOMMENT
LOW⚡backend/demodulators/fmstereodemodulator.py616 # Step 5: De-emphasis (apply to both channels)COMMENT
LOWbackend/demodulators/fmstereodemodulator.py555 # Step 1: Frequency translation (tune to VFO frequency)COMMENT
LOWbackend/demodulators/fmstereodemodulator.py571 # Step 2: Multi-stage cascaded decimationCOMMENT
LOWbackend/demodulators/fmstereodemodulator.py631 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOW⚡backend/demodulators/sstvdecoder.py1183 # Step 1: Frequency translationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1187 # Step 2: Multi-stage decimationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1203 # Step 3: FM demodulationCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1206 # Step 4: Audio filteringCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1215 # Step 5: De-emphasisCOMMENT
LOW⚡backend/demodulators/sstvdecoder.py1223 # Step 6: Resample to audio rate (44.1 kHz)COMMENT
LOWbackend/demodulators/sstvdecoder.py1234 # Step 7: SSTV processingCOMMENT
LOW⚡backend/demodulators/loradecoder.py625 # Step 1: Frequency translation to VFO centerCOMMENT
LOWbackend/demodulators/loradecoder.py672 # Step 2: Decimate using the fixed decimation factor calculated at initCOMMENT
LOW⚡backend/demodulators/bpskdecoder.py1062 # Step 1: Frequency translation to put SIGNAL at baseband centerCOMMENT
LOW⚡backend/demodulators/bpskdecoder.py1072 # Step 2: Decimate to target sample rateCOMMENT
LOWbackend/demodulators/fskdecoder.py1107 # Step 1: Frequency translation to put SIGNAL at baseband centerCOMMENT
LOWbackend/demodulators/fskdecoder.py1121 # Step 2: Decimate to target sample rateCOMMENT
Modern Structural Boilerplate54 hits · 62 pts
SeverityFileLineSnippetContext
LOWbackend/orbits/__init__.py34__all__ = [CODE
LOWbackend/tasks/__init__.py10__all__ = ["BackgroundTaskManager", "TaskInfo", "TaskStatus"]CODE
LOWbackend/tools/shift_sigmf_iq.py11def _update_meta(meta_in_path: str, meta_out_path: str, shift_hz: float) -> None:CODE
LOW⚡backend/hardware/airspynative.py290 def set_sample_type_float32_iq(self) -> None:CODE
LOW⚡backend/hardware/airspynative.py297 def set_samplerate(self, samplerate_hz: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py304 def set_frequency(self, frequency_hz: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py311 def set_sensitivity_gain(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py318 def set_linearity_gain(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py325 def set_lna_gain(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py332 def set_mixer_gain(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py339 def set_vga_gain(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py346 def set_lna_agc(self, enabled: bool) -> None:CODE
LOW⚡backend/hardware/airspynative.py353 def set_mixer_agc(self, enabled: bool) -> None:CODE
LOW⚡backend/hardware/airspynative.py360 def set_bias_t(self, enabled: bool) -> None:CODE
LOW⚡backend/hardware/airspynative.py421 def set_samplerate(self, samplerate_hz: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py428 def set_frequency(self, frequency_hz: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py435 def set_hf_agc(self, enabled: bool) -> None:CODE
LOW⚡backend/hardware/airspynative.py442 def set_hf_att(self, value: int) -> None:CODE
LOW⚡backend/hardware/airspynative.py449 def set_hf_lna(self, enabled: bool) -> None:CODE
LOW⚡backend/hardware/soapysdrbrowser.py79def update_discovered_servers(servers_data: Dict[str, Dict[str, Any]]) -> None:CODE
LOWbackend/demodulators/afskdecoder.py793__all__ = [CODE
LOWbackend/demodulators/gfskdecoder.py79__all__ = [CODE
LOWbackend/demodulators/aprsdecoder.py679__all__ = ["DecoderStatus", "APRSMessageHandler", "APRSFlowgraph", "APRSDecoder"]CODE
LOWbackend/demodulators/geoscanimage.py559__all__ = [CODE
LOWbackend/demodulators/basedecoderprocess.py296__all__ = ["BaseDecoderProcess"]CODE
LOWbackend/demodulators/gmskdecoder.py79__all__ = [CODE
LOWbackend/demodulators/basedecoder.py785__all__ = ["BaseDecoder"]CODE
LOWbackend/constants/__init__.py25__all__ = [CODE
LOWbackend/tests/test_tracker_runner_slots.py66def _set_target_limit(monkeypatch, limit: int) -> None:CODE
LOWbackend/server/schedulerstate.py15def set_scheduler_reference(instance: Optional[AsyncIOScheduler]) -> None:CODE
LOWbackend/tracker/messages.py30logger = logging.getLogger(__name__)CODE
LOWbackend/common/auth.py55logger = logging.getLogger(__name__)CODE
LOWbackend/common/auth.py313def _set_setup_cache(value: bool) -> None:CODE
LOWbackend/db/__init__.py40 def _set_sqlite_pragmas(dbapi_connection, connection_record) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py294 def set_gain_mode(self, manual: bool = True) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py304 def set_manual_gain_enabled(self, enabled: bool = True) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py330 def set_agc_mode(self, enable: bool = True) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py344 def set_tuner_agc(self, enable: bool = True) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py373 def set_direct_sampling(self, mode: int) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py393 def set_offset_tuning(self, enable: bool = True) -> None:CODE
LOWbackend/workers/rtlsdrtcpclient.py407 def set_bias_tee(self, enable: bool = True) -> None:CODE
LOWbackend/telemetry/__init__.py12__all__ = ["TelemetryParser", "AX25Parser", "APRSParser"]CODE
LOWbackend/telemetry/aprsparser.py321__all__ = ["APRSParser"]CODE
LOW⚡backend/telemetry/parsers/colibri_s.py234__all__ = ["ColibriSGeoscanAx25Parser"]CODE
LOWbackend/telemetry/parsers/__init__.py16__all__ = [CODE
LOWbackend/telemetry/parsers/rs52s.py131__all__ = ["RS52SGeoscanAx25Parser"]CODE
LOWbackend/controllers/__init__.py14__all__ = ["RigController", "RotatorController", "SDRController"]CODE
LOWbackend/handlers/__init__.py36__all__ = ["run_async_in_thread", "handler_registry", "HandlerRegistry", "dispatch_request"]CODE
LOWbackend/handlers/routing/__init__.py19__all__ = ["HandlerRegistry", "handler_registry", "dispatch_request", "get_auth_context"]CODE
LOW⚡backend/handlers/entities/setup.py151def _set_step(step_key: str, status: str, detail: str = "") -> None:CODE
LOWbackend/session/tracker.py181 def set_session_ip(self, session_id: str, ip_address: Optional[str]) -> None:CODE
LOWbackend/session/tracker.py213 def set_session_vfo(self, session_id: str, vfo_id: str) -> None:CODE
LOWbackend/session/tracker.py233 def set_session_vfo_int(self, session_id: str, vfo_number: Optional[int]) -> None:CODE
LOWbackend/session/tracker.py246 def set_session_rig(self, session_id: str, rig_id: str) -> None:CODE
Docstring Block Structure12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHbackend/pipeline/config/decoderconfigservice.py64 Resolve decoder configuration from multiple sources. Args: decoder_type: Decoder type ('gmSTRING
HIGHbackend/tasks/registry.py34 Get a task function by name. Args: task_name: Name of the registered task Returns: Task fSTRING
HIGHbackend/tasks/manager.py207 Start a new background task. Args: func: Python function to execute args: PosiSTRING
HIGHbackend/server/snapshots.py32 Save a waterfall snapshot image to disk. Args: waterfall_image: Base64-encoded image data URL (format:STRING
HIGHbackend/server/recorder.py46 Start IQ recording for a given SDR and client. Args: sdr_id: SDR device identifier client_id: STRING
HIGHbackend/server/recorder.py149 Stop IQ recording for a given SDR and client. Args: sdr_id: SDR device identifier client_id: CSTRING
HIGHbackend/server/audiorecorder.py43 Start audio recording for a VFO. Args: sdr_id: SDR device identifier client_id: Client sessionSTRING
HIGHbackend/server/audiorecorder.py129 Stop audio recording for a VFO. Args: sdr_id: SDR device identifier client_id: Client session STRING
HIGHbackend/workers/rtlsdrtcpclient.py432 Reads the specified number of complex samples from the SDR. Args: num_samples: The number STRING
HIGHbackend/satconfig/config.py185 Get decoder parameters for a satellite, with priority system: 1. User overrides (if exist) 2. gSTRING
HIGHbackend/tlesync/utils.py217 Extracts the NORAD ID from a TLE (Two-Line Element) string. Parameters: tle (str): A TLE string that mSTRING
HIGHbackend/handlers/entities/decoderconfig.py26 Get decoder configuration for a satellite/transmitter combination. This handler exposes the DecoderConfigServiSTRING
Dead Code34 hits · 53 pts
SeverityFileLineSnippetContext
MEDIUMbackend/demodulators/morsedecoder.py228CODE
MEDIUMbackend/demodulators/morsedecoder.py229CODE
MEDIUMbackend/demodulators/morsedecoder.py232CODE
MEDIUMbackend/demodulators/morsedecoder.py236CODE
MEDIUMbackend/demodulators/morsedecoder.py237CODE
MEDIUMbackend/demodulators/morsedecoder.py240CODE
MEDIUMbackend/demodulators/morsedecoder.py241CODE
MEDIUMbackend/demodulators/morsedecoder.py242CODE
MEDIUMbackend/demodulators/morsedecoder.py245CODE
MEDIUMbackend/demodulators/morsedecoder.py246CODE
MEDIUMbackend/demodulators/morsedecoder.py247CODE
MEDIUMbackend/demodulators/morsedecoder.py249CODE
MEDIUMbackend/demodulators/morsedecoder.py253CODE
MEDIUMbackend/demodulators/morsedecoder.py254CODE
MEDIUMbackend/demodulators/morsedecoder.py255CODE
MEDIUMbackend/demodulators/morsedecoder.py259CODE
MEDIUMbackend/demodulators/morsedecoder.py276CODE
MEDIUMbackend/demodulators/morsedecoder.py282CODE
MEDIUMbackend/demodulators/morsedecoder.py286CODE
MEDIUMbackend/demodulators/morsedecoder.py289CODE
MEDIUMbackend/demodulators/morsedecoder.py293CODE
MEDIUMbackend/demodulators/morsedecoder.py296CODE
MEDIUMbackend/demodulators/morsedecoder.py297CODE
MEDIUMbackend/demodulators/morsedecoder.py299CODE
MEDIUMbackend/demodulators/morsedecoder.py309CODE
MEDIUMbackend/demodulators/morsedecoder.py312CODE
MEDIUMbackend/demodulators/morsedecoder.py314CODE
MEDIUMbackend/demodulators/morsedecoder.py342CODE
MEDIUMbackend/demodulators/morsedecoder.py343CODE
MEDIUMbackend/demodulators/morsedecoder.py347CODE
MEDIUMbackend/demodulators/morsedecoder.py350CODE
MEDIUMbackend/demodulators/morsedecoder.py351CODE
MEDIUMbackend/demodulators/morsedecoder.py359CODE
MEDIUMbackend/tests/test_tracker_rotator_azimuth_mode.py774CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH…/src/components/waterfall/vfo-marker/vfo-container.jsx317 // Trim to last 300 chars as requested, then take last 30 for displayCOMMENT
HIGH…nd/src/components/earthview/earthview-map-maplibre.jsx482 // Keep map zoom levels (including negative zoom) as requested by user controls.COMMENT
HIGHbackend/tracking/passes.py16# This file contains code partially generated by Claude 3.7 Sonnet.COMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICAL…ponents/celestial/__tests__/catalog-page-race.test.jsx367 const createRequests = socketState.socket.emit.mock.calls.filter(CODE
CRITICAL…ponents/celestial/__tests__/catalog-page-race.test.jsx387 const refreshRequests = socketState.socket.emit.mock.calls.filter(CODE
Cross-Language Confusion3 hits · 10 pts
SeverityFileLineSnippetContext
HIGHbackend/tools/import_satdump_website_transmitters.py143 help="Service label for inserted rows (default: null)",CODE
HIGHbackend/handlers/entities/tracking.py965 "command": null,STRING
HIGHbackend/handlers/entities/tracking.py966 "body_id": null,STRING
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMbackend/demodulators/loradecoder.py694 # Build comprehensive LoRa parameter stringCOMMENT
MEDIUM⚡backend/demodulators/loradecoder.py938 """Return comprehensive LoRa decoder configuration metadata."""STRING
MEDIUMbackend/session/tracker.py459 # Be robust to untyped/None ids coming from process_managerCOMMENT
AI Structural Patterns9 hits · 6 pts
SeverityFileLineSnippetContext
LOWbackend/demodulators/afskdecoder.py167CODE
LOWbackend/demodulators/loradecoder.py81CODE
LOWbackend/demodulators/aprsdecoder.py109CODE
LOWbackend/demodulators/bpskdecoder.py202CODE
LOWbackend/demodulators/fskdecoder.py176CODE
LOWbackend/fft/waterfallgenerator.py69CODE
LOWbackend/vfos/state.py75CODE
LOWbackend/vfos/state.py364CODE
LOWbackend/session/tracker.py118CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbackend/server/scheduler.py476 # Primary restart mechanism is event-driven via data_queue (immediate response)COMMENT