Repository Analysis

francescopace/espectre

🛜 ESPectre 👻 - Motion detection system based on Wi-Fi spectre analysis (CSI), with Home Assistant integration.

23.1 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of francescopace/espectre, a Python project with 8,796 GitHub stars. SynthScan v2.0 examined 57,583 lines of code across 179 source files, recording 752 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 23.1 places this repository in the Moderate AI signal band.

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

23.1
Adjusted Score
23.1
Raw Score
100%
Time Factor
2026-07-14
Last Push
8.8K
Stars
Python
Language
57.6K
Lines of Code
179
Files
752
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

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

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

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

CRITICAL 0HIGH 3MEDIUM 269LOW 480

Directory Score Breakdown

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

Pattern Findings

The scanner identified 752 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators239 hits · 795 pts
SeverityFileLineSnippetContext
MEDIUMmicro-espectre/tools/csi_utils.py1106# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1108# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1361# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1363# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py31# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py33# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py55# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py57# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py94# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py96# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py124# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py126# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py458# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py460# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1005# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1007# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1329# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/csi_utils.py1331# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py46# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py48# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py95# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py98# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py100# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py938# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py940# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1071 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1073 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1079 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1081 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py443# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py445# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py527# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py529# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py661# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py663# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1018# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1020# ============================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1128 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1130 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1167 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/5_analyze_filter_turbulence.py1169 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py231 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py233 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py267 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py269 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py297 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py299 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py333 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py335 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py361 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py363 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py373 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/9_compare_chips.py375 # =========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py111 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py113 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py128 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py130 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py145 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py147 # ========================================================================COMMENT
MEDIUMmicro-espectre/tools/8_plot_constellation.py164 # ========================================================================COMMENT
179 more matches not shown…
Hyper-Verbose Identifiers280 hits · 267 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/ALGORITHMS.md324def calculate_adaptive_threshold(mv_values, percentile, factor):CODE
LOWmicro-espectre/espectre-monitor.html1156 function applyDetectionConfiguration() {CODE
LOWmicro-espectre/tools/1_analyze_raw_data.py159def analyze_all_pairs_from_dataset_info() -> list:CODE
LOWmicro-espectre/tools/csi_utils.py1365def calculate_spatial_turbulence(csi_data, selected_subcarriers, gain_locked: bool = True) -> float:CODE
LOWmicro-espectre/tools/csi_utils.py1284def load_baseline_and_movement(CODE
LOWmicro-espectre/tools/csi_utils.py1388def calculate_variance_two_pass(values) -> float:CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py111def _extract_motion_start_from_description(description):CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py183def resolve_context_aware_config_for_test(test_entry):CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py199def resolve_context_aware_config(baseline_path):CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py251def calculate_adaptive_threshold(values, percentile=None, factor=None):CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py339def compare_detection_methods(baseline_packets, movement_packets, subcarriers, window_size, threshold):CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py51def extract_csi_and_gain_locked(packet):CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py942def optimize_filter_parameters(baseline_packets, movement_packets):CODE
LOWmicro-espectre/tools/9_compare_chips.py66def analyze_amplitudes_per_subcarrier(packets, name, num_subcarriers=64):CODE
LOWmicro-espectre/tools/9_compare_chips.py105def calculate_spatial_turbulence(csi_data, selected_subcarriers, gain_locked=True):CODE
LOWmicro-espectre/tools/9_compare_chips.py114def analyze_turbulence_and_mvs(packets, name, selected_subcarriers, window_size):CODE
LOWmicro-espectre/tools/8_plot_constellation.py59def plot_constellation_comparison(baseline_packets, movement_packets,CODE
LOWmicro-espectre/tools/8_plot_constellation.py213def plot_single_subcarrier_grid(baseline_packets, movement_packets,CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py72def _extract_amplitudes_matrix(csi_matrix):CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py94def _spatial_turbulence_from_amps(amplitudes, band, use_cv_normalization=False):CODE
LOW…pectre/tools/3_analyze_moving_variance_segmentation.py150def _extract_motion_start_from_description(description):CODE
LOW…pectre/tools/3_analyze_moving_variance_segmentation.py231def calculate_adaptive_threshold(mvs_values, percentile=None, factor=None):CODE
LOWmicro-espectre/tools/10_train_ml_model.py1983def calculate_shap_importance(model, X, feature_names, n_samples=500):CODE
LOWmicro-espectre/tools/10_train_ml_model.py274def normalize_architecture_specs(architectures):CODE
LOWmicro-espectre/tools/10_train_ml_model.py326def parse_positive_chip_boost(value):CODE
LOWmicro-espectre/tools/10_train_ml_model.py377def apply_positive_chip_boost(sample_weights, sample_context, y, chip_boosts):CODE
LOWmicro-espectre/tools/10_train_ml_model.py406def _build_dataset_file_index(dataset_info):CODE
LOWmicro-espectre/tools/10_train_ml_model.py439def _resolve_counterpart_name(label, entry, dataset_info, max_delta_seconds=30 * 60):CODE
LOWmicro-espectre/tools/10_train_ml_model.py579def build_gridsearch_tuning_map(dataset_info, default_subcarriers, default_threshold=1.0):CODE
LOWmicro-espectre/tools/10_train_ml_model.py890def compute_mvs_guided_sample_weights(packets, tuning_map, window_size=SEG_WINDOW_SIZE):CODE
LOWmicro-espectre/tools/10_train_ml_model.py1326def predict_tempered_probabilities(model, X, temperature=DEFAULT_ML_TEMPERATURE):CODE
LOWmicro-espectre/tools/10_train_ml_model.py2317def select_regression_subset_indices(sample_context, max_samples=2048, block_stride=SEG_WINDOW_SIZE):CODE
LOWmicro-espectre/tools/10_train_ml_model.py2920def _parse_long_recording_metrics(output):CODE
LOWmicro-espectre/tools/10_train_ml_model.py2959def _run_ml_performance_tests():CODE
LOWmicro-espectre/tools/10_train_ml_model.py3048def _candidate_beats_baseline(candidate_cv, candidate_real, baseline_cv, baseline_real):CODE
LOWmicro-espectre/tools/10_train_ml_model.py3316def architecture_campaign_rank_key(result):CODE
LOWmicro-espectre/tools/10_train_ml_model.py3332def aggregate_architecture_runs(name, runs):CODE
LOWmicro-espectre/tools/10_train_ml_model.py3357def aggregate_architecture_rank_key(summary):CODE
LOWmicro-espectre/tools/10_train_ml_model.py3382def architecture_candidate_beats_baseline(candidate, baseline):CODE
LOWmicro-espectre/tools/10_train_ml_model.py3407def evaluate_architecture_candidate(name, hidden_layers, seed, dataset, scaler_mode, batch_size, fp_weight):CODE
LOWmicro-espectre/tools/10_train_ml_model.py1862def calculate_correlation_importance(feature_names=None):STRING
LOWmicro-espectre/tools/4_analyze_filter_location.py85def calculate_turbulence_filtered_iq(csi_packet, hampel_I, hampel_Q, subcarriers, gain_locked=True):CODE
LOWmicro-espectre/tools/4_analyze_filter_location.py102def calculate_turbulence_filtered_amplitudes(csi_packet, hampel_amps, subcarriers, gain_locked=True):CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py162def test_different_cluster_sizes(baseline_packets, movement_packets, num_sc, quick=False):CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py266def test_sparse_configurations(baseline_packets, movement_packets, num_sc, quick=False):CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py393def calculate_per_subcarrier_amplitudes(csi_packet, num_sc):CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py404def calculate_subcarrier_metrics(packets, num_sc):CODE
LOWmicro-espectre/tests/test_optimization_equivalence.py109 def _calculate_variance_two_pass(self):CODE
LOWmicro-espectre/tests/test_optimization_equivalence.py201 def test_variance_within_tolerance(self, turbulence_values):CODE
LOWmicro-espectre/tests/test_optimization_equivalence.py230 def test_hampel_within_tolerance(self, turbulence_values):CODE
LOWmicro-espectre/tests/test_optimization_equivalence.py255 def test_outlier_detection_count_matches(self, turbulence_values):CODE
LOWmicro-espectre/tests/test_optimization_equivalence.py278 def test_pipeline_variance_matches(self, turbulence_values):CODE
LOWmicro-espectre/tests/test_ml_detector.py155 def test_is_motion_returns_bool(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py161 def test_is_motion_default_threshold(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py168 def test_is_motion_custom_threshold(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py183 def test_initialization_defaults(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py191 def test_hampel_enabled_by_default(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py196 def test_hampel_disabled_explicitly(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py201 def test_initialization_custom_params(self):CODE
LOWmicro-espectre/tests/test_ml_detector.py297 def test_process_packet_increments_count(self, detector, sample_csi_data):CODE
220 more matches not shown…
Excessive Try-Catch Wrapping73 hits · 87 pts
SeverityFileLineSnippetContext
MEDIUMmicro-espectre/tools/1_analyze_raw_data.py84 print("Error: No packets found")CODE
MEDIUMmicro-espectre/tools/csi_utils.py1101 print(f'Error loading {sample_file}: {e}')CODE
LOWmicro-espectre/tools/csi_utils.py1100 except Exception as e:CODE
LOWmicro-espectre/tools/csi_utils.py422 except Exception as e:CODE
LOWmicro-espectre/tools/csi_utils.py430 except Exception as e:CODE
LOWmicro-espectre/tools/csi_utils.py1058 except Exception:CODE
LOWmicro-espectre/tools/csi_utils.py1268 except Exception:CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py106 except Exception:CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py507 except Exception:CODE
MEDIUMmicro-espectre/tools/7_compare_detection_methods.py872 print(f"Error: {e}")CODE
MEDIUMmicro-espectre/tools/7_compare_detection_methods.py875 print(f"Error: {e}")CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py768 except Exception:CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py876 except Exception:CODE
LOWmicro-espectre/tools/9_compare_chips.py396 except Exception:CODE
LOWmicro-espectre/tools/8_plot_constellation.py108 except Exception:CODE
LOWmicro-espectre/tools/8_plot_constellation.py255 except Exception:CODE
MEDIUMmicro-espectre/tools/8_plot_constellation.py367 print(f"Error: {e}")STRING
LOWmicro-espectre/tools/6_optimize_filter_params.py230 except Exception:CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py150 except Exception as e:CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py290 except Exception:CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py493 except Exception as e:CODE
LOW…pectre/tools/3_analyze_moving_variance_segmentation.py354 except Exception:CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py2003 print("Error: SHAP not installed. Run: pip install shap")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py2491 print(f"Error: Missing dependency - {e}")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py2505 print("Error: No datasets found in data/")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py3102 print("Error: --seed-search-until-improvement must be >= 1")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py3151 print("Error: unable to evaluate current model baseline")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py3546 print(f"Error: Missing dependency - {exc}")CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py3555 print("Error: No datasets found in data/")CODE
LOWmicro-espectre/tools/10_train_ml_model.py574 except Exception:CODE
LOWmicro-espectre/tools/10_train_ml_model.py764 except Exception as e:CODE
LOWmicro-espectre/tools/10_train_ml_model.py1565 except Exception:CODE
MEDIUMmicro-espectre/tools/10_train_ml_model.py3904 print("Error: --seed and --seed-search-until-improvement are mutually exclusive")STRING
MEDIUMmicro-espectre/tools/10_train_ml_model.py3907 print("Error: --seed-search-until-improvement cannot be combined with --shap or --ablation")STRING
LOWmicro-espectre/tools/4_analyze_filter_location.py272 except Exception:CODE
MEDIUMmicro-espectre/tools/2_analyze_system_tuning.py610 print(f"Error: {e}")CODE
LOWmicro-espectre/tests/conftest.py147 except Exception:CODE
LOWmicro-espectre/tests/test_nbvi_calibrator.py41 except Exception:CODE
LOWmicro-espectre/tests/test_nbvi_calibrator.py47 except Exception:CODE
LOWmicro-espectre/src/traffic_generator.py73 except Exception as e:CODE
MEDIUMmicro-espectre/src/traffic_generator.py74 print(f"Error getting gateway IP: {e}")CODE
LOWmicro-espectre/src/traffic_generator.py121 except Exception as e:CODE
LOWmicro-espectre/src/traffic_generator.py216 except Exception as e:CODE
LOWmicro-espectre/src/traffic_generator.py237 except Exception as e:CODE
LOWmicro-espectre/src/traffic_generator.py301 except Exception as e:CODE
LOWmicro-espectre/src/traffic_generator.py361 except Exception as e:CODE
LOWmicro-espectre/src/main.py59 except Exception:CODE
LOWmicro-espectre/src/main.py115 except Exception:CODE
LOWmicro-espectre/src/main.py465 except Exception as e:CODE
MEDIUMmicro-espectre/src/main.py466 print(f"Error during calibration: {e}")CODE
LOWmicro-espectre/src/csi_streamer.py192 except Exception:CODE
LOWmicro-espectre/src/segmentation.py103 except Exception as e:CODE
LOWmicro-espectre/src/segmentation.py120 except Exception as e:CODE
LOWmicro-espectre/src/segmentation.py343 except Exception as e:CODE
LOWmicro-espectre/src/segmentation.py350 except Exception as e:CODE
LOWmicro-espectre/src/mqtt/handler.py93 except Exception as e:CODE
MEDIUMmicro-espectre/src/mqtt/handler.py94 print(f"Error processing MQTT message: {e}")CODE
LOWmicro-espectre/src/mqtt/handler.py100 except Exception as e:CODE
MEDIUMmicro-espectre/src/mqtt/handler.py101 print(f"Error checking MQTT messages: {e}")CODE
LOWmicro-espectre/src/mqtt/handler.py130 except Exception as e:CODE
13 more matches not shown…
Deep Nesting44 hits · 36 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tools/csi_utils.py1034CODE
LOWmicro-espectre/tools/csi_utils.py1070CODE
LOWmicro-espectre/tools/csi_utils.py1172CODE
LOWmicro-espectre/tools/csi_utils.py366CODE
LOWmicro-espectre/tools/csi_utils.py617CODE
LOWmicro-espectre/tools/csi_utils.py729CODE
LOWmicro-espectre/tools/csi_utils.py840CODE
LOWmicro-espectre/tools/csi_utils.py918CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py480CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py621CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py701CODE
LOWmicro-espectre/tools/7_compare_detection_methods.py811CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py665CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py845CODE
LOWmicro-espectre/tools/9_compare_chips.py176CODE
LOWmicro-espectre/tools/8_plot_constellation.py59CODE
LOWmicro-espectre/tools/8_plot_constellation.py213CODE
LOWmicro-espectre/tools/6_optimize_filter_params.py120CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py211CODE
LOWmicro-espectre/tools/11_validate_dataset_quality.py342CODE
LOW…pectre/tools/3_analyze_moving_variance_segmentation.py336CODE
LOW…pectre/tools/3_analyze_moving_variance_segmentation.py482CODE
LOWmicro-espectre/tools/10_train_ml_model.py657CODE
LOWmicro-espectre/tools/10_train_ml_model.py890CODE
LOWmicro-espectre/tools/10_train_ml_model.py1505CODE
LOWmicro-espectre/tools/10_train_ml_model.py2112CODE
LOWmicro-espectre/tools/10_train_ml_model.py2351CODE
LOWmicro-espectre/tools/4_analyze_filter_location.py254CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py109CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py178CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py266CODE
LOWmicro-espectre/src/traffic_generator.py112CODE
LOWmicro-espectre/src/traffic_generator.py232CODE
LOWmicro-espectre/src/features.py146CODE
LOWmicro-espectre/src/main.py192CODE
LOWmicro-espectre/src/main.py285CODE
LOWmicro-espectre/src/main.py552CODE
LOWmicro-espectre/src/nbvi_calibrator.py493CODE
LOWmicro-espectre/src/csi_streamer.py48CODE
LOWmicro-espectre/src/csi_streamer.py66CODE
LOWmicro-espectre/src/mqtt/commands.py113CODE
LOWmicro-espectre/src/mqtt/commands.py375CODE
LOW.github/scripts/build_docs.py208CODE
LOW.github/scripts/build_docs.py214CODE
Over-Commented Block28 hits · 28 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/src/config.py41COMMENT
LOWtest/run_coverage.sh1#!/bin/bashCOMMENT
LOWtest/test/test_long_recordings/test_long_recordings.cpp1/*COMMENT
LOWtest/test/test_hampel_filter/test_hampel_filter.cpp221COMMENT
LOW…t/test/test_motion_detection/test_motion_detection.cpp21COMMENT
LOWtest/data/cnpy.cpp1//Copyright (C) 2011 Carl RogersCOMMENT
LOWtest/data/cnpy.h1//Copyright (C) 2011 Carl RogersCOMMENT
LOWtest/data/csi_test_data.h21 */COMMENT
LOWcomponents/espectre/espectre.cpp21#include "esp_err.h"COMMENT
LOWcomponents/espectre/nbvi_calibrator.cpp1/*COMMENT
LOWcomponents/espectre/espectre.h21// Include ESP-IDF WiFi headersCOMMENT
LOWcomponents/espectre/nbvi_calibrator.h21COMMENT
LOWexamples/home-assistant-dashboard.yaml1# ESPectre - Home Assistant DashboardCOMMENT
LOWexamples/home-assistant-dashboard.yaml41 # https://github.com/iantrich/config-template-cardCOMMENT
LOWexamples/espectre-c5.yaml1# ESPectre - ESP32-C5 ConfigurationCOMMENT
LOWexamples/espectre-c3.yaml1# ESPectre - ESP32-C3 ConfigurationCOMMENT
LOWexamples/espectre-esp32.yaml1# ESPectre - ESP32 (Original/WROOM-32) ConfigurationCOMMENT
LOWexamples/espectre-s3-touch-lcd.yaml1# ESPectre - ESP32-S3 Touch LCD 1.47"COMMENT
LOWexamples/espectre-s3-webserver.yaml1# ESPectre - ESP32-S3 with Web ServerCOMMENT
LOWexamples/espectre-s3-led.yaml1# ESPectre - ESP32-S3 with Onboard LED FeedbackCOMMENT
LOWexamples/home-assistant-dashboard-dev.yaml1# ESPectre - Home Assistant Dashboard for DevelopmentCOMMENT
LOWexamples/home-assistant-dashboard-dev.yaml41 - from: 0.5COMMENT
LOWexamples/home-assistant-dashboard-dev.yaml61 # needle: trueCOMMENT
LOWexamples/espectre-c6.yaml1# ESPectre - ESP32-C6 ConfigurationCOMMENT
LOWexamples/espectre-s2.yaml1# ESPectre - ESP32-S2 ConfigurationCOMMENT
LOWexamples/espectre-s3-led-webserver.yaml1# ESPectre - ESP32-S3 with Onboard LED and Web ServerCOMMENT
LOWexamples/espectre-s3.yaml1# ESPectre - ESP32-S3 ConfigurationCOMMENT
LOW.github/dependabot.yml1# Dependabot ConfigurationCOMMENT
Unused Imports34 hits · 27 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tools/csi_utils.py23CODE
LOWmicro-espectre/tools/csi_utils.py1348CODE
LOWmicro-espectre/tools/csi_utils.py1351CODE
LOWmicro-espectre/tools/csi_utils.py1354CODE
LOWmicro-espectre/tools/csi_utils.py1357CODE
LOWmicro-espectre/tools/csi_utils.py1357CODE
LOWmicro-espectre/tools/csi_utils.py1358CODE
LOWmicro-espectre/tools/__init__.py11CODE
LOWmicro-espectre/tools/__init__.py11CODE
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py37CODE
LOWmicro-espectre/tools/9_compare_chips.py28CODE
LOWmicro-espectre/tools/6_optimize_filter_params.py37CODE
LOWmicro-espectre/tools/10_train_ml_model.py60CODE
LOWmicro-espectre/tools/2_analyze_system_tuning.py25CODE
LOWmicro-espectre/tests/test_ml_detector.py11CODE
LOWmicro-espectre/tests/test_validation_real_data.py49CODE
LOWmicro-espectre/tests/test_validation_real_data.py1148CODE
LOWmicro-espectre/tests/conftest.py18CODE
LOWmicro-espectre/tests/test_segmentation.py11CODE
LOWmicro-espectre/tests/test_mqtt.py14CODE
LOWmicro-espectre/tests/test_mvs_detector.py10CODE
LOWmicro-espectre/tests/test_config.py10CODE
LOWmicro-espectre/tests/test_config.py11CODE
LOWmicro-espectre/tests/test_segmentation_additional.py10CODE
LOWmicro-espectre/tests/test_segmentation_additional.py11CODE
LOWmicro-espectre/tests/test_segmentation_additional.py14CODE
LOWmicro-espectre/tests/test_traffic_generator.py14CODE
LOWmicro-espectre/src/ml_detector.py23CODE
LOWmicro-espectre/src/ml_detector.py31CODE
LOWmicro-espectre/src/ml_detector.py28CODE
LOWmicro-espectre/src/ml_detector.py36CODE
LOWmicro-espectre/src/mqtt/__init__.py11CODE
LOWmicro-espectre/src/mqtt/__init__.py12CODE
LOWtest/coverage_flags.py11CODE
Redundant / Tautological Comments17 hits · 22 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tools/csi_utils.py640 # Check if file already exists in listCOMMENT
LOWmicro-espectre/tools/7_compare_detection_methods.py42# Check if ML model is available (production implementation).COMMENT
LOWmicro-espectre/tools/5_analyze_filter_turbulence.py1090 # Print results tableCOMMENT
LOWmicro-espectre/tools/4_analyze_filter_location.py334 # Print resultsCOMMENT
LOWmicro-espectre/tools/2_analyze_system_tuning.py644 # Print resultsCOMMENT
LOWmicro-espectre/tests/test_validation_real_data.py844 # Print results (same format as C++)COMMENT
LOWmicro-espectre/tests/test_validation_real_data.py969 # Print resultsCOMMENT
LOWmicro-espectre/src/traffic_generator.py119 # Set socket to non-blocking mode to avoid delaysCOMMENT
LOWmicro-espectre/src/nbvi_calibrator.py117 # Open file for writingCOMMENT
LOWmicro-espectre/src/filters.py200 # Check if current value is an outlierCOMMENT
LOWtest/run_coverage.sh44 # Check if clang is the default compilerCOMMENT
LOWtest/run_coverage.sh72# Check if tests failedCOMMENT
LOWtest/run_coverage.sh92 # Check if any profraw files were generatedCOMMENT
LOWtest/run_coverage.sh166 # Check if gcov data was generatedCOMMENT
LOWexamples/espectre_traffic_generator.py11 python3 espectre_traffic_generator.py status # Check if runningSTRING
LOW.github/workflows/snapshot.yml31 # Check if any code files changed in the last commitCOMMENT
LOW.github/scripts/build_docs.py248 # Check if we have a mapping for this fileSTRING
AI Slop Vocabulary8 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMmicro-espectre/tools/10_train_ml_model.py2288 """Print the robust evaluation summary used for model selection."""STRING
MEDIUMmicro-espectre/tools/10_train_ml_model.py1132 """Ranking key for seeds/architectures under the robust evaluation protocol."""STRING
MEDIUMmicro-espectre/tests/test_features.py208 # MAD should be robust to outliersCOMMENT
MEDIUMmicro-espectre/src/main.py259 # Calculate medians (more robust than mean against outliers)COMMENT
MEDIUMmicro-espectre/src/nbvi_calibrator.py356 # MAD-based robust scoreCOMMENT
MEDIUMtest/data/csi_test_data.h342 // Keep the latest baseline per chip for robust fallback pairing.COMMENT
MEDIUMcomponents/espectre/nbvi_calibrator.h168 float nbvi_mad; // MAD-based robust scoreCODE
MEDIUMcomponents/espectre/gain_controller.cpp72 // Calculate medians (more robust than mean against outliers)COMMENT
Cross-Language Confusion2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHmicro-espectre/src/nbvi_calibrator.py56# Threshold for null subcarrier detection (mean amplitude below this = null)COMMENT
HIGH.github/scripts/build_docs.py134 function gtag(){{dataLayer.push(arguments);}}CODE
Verbosity Indicators7 hits · 10 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tests/test_validation_real_data.py1189 # Step 1: Band CalibrationCOMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1210 # Step 2: Initialize MVS with calibration resultsCOMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1223 # Step 3: Process baseline (expecting IDLE)COMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1236 # Step 4: Process movement (expecting MOTION)COMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1249 # Step 5: Calculate metricsCOMMENT
LOWcomponents/espectre/nbvi_calibrator.cpp185 // Step 1: Find candidate baseline windowsCOMMENT
LOWcomponents/espectre/nbvi_calibrator.cpp195 // Step 2: Evaluate each candidate windowCOMMENT
Structural Annotation Overuse7 hits · 10 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tests/test_validation_real_data.py1189 # Step 1: Band CalibrationCOMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1210 # Step 2: Initialize MVS with calibration resultsCOMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1223 # Step 3: Process baseline (expecting IDLE)COMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1236 # Step 4: Process movement (expecting MOTION)COMMENT
LOWmicro-espectre/tests/test_validation_real_data.py1249 # Step 5: Calculate metricsCOMMENT
LOWcomponents/espectre/nbvi_calibrator.cpp185 // Step 1: Find candidate baseline windowsCOMMENT
LOWcomponents/espectre/nbvi_calibrator.cpp195 // Step 2: Evaluate each candidate windowCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHmicro-espectre/tools/csi_utils.py1173 Find baseline and movement dataset files with nearest timestamps. Args: chip: Chip type (C6, S3, eSTRING
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtest/run_coverage.sh8# Usage:COMMENT
LOWexamples/home-assistant-dashboard.yaml3# How to use:COMMENT
LOWexamples/home-assistant-dashboard-dev.yaml11# How to use:COMMENT
AI Structural Patterns6 hits · 4 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tools/1_analyze_raw_data.py299CODE
LOWmicro-espectre/tools/10_train_ml_model.py1210CODE
LOWmicro-espectre/tools/10_train_ml_model.py1369CODE
LOWmicro-espectre/tools/10_train_ml_model.py2416CODE
LOWmicro-espectre/tools/10_train_ml_model.py3089CODE
LOWmicro-espectre/tools/10_train_ml_model.py3483CODE
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWmicro-espectre/tools/__init__.py13__all__ = ['CSICollector', 'get_dataset_stats']CODE
LOWmicro-espectre/src/ml_detector.py42__all__ = ['MLDetector', 'predict', 'is_motion', 'DEFAULT_SUBCARRIERS', 'FEATURE_NAMES']CODE
LOWmicro-espectre/src/mqtt/__init__.py14__all__ = ['MQTTHandler', 'MQTTCommands']CODE