A Python library for anomaly detection across tabular, time series, graph, text, image, and audio data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.
This report summarizes scanner evidence for yzhao062/pyod, a Python project with 10,029 GitHub stars. SynthScan examined 92,345 lines of code across 330 source files, recording 1684 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 28.2 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1200 finding(s).
Are imports declared and package/API names verified? 231 finding(s).
Are wrappers, guards, and repeated structures necessary? 1361 finding(s).
Which changes need focused human review? 1684 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1684 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 85 | def test_encode_not_callable_raises(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 374 | def test_prediction_proba_linear(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 379 | def test_prediction_proba_unify(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 384 | def test_prediction_proba_parameter(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 388 | def test_prediction_labels_confidence(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 396 | def test_prediction_with_rejection(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 401 | def test_detector_string_resolution(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 415 | def test_invalid_detector_raises(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 450 | def test_default_detector_is_lunar(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 456 | def test_for_text_returns_instance(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 477 | def test_for_text_invalid_quality(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 481 | def test_for_image_returns_instance(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 1468 | def test_resolve_base_encoder_instance(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 1473 | def test_resolve_invalid_string_raises(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-04-embedding-od.md | 1477 | def test_resolve_invalid_type_raises(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 1491 | def test_resolve_registry_shortcut(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-04-embedding-od.md | 1498 | def test_resolve_auto_sentence_transformer(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 129 | def test_stability_is_deterministic(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 139 | def test_stability_zero_for_no_anomalies(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 145 | def test_stability_zero_for_all_anomalies(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 151 | def test_stability_zero_for_constant_scores(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 158 | def test_stability_zero_for_nonfinite_scores(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 168 | def test_stability_k_equals_one(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 176 | def test_stability_k_equals_n_minus_one(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 184 | def test_stability_ties_at_boundary(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 191 | def test_stability_scale_invariant(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 201 | def test_stability_in_unit_interval(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1275 | def apply_structured_feedback(state, feedback, kb, plan_detection_fn, make_plan_fn): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1284 | def test_missing_action_raises(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1289 | def test_unknown_action_raises(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1294 | def test_missing_required_field_raises(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1304 | def test_valid_input_does_not_raise(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1411 | def test_exclude_pattern_matches(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1419 | def test_too_many_pattern_decreases_contamination(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1422 | def test_missed_pattern_increases_contamination(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1425 | def test_rerun_pattern_matches(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1428 | def test_no_match_returns_low_confidence(self): | CODE |
| LOW⚡ | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1431 | def test_word_boundary_no_match_for_partial(self): | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 106 | def test_stability_responds_to_data(self): | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 761 | def compute_feature_importance(result, X): | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1000 | def apply_structured_feedback(state, feedback, kb, plan_detection_fn, | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1233 | def validate_structured_feedback(feedback: dict) -> None: | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1345 | def compute_feature_importance(result, X): | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1391 | def test_run_logs_warning_on_detector_error(self, caplog): | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1450 | def adjust_contamination_down(current: float) -> float: | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 50 | def test_returns_required_keys(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 70 | def test_score_summary_has_stats(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 76 | def test_anomaly_ratio_is_fraction(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 190 | def test_returns_required_keys(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 197 | def test_top_anomalies_sorted_by_score(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 204 | def test_top_anomalies_have_index_and_score(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 210 | def test_score_distribution_has_stats(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 307 | def _compute_feature_importance(result, X): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 385 | def test_entry_has_required_fields(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 524 | def test_returns_required_keys(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 530 | def test_too_many_false_positives(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 537 | def test_try_different_detector(self): | CODE |
| LOW⚡ | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 544 | def test_no_feedback_suggests_done_or_alternative(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 719 | def test_report_contains_key_info(self): | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 725 | def test_unknown_format_raises(self): | CODE |
| 1004 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | regression tests for the stability metric (issue #667). | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | regression tests for the stability metric (issue #667). | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | regression tests for the stability metric (issue #667). | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | call the quality function via whichever path is available. during pr 1 the helper module does not yet exist; we use the | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | call the quality function via whichever path is available. during pr 1 the helper module does not yet exist; we use the | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | call the quality function via whichever path is available. during pr 1 the helper module does not yet exist; we use the | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | large cutoff gaps score higher than nearly tied boundaries. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | large cutoff gaps score higher than nearly tied boundaries. | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | large cutoff gaps score higher than nearly tied boundaries. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | k=1 is well-defined: gap between highest score and second-highest. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | k=1 is well-defined: gap between highest score and second-highest. | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | k=1 is well-defined: gap between highest score and second-highest. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | tied scores at the cutoff produce gap=0 -> stability=0. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | tied scores at the cutoff produce gap=0 -> stability=0. | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | tied scores at the cutoff produce gap=0 -> stability=0. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | multiplying scores by a positive constant leaves stability unchanged. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | multiplying scores by a positive constant leaves stability unchanged. | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | multiplying scores by a positive constant leaves stability unchanged. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | stability is always in [0, 1] across random inputs. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | stability is always in [0, 1] across random inputs. | STRING |
| HIGH | pyod/test/test_ad_engine_v3.py | 0 | stability is always in [0, 1] across random inputs. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | overall quality at or above this is reported as 'high'. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | overall quality at or above this is reported as 'high'. | STRING |
| HIGH | pyod/utils/_quality_metrics.py | 0 | overall quality at or above this is reported as 'high'. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | overall quality at or above this (but below high) is 'medium'. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | overall quality at or above this (but below high) is 'medium'. | STRING |
| HIGH | pyod/utils/_quality_metrics.py | 0 | overall quality at or above this (but below high) is 'medium'. | STRING |
| HIGH | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 0 | nl feedback parsed with confidence above this is auto-applied. | STRING |
| HIGH | …perpowers/specs/2026-05-07-adengine-refactor-design.md | 0 | nl feedback parsed with confidence above this is auto-applied. | STRING |
| HIGH | pyod/utils/_nl_feedback.py | 0 | nl feedback parsed with confidence above this is auto-applied. | STRING |
| HIGH | …uperpowers/plans/2026-04-11-graph-od-implementation.md | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | pyod/models/pyg_anomalous.py | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | pyod/models/pyg_conad.py | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | pyod/models/pyg_guide.py | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | pyod/models/pyg_cola.py | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | pyod/models/pyg_anomalydae.py | 0 | fit the detector on graph data. parameters ---------- x : data or array-like y : ignored edge_index : array-like or none | STRING |
| HIGH | docs/superpowers/plans/2026-04-07-ad-engine-tier-a.md | 0 | explain a pyod detector: how it works, strengths, weaknesses, benchmark performance, and recommended use cases. | STRING |
| HIGH | …/superpowers/specs/2026-04-07-pyod-expansion-design.md | 0 | explain a pyod detector: how it works, strengths, weaknesses, benchmark performance, and recommended use cases. | STRING |
| HIGH | pyod/mcp_server.py | 0 | explain a pyod detector: how it works, strengths, weaknesses, benchmark performance, and recommended use cases. | STRING |
| HIGH | pyod/test/test_qmcd.py | 0 | notes: gan may yield unstable results, so the test is design for running models only, without any performance check. | STRING |
| HIGH | pyod/test/test_mo_gaal.py | 0 | notes: gan may yield unstable results, so the test is design for running models only, without any performance check. | STRING |
| HIGH | pyod/test/test_so_gaal.py | 0 | notes: gan may yield unstable results, so the test is design for running models only, without any performance check. | STRING |
| HIGH | pyod/test/test_cd.py | 0 | notes: gan may yield unstable results, so the test is design for running models only, without any performance check. | STRING |
| HIGH | pyod/test/test_so_gaal_new.py | 0 | notes: gan may yield unstable results, so the test is design for running models only, without any performance check. | STRING |
| HIGH | pyod/models/cblof.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/lof.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/mcd.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/rgraph.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/gmm.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/lmdd.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/hbos.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/inne.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/deep_svdd.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/so_gaal.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/kde.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/mo_gaal.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/alad.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/sod.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/dif.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| HIGH | pyod/models/sampling.py | 0 | "fit detector. y is ignored in unsupervised methods. parameters ---------- x : numpy array of shape (n_samples, n_featur | STRING |
| 65 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …erpowers/plans/2026-04-12-v3-agentic-implementation.md | 245 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …erpowers/plans/2026-04-12-v3-agentic-implementation.md | 247 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …/superpowers/specs/2026-04-07-pyod-expansion-design.md | 763 | # ============================================================ | COMMENT |
| MEDIUM | …/superpowers/specs/2026-04-07-pyod-expansion-design.md | 766 | # ============================================================ | COMMENT |
| MEDIUM | …/superpowers/specs/2026-04-07-pyod-expansion-design.md | 850 | # ============================================================ | COMMENT |
| MEDIUM | …/superpowers/specs/2026-04-07-pyod-expansion-design.md | 855 | # ============================================================ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 231 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 233 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 273 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 275 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 345 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 347 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 364 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 366 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 379 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 381 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 413 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 415 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 511 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 513 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 534 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 536 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 649 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pyod/test/test_persistence.py | 651 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 76 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 78 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 259 | # ===================================================================== | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 261 | # ===================================================================== | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 289 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/test/test_persistence.py | 291 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/test/test_mcp_server_import.py | 147 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | pyod/test/test_mcp_server_import.py | 154 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pyod/utils/ad_engine.py | 1591 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | pyod/utils/ad_engine.py | 1593 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 342 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 344 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 621 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 623 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 640 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 642 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 673 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 675 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 738 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 740 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 805 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 807 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 888 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 890 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1014 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1016 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1087 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1089 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1452 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1454 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1493 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1495 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1695 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1697 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1826 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | pyod/utils/ad_engine.py | 1828 | # ------------------------------------------------------------------ | COMMENT |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/ecod_example.py | 7 | CODE | |
| LOW | examples/ecod_example.py | 8 | CODE | |
| LOW | examples/xgbod_example.py | 7 | CODE | |
| LOW | examples/xgbod_example.py | 8 | CODE | |
| LOW | examples/pyg_radar_example.py | 12 | CODE | |
| LOW | examples/pyg_radar_example.py | 13 | CODE | |
| LOW | examples/pyg_anomalous_example.py | 12 | CODE | |
| LOW | examples/pyg_anomalous_example.py | 13 | CODE | |
| LOW | examples/pyg_cola_example.py | 12 | CODE | |
| LOW | examples/pyg_cola_example.py | 13 | CODE | |
| LOW | examples/ts_sand_example.py | 9 | CODE | |
| LOW | examples/ts_sand_example.py | 10 | CODE | |
| LOW | examples/kpca_example.py | 7 | CODE | |
| LOW | examples/kpca_example.py | 7 | CODE | |
| LOW | examples/cof_example.py | 8 | CODE | |
| LOW | examples/cof_example.py | 9 | CODE | |
| LOW | examples/perf_check.py | 8 | CODE | |
| LOW | examples/perf_check.py | 9 | CODE | |
| LOW | examples/abod_example.py | 7 | CODE | |
| LOW | examples/abod_example.py | 8 | CODE | |
| LOW | examples/knn_example.py | 7 | CODE | |
| LOW | examples/knn_example.py | 8 | CODE | |
| LOW | examples/copod_parallel_example.py | 8 | CODE | |
| LOW | examples/copod_parallel_example.py | 9 | CODE | |
| LOW | examples/copod_parallel_example.py | 22 | CODE | |
| LOW | examples/loci_example.py | 7 | CODE | |
| LOW | examples/loci_example.py | 8 | CODE | |
| LOW | examples/lmdd_example.py | 7 | CODE | |
| LOW | examples/lmdd_example.py | 8 | CODE | |
| LOW | examples/copod_example.py | 7 | CODE | |
| LOW | examples/copod_example.py | 8 | CODE | |
| LOW | examples/mad_example.py | 7 | CODE | |
| LOW | examples/mad_example.py | 8 | CODE | |
| LOW | examples/save_load_model_example.py | 19 | CODE | |
| LOW | examples/save_load_model_example.py | 20 | CODE | |
| LOW | examples/pca_example.py | 7 | CODE | |
| LOW | examples/pca_example.py | 8 | CODE | |
| LOW | examples/pca_example.py | 21 | CODE | |
| LOW | examples/vae_example.py | 7 | CODE | |
| LOW | examples/vae_example.py | 8 | CODE | |
| LOW | examples/agentic_hindsight_real_data.py | 17 | CODE | |
| LOW | examples/agentic_hindsight_real_data.py | 18 | CODE | |
| LOW | examples/lunar_example.py | 7 | CODE | |
| LOW | examples/lunar_example.py | 8 | CODE | |
| LOW | examples/hdbscan_example.py | 7 | CODE | |
| LOW | examples/hdbscan_example.py | 8 | CODE | |
| LOW | examples/cd_example.py | 7 | CODE | |
| LOW | examples/cd_example.py | 8 | CODE | |
| LOW | examples/cd_example.py | 21 | CODE | |
| LOW | examples/pyg_anomalydae_example.py | 12 | CODE | |
| LOW | examples/pyg_anomalydae_example.py | 13 | CODE | |
| LOW | examples/generate_data_cluster_example.py | 8 | CODE | |
| LOW | examples/generate_data_cluster_example.py | 9 | CODE | |
| LOW | examples/qmcd_example.py | 7 | CODE | |
| LOW | examples/qmcd_example.py | 8 | CODE | |
| LOW | examples/qmcd_example.py | 18 | CODE | |
| LOW | examples/pyg_dominant_example.py | 12 | CODE | |
| LOW | examples/pyg_dominant_example.py | 13 | CODE | |
| LOW | examples/sos_example.py | 4 | CODE | |
| LOW | examples/sos_example.py | 5 | CODE | |
| 167 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pyod/test/test_encoders.py | 358 | except (ValueError, ImportError): | CODE |
| HIGH | pyod/test/test_skill_api_refs.py | 139 | except Exception: | CODE |
| HIGH | pyod/test/test_skill_api_refs.py | 152 | except Exception: | CODE |
| HIGH | pyod/utils/ad_engine.py | 148 | except ImportError: | CODE |
| HIGH | pyod/utils/_llm.py | 164 | except json.JSONDecodeError: | CODE |
| HIGH | pyod/utils/auto_model_selector.py | 121 | except ImportError: | CODE |
| HIGH | pyod/utils/encoders/__init__.py | 372 | except ImportError: | CODE |
| HIGH | pyod/utils/encoders/__init__.py | 417 | except ImportError: | CODE |
| HIGH | pyod/utils/encoders/__init__.py | 424 | except ImportError: | CODE |
| HIGH | pyod/utils/encoders/__init__.py | 392 | except ImportError: | CODE |
| HIGH | pyod/utils/encoders/__init__.py | 399 | except ImportError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/test/test_base_dl.py | 43 | CODE | |
| LOW | pyod/test/test_base_dl.py | 74 | CODE | |
| LOW | pyod/utils/torch_utility.py | 311 | CODE | |
| LOW | pyod/utils/torch_utility.py | 115 | CODE | |
| LOW | pyod/utils/auto_model_selector.py | 162 | CODE | |
| LOW | pyod/utils/data.py | 113 | CODE | |
| LOW | pyod/utils/data.py | 349 | CODE | |
| LOW | pyod/utils/data.py | 556 | CODE | |
| LOW | pyod/utils/data.py | 699 | CODE | |
| LOW | pyod/models/cblof.py | 145 | CODE | |
| LOW | pyod/models/auto_encoder.py | 120 | CODE | |
| LOW | pyod/models/pyg_conad.py | 70 | CODE | |
| LOW | pyod/models/audio_ae.py | 123 | CODE | |
| LOW | pyod/models/lof.py | 142 | CODE | |
| LOW | pyod/models/rgraph.py | 126 | CODE | |
| LOW | pyod/models/rgraph.py | 261 | CODE | |
| LOW | pyod/models/gmm.py | 117 | CODE | |
| LOW | pyod/models/deep_svdd.py | 264 | CODE | |
| LOW | pyod/models/ocsvm.py | 114 | CODE | |
| LOW | pyod/models/alad.py | 142 | CODE | |
| LOW | pyod/models/ae1svm.py | 231 | CODE | |
| LOW | pyod/models/sod.py | 111 | CODE | |
| LOW | pyod/models/so_gaal_new.py | 101 | CODE | |
| LOW | pyod/models/ts_anomaly_transformer.py | 468 | CODE | |
| LOW | pyod/models/dif.py | 110 | CODE | |
| LOW | pyod/models/devnet.py | 210 | CODE | |
| LOW | pyod/models/pca.py | 185 | CODE | |
| LOW | pyod/models/feature_bagging.py | 184 | CODE | |
| LOW | pyod/models/abod.py | 164 | CODE | |
| LOW | pyod/models/xgbod.py | 147 | CODE | |
| LOW | pyod/models/anogan.py | 194 | CODE | |
| LOW | pyod/models/kpca.py | 19 | CODE | |
| LOW | pyod/models/kpca.py | 205 | CODE | |
| LOW | pyod/models/base_dl.py | 104 | CODE | |
| LOW | pyod/models/hdbscan.py | 88 | CODE | |
| LOW | pyod/models/vae.py | 219 | CODE | |
| LOW | pyod/models/vae.py | 307 | CODE | |
| LOW | pyod/models/suod.py | 128 | CODE | |
| LOW | pyod/models/ts_sand.py | 94 | CODE | |
| LOW | pyod/models/iforest.py | 165 | CODE | |
| LOW | pyod/models/knn.py | 140 | CODE | |
| LOW | pyod/models/lunar.py | 80 | CODE | |
| LOW | pyod/models/lunar.py | 108 | CODE | |
| LOW | pyod/models/lunar.py | 213 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/compare_all_models.py | 56 | # Define the number of inliers and outliers | COMMENT |
| MEDIUM | pyod/test/test_regen_skill.py | 91 | # Create a file, regenerate it once, then run --check on a directory | COMMENT |
| MEDIUM | pyod/utils/auto_model_selector.py | 124 | # Initialize class variables | COMMENT |
| MEDIUM | pyod/models/mo_gaal.py | 132 | # Define the optimizer for the generator | COMMENT |
| MEDIUM | pyod/models/alad.py | 212 | # Create the decoder | COMMENT |
| MEDIUM | pyod/models/alad.py | 225 | # Create the encoder | COMMENT |
| MEDIUM | pyod/models/alad.py | 238 | # Create the discriminators | COMMENT |
| MEDIUM | pyod/models/sod.py | 187 | """This function is called internally to calculate the shared nearest | STRING |
| MEDIUM | pyod/models/sod.py | 209 | """This function is called internally to perform subspace outlier | STRING |
| MEDIUM | pyod/models/devnet.py | 11 | # Import necessary libraries | COMMENT |
| MEDIUM | pyod/models/devnet.py | 30 | # Define the network architectures | COMMENT |
| MEDIUM | pyod/models/devnet.py | 85 | # Define the training and testing process | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pypi_build_commands.txt | 1 | # This is a command list for building and releasing pyod to PyPI (Windows-friendly). | COMMENT |
| LOW | pypi_build_commands.txt | 21 | # v<X.Y.Z>, <MM/DD/YYYY> -- <short description of what changed>. | COMMENT |
| LOW | pypi_build_commands.txt | 41 | ################################################################################ | COMMENT |
| LOW | pypi_build_commands.txt | 101 | COMMENT | |
| LOW | docs/conf.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | docs/conf.py | 61 | # The suffix(es) of source filenames. | COMMENT |
| LOW | docs/conf.py | 101 | } | COMMENT |
| LOW | docs/conf.py | 121 | # -- Options for HTMLHelp output --------------------------------------------- | COMMENT |
| LOW | …erpowers/plans/2026-04-13-v3.2-od-expert-deep-skill.md | 1081 | COMMENT | |
| LOW | docs/superpowers/specs/2026-04-12-v3-agentic-design.md | 361 | 'explanation': str, # human-readable quality summary | COMMENT |
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | .github/workflows/codeql.yml | 61 | # ℹ️ Command-line programs to run using the OS shell. | COMMENT |
| LOW | pyod/version.py | 1 | """ | COMMENT |
| LOW | pyod/test/conftest.py | 41 | # not installed; a broken install raises OSError (on Windows a partially | COMMENT |
| LOW | pyod/test/test_xgbod.py | 101 | # | COMMENT |
| LOW | pyod/test/test_xgbod.py | 121 | # assert_equal(confidence.shape, self.y_test.shape) | COMMENT |
| LOW | pyod/test/test_anogan.py | 61 | def test_prediction_labels(self): | COMMENT |
| LOW | pyod/test/test_anogan.py | 81 | # def test_prediction_proba_parameter(self): | COMMENT |
| LOW | pyod/test/test_anogan.py | 101 | # assert_equal(confidence.shape, self.y_test.shape) | COMMENT |
| LOW | pyod/test/test_persistence.py | 381 | # ------------------------------------------------------------ | COMMENT |
| LOW | pyod/test/test_skill_kb_consistency.py | 21 | REPO_ROOT = Path(__file__).resolve().parents[2] | COMMENT |
| LOW | pyod/test/test_data.py | 121 | outliers = X[y == 1] | COMMENT |
| LOW | pyod/test/test_suod.py | 161 | # assert_array_less(-0.1, pred_ranks) | COMMENT |
| LOW | pyod/utils/utility.py | 441 | # print(sklearn_version) | COMMENT |
| LOW | pyod/utils/data.py | 181 | # initialize a random state and seeds for the instance | COMMENT |
| LOW | pyod/models/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | pyod/models/__init__.py | 21 | # 'AutoEncoder', | COMMENT |
| LOW | pyod/models/feature_bagging.py | 61 | if to_set: | COMMENT |
| LOW | pyod/models/feature_bagging.py | 321 | COMMENT | |
| LOW | pyod/models/iforest.py | 21 | # in 0.22, scikit learn will start adjust decision_function values by | COMMENT |
| LOW | pyod/skills/od_expert/references/time_series.md | 81 | # state.profile: {'data_type': 'time_series', 'n_samples': 10080, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1361 | except Exception as e: | CODE |
| LOW | …superpowers/plans/2026-05-07-adengine-refactor-plan.md | 1373 | except Exception as exc: | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 334 | except Exception: | CODE |
| LOW | docs/superpowers/plans/2026-04-08-ad-engine-tier-b.md | 487 | except Exception: | CODE |
| LOW | …/superpowers/plans/2026-04-13-v3.1-skill-install-ux.md | 721 | except Exception: | CODE |
| LOW | …/superpowers/plans/2026-04-13-v3.1-skill-install-ux.md | 730 | except Exception: | CODE |
| LOW | …erpowers/plans/2026-04-12-v3-agentic-implementation.md | 436 | except Exception as e: | CODE |
| LOW | …erpowers/plans/2026-04-12-v3-agentic-implementation.md | 670 | except Exception: | CODE |
| LOW | pyod/cli.py | 61 | except Exception: | CODE |
| LOW | pyod/cli.py | 70 | except Exception: | CODE |
| LOW | pyod/mcp_server.py | 295 | except Exception as e: | CODE |
| LOW | pyod/mcp_server.py | 337 | except Exception as e: | CODE |
| LOW | pyod/mcp_server.py | 384 | except Exception as e: | CODE |
| LOW | pyod/test/test_skill_api_refs.py | 117 | except Exception: | CODE |
| LOW | pyod/test/test_skill_api_refs.py | 139 | except Exception: | CODE |
| LOW | pyod/test/test_skill_api_refs.py | 152 | except Exception: | CODE |
| LOW | pyod/test/test_skill_api_refs.py | 180 | except Exception: | CODE |
| LOW⚡ | pyod/test/test_persistence.py | 527 | except Exception as exc: | CODE |
| LOW | pyod/test/test_hdbscan.py | 21 | except Exception: | CODE |
| LOW | pyod/test/test_thresholds.py | 63 | except Exception: | CODE |
| LOW | pyod/test/test_hbos_auto_bins_fix.py | 166 | except Exception as e: | CODE |
| LOW | pyod/test/test_hbos_auto_bins_fix.py | 179 | except Exception as e: | CODE |
| LOW | pyod/utils/ad_engine.py | 259 | except Exception as ex: # noqa: BLE001 | CODE |
| LOW | pyod/utils/ad_engine.py | 1219 | except Exception as exc: | CODE |
| LOW | pyod/utils/ad_engine.py | 1304 | except Exception as exc: | CODE |
| LOW | pyod/utils/ad_engine.py | 1366 | except Exception as exc: | CODE |
| LOW | pyod/utils/persistence.py | 333 | except Exception as compat_exc: | CODE |
| LOW | pyod/utils/persistence.py | 373 | except Exception: | CODE |
| LOW | pyod/utils/persistence.py | 552 | except Exception: | CODE |
| LOW | pyod/utils/_nl_feedback.py | 241 | except Exception as exc: | CODE |
| LOW | pyod/models/hdbscan.py | 121 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/cli.py | 39 | CODE | |
| LOW | pyod/mcp_server.py | 391 | CODE | |
| LOW | pyod/test/test_skill_api_refs.py | 266 | CODE | |
| LOW | pyod/test/test_skill_kb_consistency.py | 139 | CODE | |
| LOW | pyod/utils/ad_engine.py | 76 | CODE | |
| LOW | pyod/utils/ad_engine.py | 210 | CODE | |
| LOW | pyod/utils/persistence.py | 251 | CODE | |
| LOW | pyod/utils/torch_utility.py | 311 | CODE | |
| LOW | pyod/utils/_quality_metrics.py | 151 | CODE | |
| LOW | pyod/utils/utility.py | 27 | CODE | |
| LOW | pyod/utils/_detector_factory.py | 94 | CODE | |
| LOW | pyod/utils/auto_model_selector.py | 58 | CODE | |
| LOW | pyod/utils/auto_model_selector.py | 248 | CODE | |
| LOW | pyod/utils/_nl_feedback.py | 92 | CODE | |
| LOW | pyod/utils/encoders/__init__.py | 161 | CODE | |
| LOW | pyod/utils/encoders/huggingface.py | 81 | CODE | |
| LOW | pyod/models/rgraph.py | 261 | CODE | |
| LOW | pyod/models/rgraph.py | 444 | CODE | |
| LOW | pyod/models/hbos.py | 184 | CODE | |
| LOW | pyod/models/hbos.py | 270 | CODE | |
| LOW | pyod/models/mo_gaal.py | 95 | CODE | |
| LOW | pyod/models/loci.py | 181 | CODE | |
| LOW | pyod/models/pyg_scan.py | 113 | CODE | |
| LOW | pyod/models/ts_kshape.py | 150 | CODE | |
| LOW | pyod/models/base_dl.py | 104 | CODE | |
| LOW | pyod/models/base_dl.py | 228 | CODE | |
| LOW | pyod/models/sos.py | 167 | CODE | |
| LOW | pyod/models/_ts_utils.py | 50 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/__init__.py | 7 | __all__ = ['models', 'utils', '__version__'] | CODE |
| LOW | pyod/utils/ad_engine.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | pyod/utils/persistence.py | 52 | __all__ = ["save", "load", "compat_load"] | CODE |
| LOW | pyod/utils/_quality_metrics.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | pyod/utils/_kb_router.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | pyod/utils/__init__.py | 16 | __all__ = ['check_parameter', | CODE |
| LOW | pyod/utils/_detector_factory.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | pyod/utils/_llm.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | pyod/utils/_nl_feedback.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | pyod/models/cblof.py | 22 | __all__ = ['CBLOF'] | CODE |
| LOW | pyod/models/mcd.py | 14 | __all__ = ['MCD'] | CODE |
| LOW | pyod/skills/__init__.py | 45 | __all__ = ["get_skill_path", "install", "install_cli", "_run_install"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/utils/auto_model_selector.py | 180 | # Step 1: Capture dataset statistics | COMMENT |
| LOW | pyod/utils/auto_model_selector.py | 212 | # Step 2: Build the prompt | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 252 | # Step 1: Create sliding (input, target) pairs | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 255 | # Step 2: Build and train LSTM | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 258 | # Step 3: Compute prediction errors on training data | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/utils/auto_model_selector.py | 180 | # Step 1: Capture dataset statistics | COMMENT |
| LOW | pyod/utils/auto_model_selector.py | 212 | # Step 2: Build the prompt | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 252 | # Step 1: Create sliding (input, target) pairs | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 255 | # Step 2: Build and train LSTM | COMMENT |
| LOW⚡ | pyod/models/ts_lstm.py | 258 | # Step 3: Compute prediction errors on training data | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyod/models/mad.py | 149 | """This overrides PyOD base class function in order to use the | STRING |
| MEDIUM | pyod/models/mcd.py | 178 | """The raw robust estimated location before correction and | STRING |
| MEDIUM | pyod/models/mcd.py | 187 | """The raw robust estimated location before correction and | STRING |
| MEDIUM | pyod/models/mcd.py | 206 | """Estimated robust location. | STRING |
| MEDIUM | pyod/models/mcd.py | 214 | """Estimated robust covariance matrix. | STRING |
| MEDIUM | pyod/models/rod.py | 23 | """Apply the robust median absolute deviation (MAD) | STRING |
| MEDIUM | pyod/models/rod.py | 377 | """Rotation-based Outlier Detection (ROD), is a robust and parameter-free | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …cs/superpowers/specs/2026-04-04-embedding-od-design.md | 58 | ### 2.3 LLM-based zero-shot detection | COMMENT |
| MEDIUM | pyod/test/test_skill_kb_consistency.py | 36 | # are orchestration objects, not KB-registered detectors. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/models/mo_gaal.py | 223 | fake_data = names['sub_generator' + str(i)]( | CODE |
| LOW | pyod/models/mo_gaal.py | 225 | fake_outputs = self.discriminator(fake_data) | CODE |
| LOW | pyod/models/mo_gaal.py | 237 | fake_data = names['sub_generator' + str(i)]( | CODE |
| LOW | pyod/models/mo_gaal.py | 239 | fake_outputs = self.discriminator(fake_data) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/build.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyod/models/ts_matrix_profile.py | 156 | # Set distance to inf for constant subsequences | COMMENT |