• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yzhao062 / pyod / 25590628282
94%
master: 94%

Build:
Build:
LAST BUILD BRANCH: development
DEFAULT BRANCH: master
Ran 09 May 2026 03:54AM UTC
Jobs 11
Files 178
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 May 2026 03:35AM UTC coverage: 93.429% (-0.01%) from 93.439%
25590628282

push

github

web-flow
refactor: decompose ADEngine into private helper modules (#669)

Pure structural refactor. ad_engine.py drops from 1,696 to 1,194 LOC
(30% reduction); 12 private methods + 1 inline consensus block move
into 4 new private modules:

- pyod/utils/_quality_metrics.py - quality math, consensus,
  best detector, feature importance, feature contributions
- pyod/utils/_kb_router.py - KB rule engine + suggest_alternative
- pyod/utils/_detector_factory.py - detector construction from plans
- pyod/utils/_nl_feedback.py - iterate() feedback parsers

Public API byte-identical: 20 public methods, all signatures
unchanged. ADEngine.build_detector preserved as a thin public
wrapper. Helper modules use leading-underscore module names per
PyOD convention; not part of the public API.

Each moved function carries NumPy-style Parameters/Returns docstrings.
4 parallel subagents extracted modules; orchestrator integrated
imports + call sites + thin wrapper sequentially.

Plan-reviewed and implement-reviewed by Codex over 2 rounds; both
Low findings (unused spearmanr import, partial docstring polish)
fixed.

Tests: 122/122 pass (test_ad_engine.py + test_ad_engine_v3.py),
all unmodified.

Spec: docs/superpowers/specs/2026-05-07-adengine-refactor-design.md
Plan: docs/superpowers/plans/2026-05-07-adengine-refactor-plan.md
Parent: PR #668 (fix/adengine-stability-issue-667)

248 of 310 new or added lines in 5 files covered. (80.0%)

3 existing lines in 1 file now uncovered.

16139 of 17274 relevant lines covered (93.43%)

10.28 hits per line

Uncovered Changes

Lines Coverage ∆ File
22
74.71
pyod/utils/_nl_feedback.py
18
83.93
pyod/utils/_quality_metrics.py
13
80.0
pyod/utils/_kb_router.py
8
68.0
pyod/utils/_detector_factory.py
1
90.29
5.0% pyod/utils/ad_engine.py

Coverage Regressions

Lines Coverage ∆ File
3
98.89
-0.55% pyod/test/test_ad_engine_v3.py
Jobs
ID Job ID Ran Files Coverage
1 25590628282.1 09 May 2026 03:54AM UTC 178
93.43
GitHub Action Run
2 25590628282.2 09 May 2026 03:57AM UTC 178
93.42
GitHub Action Run
3 25590628282.3 09 May 2026 04:00AM UTC 178
93.43
GitHub Action Run
4 25590628282.4 09 May 2026 04:01AM UTC 178
93.42
GitHub Action Run
5 25590628282.5 09 May 2026 04:01AM UTC 178
93.43
GitHub Action Run
6 25590628282.6 09 May 2026 04:03AM UTC 178
93.43
GitHub Action Run
7 25590628282.7 09 May 2026 04:03AM UTC 178
93.43
GitHub Action Run
8 25590628282.8 09 May 2026 04:05AM UTC 178
93.43
GitHub Action Run
9 25590628282.9 09 May 2026 04:05AM UTC 178
93.43
GitHub Action Run
10 25590628282.10 09 May 2026 04:07AM UTC 178
93.42
GitHub Action Run
11 25590628282.11 09 May 2026 04:14AM UTC 178
93.43
GitHub Action Run
Source Files on build 25590628282
  • Tree
  • List 178
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0f3a4ab0 on github
  • Prev Build on development (#25584117718)
  • Next Build on development (#25592119807)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc