Coverage report: 91%

Files Functions Classes

coverage.py v7.15.2, created at 2026-07-20 13:25 +0000

File class   statements missing excluded   coverage
narrative_harm_classifier/__init__.py (no class)   13 5 0   62%
narrative_harm_classifier/api/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/api/main.py (no class)   23 5 0   78%
narrative_harm_classifier/api/routes/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/api/routes/benchmark.py (no class)   13 2 0   85%
narrative_harm_classifier/api/routes/classify.py (no class)   23 2 0   91%
narrative_harm_classifier/api/routes/health.py (no class)   8 0 0   100%
narrative_harm_classifier/api/routes/tracking.py (no class)   27 0 0   100%
narrative_harm_classifier/api/routes/validate.py (no class)   24 10 0   58%
narrative_harm_classifier/classifier/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/classifier/counter_narrative.py (no class)   7 0 0   100%
narrative_harm_classifier/classifier/factory.py (no class)   25 0 0   100%
narrative_harm_classifier/classifier/provenance.py (no class)   10 0 0   100%
narrative_harm_classifier/classifier/rules/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/classifier/rules/azure_nlp.py AzureNLPResult   0 0 0   100%
narrative_harm_classifier/classifier/rules/azure_nlp.py AzureNLPClient   48 39 0   19%
narrative_harm_classifier/classifier/rules/azure_nlp.py (no class)   18 0 0   100%
narrative_harm_classifier/classifier/rules/dogwhistles.py DogwhistleEntry   1 1 0   0%
narrative_harm_classifier/classifier/rules/dogwhistles.py DogwhistleLexicon   3 0 0   100%
narrative_harm_classifier/classifier/rules/dogwhistles.py (no class)   23 0 0   100%
narrative_harm_classifier/classifier/rules/engine.py ClassificationEngine   72 4 0   94%
narrative_harm_classifier/classifier/rules/engine.py (no class)   61 1 0   98%
narrative_harm_classifier/classifier/rules/patterns_loader.py LanguagePatterns   3 0 0   100%
narrative_harm_classifier/classifier/rules/patterns_loader.py (no class)   35 1 0   97%
narrative_harm_classifier/classifier/taxonomy/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/classifier/taxonomy/loader.py TaxonomyRow   0 0 0   100%
narrative_harm_classifier/classifier/taxonomy/loader.py CategorySpec   0 0 0   100%
narrative_harm_classifier/classifier/taxonomy/loader.py AmbiguityRules   0 0 0   100%
narrative_harm_classifier/classifier/taxonomy/loader.py TaxonomyConfig   11 5 0   55%
narrative_harm_classifier/classifier/taxonomy/loader.py (no class)   55 0 0   100%
narrative_harm_classifier/classifier/tracking/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/classifier/tracking/models.py SeverityLevel   0 0 0   100%
narrative_harm_classifier/classifier/tracking/models.py Observation   0 0 0   100%
narrative_harm_classifier/classifier/tracking/models.py SourceProfile   0 0 0   100%
narrative_harm_classifier/classifier/tracking/models.py ChainVerification   0 0 0   100%
narrative_harm_classifier/classifier/tracking/models.py (no class)   53 1 0   98%
narrative_harm_classifier/classifier/tracking/store.py TrackingStore   21 0 0   100%
narrative_harm_classifier/classifier/tracking/store.py (no class)   16 0 0   100%
narrative_harm_classifier/classifier/tracking/tracker.py EscalationTracker   44 1 0   98%
narrative_harm_classifier/classifier/tracking/tracker.py (no class)   15 0 0   100%
narrative_harm_classifier/classifier/validators/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/classifier/validators/benchmark.py BenchmarkCase   0 0 0   100%
narrative_harm_classifier/classifier/validators/benchmark.py TestTypeReport   0 0 0   100%
narrative_harm_classifier/classifier/validators/benchmark.py GroupConsistencyEntry   0 0 0   100%
narrative_harm_classifier/classifier/validators/benchmark.py BenchmarkReport   0 0 0   100%
narrative_harm_classifier/classifier/validators/benchmark.py BenchmarkRunner   43 2 0   95%
narrative_harm_classifier/classifier/validators/benchmark.py (no class)   64 0 0   100%
narrative_harm_classifier/classifier/validators/i18n_smoke.py I18nSmokeCaseResult   1 0 0   100%
narrative_harm_classifier/classifier/validators/i18n_smoke.py I18nSmokeReport   0 0 0   100%
narrative_harm_classifier/classifier/validators/i18n_smoke.py (no class)   29 0 0   100%
narrative_harm_classifier/classifier/validators/performance.py PerformanceValidator   30 2 0   93%
narrative_harm_classifier/classifier/validators/performance.py (no class)   10 0 0   100%
narrative_harm_classifier/cli.py (no class)   99 16 0   84%
narrative_harm_classifier/core/__init__.py (no class)   0 0 0   100%
narrative_harm_classifier/core/config.py Settings   1 0 0   100%
narrative_harm_classifier/core/config.py Settings.Config   0 0 0   100%
narrative_harm_classifier/core/config.py (no class)   33 0 0   100%
narrative_harm_classifier/core/models.py HarmCategory   0 0 0   100%
narrative_harm_classifier/core/models.py TargetType   0 0 0   100%
narrative_harm_classifier/core/models.py IdentityAxis   0 0 0   100%
narrative_harm_classifier/core/models.py ClassifyRequest   0 0 0   100%
narrative_harm_classifier/core/models.py BatchClassifyRequest   0 0 0   100%
narrative_harm_classifier/core/models.py SignalMatch   0 0 0   100%
narrative_harm_classifier/core/models.py ClassificationResult   0 0 0   100%
narrative_harm_classifier/core/models.py ClassificationResult.Config   0 0 0   100%
narrative_harm_classifier/core/models.py BatchClassificationResult   0 0 0   100%
narrative_harm_classifier/core/models.py ValidationSample   0 0 0   100%
narrative_harm_classifier/core/models.py ValidationReport   0 0 0   100%
narrative_harm_classifier/core/models.py (no class)   86 0 0   100%
narrative_harm_classifier/core/yaml_loader.py (no class)   9 0 0   100%
Total     1057 97 0   91%

No items found using the specified filter.