|  |  | Statements |  | Branches |  | Total
--- | --- | --- | --- | --- | --- | --- | ---
File | function |  | coverage | statements | missing | excluded |  | coverage | branches | partial |  | coverage
src \ cmvk \ __init__.py | __getattr__ |  | 0% | 13 | 13 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ __init__.py | (no function) |  | 100% | 14 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ audit.py | AuditEntry.to_dict |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | AuditEntry.verify_integrity |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.__post_init__ |  | 0% | 2 | 2 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.log |  | 0% | 10 | 10 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.get_entries |  | 0% | 13 | 13 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.get_statistics |  | 0% | 11 | 11 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.verify_integrity |  | 0% | 6 | 6 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.export_json |  | 0% | 4 | 4 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.export_csv |  | 0% | 13 | 13 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail._load_from_file |  | 0% | 8 | 8 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail._persist_entry |  | 0% | 12 | 12 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | AuditTrail.clear |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | _hash_inputs |  | 0% | 3 | 3 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | _hash_inputs.serialize |  | 0% | 5 | 5 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ audit.py | _compute_checksum |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | get_audit_trail |  | 0% | 3 | 3 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ audit.py | configure_audit_trail |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ audit.py | (no function) |  | 100% | 47 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ benchmarks.py | CMVKBenchmark.__init__ |  | 0% | 5 | 5 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._mock_model_fn |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark.load_tasks |  | 0% | 3 | 3 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark.run_single_model |  | 0% | 9 | 9 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark.run_multi_model |  | 0% | 11 | 11 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._apply_consensus |  | 0% | 7 | 7 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._majority_vote_consensus |  | 0% | 4 | 4 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._unanimous_consensus |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._drift_consensus |  | 0% | 7 | 7 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._calculate_pairwise_drift |  | 0% | 6 | 6 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._response_drift |  | 0% | 11 | 11 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._string_drift |  | 0% | 8 | 8 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark._check_correctness |  | 0% | 7 | 7 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark.aggregate_results |  | 0% | 11 | 11 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ benchmarks.py | CMVKBenchmark.save_results |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ benchmarks.py | create_sample_tasks |  | 0% | 15 | 15 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ benchmarks.py | (no function) |  | 0% | 69 | 69 | 12 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ constitutional.py | Severity.__lt__ |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | Principle.__hash__ |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | Principle.to_dict |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.__iter__ |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.__len__ |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.get_by_name |  | 100% | 4 | 0 | 0 |  | 100% | 4 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.get_by_category |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.merge |  | 100% | 6 | 0 | 0 |  | 100% | 4 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.to_dict |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleSet.from_dict |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | Violation.to_dict |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ValidationResult.critical_violations |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ValidationResult.high_violations |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ constitutional.py | ValidationResult.blocking_violations |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ValidationResult.to_dict |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | PrincipleEvaluator.evaluate |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ constitutional.py | PrincipleEvaluator.evaluate_async |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ constitutional.py | RuleBasedEvaluator.__init__ |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | RuleBasedEvaluator.evaluate |  | 100% | 6 | 0 | 0 |  | 100% | 4 | 0 |  | 100%
src \ cmvk \ constitutional.py | RuleBasedEvaluator.evaluate_async |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | LLMEvaluator.__init__ |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | LLMEvaluator._build_prompt |  | 40% | 10 | 6 | 0 |  | 33% | 6 | 2 |  | 38%
src \ cmvk \ constitutional.py | LLMEvaluator._parse_response |  | 78% | 9 | 2 | 0 |  | 100% | 2 | 0 |  | 82%
src \ cmvk \ constitutional.py | LLMEvaluator.evaluate |  | 100% | 4 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | LLMEvaluator.evaluate_async |  | 83% | 6 | 1 | 0 |  | 50% | 2 | 1 |  | 75%
src \ cmvk \ constitutional.py | ConstitutionalValidator.__init__ |  | 100% | 9 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
src \ cmvk \ constitutional.py | ConstitutionalValidator.principles |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ConstitutionalValidator.principle_set |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ConstitutionalValidator.add_principle |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | ConstitutionalValidator.remove_principle |  | 100% | 5 | 0 | 0 |  | 75% | 4 | 1 |  | 89%
src \ cmvk \ constitutional.py | ConstitutionalValidator.validate |  | 79% | 14 | 3 | 0 |  | 67% | 6 | 0 |  | 75%
src \ cmvk \ constitutional.py | ConstitutionalValidator.validate_async |  | 71% | 14 | 4 | 0 |  | 17% | 6 | 1 |  | 55%
src \ cmvk \ constitutional.py | ConstitutionalValidator.validate_async.check_principle |  | 50% | 8 | 4 | 0 |  | 25% | 4 | 1 |  | 42%
src \ cmvk \ constitutional.py | ConstitutionalValidator.get_stats |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | validate_safety |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | validate_medical |  | 100% | 3 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | validate_financial |  | 100% | 3 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ constitutional.py | create_validator_from_yaml |  | 0% | 7 | 7 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ constitutional.py | (no function) |  | 100% | 96 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ hf_utils.py | _get_api |  | 0% | 5 | 5 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ hf_utils.py | check_auth |  | 0% | 6 | 6 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ hf_utils.py | upload_experiment_logs |  | 0% | 19 | 19 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ hf_utils.py | upload_traces |  | 0% | 14 | 14 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ hf_utils.py | download_dataset |  | 0% | 10 | 10 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ hf_utils.py | upload_verification_dataset |  | 0% | 9 | 9 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ hf_utils.py | (no function) |  | 0% | 16 | 16 | 2 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ metrics.py | cosine_distance |  | 0% | 8 | 8 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ metrics.py | euclidean_distance |  | 0% | 12 | 12 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | manhattan_distance |  | 0% | 11 | 11 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | chebyshev_distance |  | 0% | 11 | 11 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | mahalanobis_distance |  | 0% | 14 | 14 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | calculate_distance |  | 0% | 13 | 13 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | get_available_metrics |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ metrics.py | weighted_euclidean_distance |  | 0% | 17 | 17 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ metrics.py | calculate_weighted_distance |  | 0% | 11 | 11 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ metrics.py | (no function) |  | 94% | 33 | 2 | 0 |  | 100% | 0 | 0 |  | 94%
src \ cmvk \ profiles.py | ThresholdProfile.is_within_threshold |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ profiles.py | ThresholdProfile.get_severity |  | 0% | 8 | 8 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ profiles.py | get_profile |  | 0% | 7 | 7 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ profiles.py | list_profiles |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ profiles.py | register_profile |  | 0% | 3 | 3 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ profiles.py | update_profile |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ profiles.py | create_profile |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ profiles.py | (no function) |  | 100% | 35 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ types.py | (no function) |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
src \ cmvk \ verification.py | VerificationScore.passed |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ verification.py | VerificationScore.to_dict |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ verification.py | DriftExplanation.to_dict |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ verification.py | verify |  | 0% | 14 | 14 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ verification.py | verify_embeddings |  | 0% | 32 | 32 | 0 |  | 0% | 16 | 0 |  | 0%
src \ cmvk \ verification.py | verify_embeddings_batch |  | 0% | 7 | 7 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ verification.py | aggregate_embedding_scores |  | 0% | 21 | 21 | 0 |  | 0% | 10 | 0 |  | 0%
src \ cmvk \ verification.py | _build_drift_explanation |  | 0% | 17 | 17 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ verification.py | _generate_interpretation |  | 0% | 12 | 12 | 0 |  | 0% | 6 | 0 |  | 0%
src \ cmvk \ verification.py | _calculate_embedding_confidence |  | 0% | 12 | 12 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ verification.py | _log_to_audit |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ verification.py | verify_distributions |  | 0% | 17 | 17 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ verification.py | verify_sequences |  | 0% | 16 | 16 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ verification.py | _lexical_drift |  | 0% | 11 | 11 | 0 |  | 100% | 0 | 0 |  | 0%
src \ cmvk \ verification.py | _structural_drift |  | 0% | 19 | 19 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ verification.py | _numerical_drift |  | 0% | 17 | 17 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ verification.py | _levenshtein_distance |  | 0% | 13 | 13 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ verification.py | _lcs_length |  | 0% | 10 | 10 | 0 |  | 0% | 8 | 0 |  | 0%
src \ cmvk \ verification.py | verify_batch |  | 0% | 3 | 3 | 0 |  | 0% | 2 | 0 |  | 0%
src \ cmvk \ verification.py | aggregate_scores |  | 0% | 8 | 8 | 0 |  | 0% | 4 | 0 |  | 0%
src \ cmvk \ verification.py | (no function) |  | 96% | 51 | 2 | 2 |  | 100% | 0 | 0 |  | 96%
Total |  |  | 33% | 1136 | 757 | 16 |  | 10% | 278 | 6 |  | 29%

No items found using the specified filter.