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

yzhao062 / pyod / 25592119807 / 4
94%
master: 94%

Build:
Build:
LAST BUILD BRANCH: development
DEFAULT BRANCH: master
Ran 09 May 2026 05:14AM UTC
Files 178
Run time 3s
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 04:49AM UTC coverage: 93.561% (+0.1%) from 93.429%
25592119807.4

push

github

web-flow
refactor: ADEngine type hints, validation, exception handling, NL parser (#670)

* refactor: ADEngine type hints, validation, exception handling, NL parser

Tightens the post-decomposition codebase. Implements PR 3 of the
ADEngine refactor sequence (PR 1 = stability fix, PR 2 = decomposition,
PR 3 = tech debt cleanup).

Behavior tightenings (3 user-visible changes documented in CHANGES.txt):
- iterate(feedback) raises ValueError on malformed feedback dicts
  (previously: silent confirm_with_user fallthrough)
- Per-detector exceptions in run() and analyze() emit WARNING logs
  before swallowing
- NL feedback parser uses word-boundary regex (re.search with \b)
  instead of substring `in`; some incidental matches no longer fire

Internal cleanup (no behavior change):
- Type hints across all 5 modules + ad_engine.py public methods
  (no mypy enforcement gate; documentation only)
- Magic numbers extracted to named constants:
  _VERDICT_HIGH_THRESHOLD / _VERDICT_MEDIUM_THRESHOLD /
  _SINGLE_DETECTOR_AGREEMENT_FALLBACK in _quality_metrics.py;
  _CONTAMINATION_INCREASE_FACTOR / _CONTAMINATION_DECREASE_FACTOR /
  _CONTAMINATION_MAX / _CONTAMINATION_MIN /
  _NL_HIGH_CONFIDENCE_THRESHOLD in _nl_feedback.py
- QualityDict TypedDict in _quality_metrics.py
- validate_structured_feedback() raises on missing/unknown action,
  missing required fields, wrong type
- compute_feature_importance / feature_contributions narrow their
  bare except Exception to (AttributeError, ValueError, TypeError)
  with logger.debug
- NL parser refactored to declarative pattern table + parse helper
- Contamination math deduplicated to adjust_contamination_up/down

Tests: 13 new tests across 3 classes (TestValidateStructuredFeedback 5,
TestNLPatternTable 7, TestExceptionLogging 1). 135/135 pass.

4 parallel subagents extracted helper-module changes; orchestrator
sequentially handled ad_engine.py + test additions. Plan-reviewed
and implement-reviewed by Codex over 2 rounds.

Spec: docs/super... (continued)

16304 of 17426 relevant lines covered (93.56%)

0.94 hits per line

Source Files on job 25592119807.4
  • Tree
  • List 178
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25592119807
  • ebe27bf7 on github
  • Prev Job for on development (#25590628282.6)
  • Next Job for on development (#25593511703.2)
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