You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Add 'suspicious' as evaluation result for heuristic-only assessments (issue #65) (#66)
## Summary
Implements the 'suspicious' evaluation result to distinguish between definitive
predatory classifications (based on predatory lists) and heuristic-based
assessments (based on indicators like retraction rates).
## Changes Made
### Core Feature
- Added SUSPICIOUS to AssessmentType enum
- Created EvidenceType enum (PREDATORY_LIST, LEGITIMATE_LIST, HEURISTIC)
- Enhanced Backend architecture with get_evidence_type() abstract method
- Updated models with suspicious counters and evidence_type field
### Classification Logic (per issue #65)
- PREDATORY: Only when journal found in predatory lists
- SUSPICIOUS: When assessment based solely on heuristics
- Mixed case: Predatory list + negative heuristics = PREDATORY
- Backend-centric evidence classification (no central lists)
### Display Updates
- Added ⚠️ emoji for suspicious results in batch output
- Updated CLI to support suspicious in custom list types
- Enhanced batch summaries with suspicious counts
- Lower confidence scoring for heuristic-only assessments
### Architecture Improvements
- CachedBackend automatically detects evidence type from list_type
- HybridBackend defaults to HEURISTIC evidence
- DOAJ overridden to return LEGITIMATE_LIST evidence
- Extensible design for new backends
### Test Updates
- Fixed all mock backends to implement get_evidence_type()
- Added evidence_type field to all BackendResult test instances
- Updated test expectations for new classification logic
- All 254 tests passing
## Technical Details
- Backward compatible with existing functionality
- Self-declaring backends eliminate maintenance of central lists
- Proper confidence scoring adjustments for different evidence types
- Comprehensive error handling and validation
Co-authored-by: florath-ai-assistant[bot] <Andreas.Florath@telekom.de>
0 commit comments