Added an interface for validators, and implemented an initial deterministic validator to protect terms in the provided glossary
This commit is contained in:
@@ -3,6 +3,7 @@ import json
|
||||
from audita.core.config import AuditaConfig
|
||||
from audita.core.io import write_report
|
||||
from audita.core.schemas import parse_glossary_yaml, parse_source_transcript_json
|
||||
from audita.modules import default_module_specs
|
||||
from audita.pipeline import process_transcript, process_transcript_result
|
||||
|
||||
|
||||
@@ -73,6 +74,11 @@ def test_process_transcript_result_writes_report_and_preserves_skips_per_policy(
|
||||
assert result.report.totals["applied_change_count"] == 0
|
||||
assert (result.run_dir / "report.json").exists()
|
||||
assert (result.run_dir / "normalization" / "summary.json").exists()
|
||||
assert [validator["name"] for validator in result.report.modules[0].to_dict()["validators"]] == [
|
||||
"protected_glossary_guard",
|
||||
"toward_glossary_term_review",
|
||||
"context_support_review",
|
||||
]
|
||||
|
||||
|
||||
def test_external_report_can_be_written(tmp_path):
|
||||
@@ -84,3 +90,33 @@ def test_external_report_can_be_written(tmp_path):
|
||||
payload = json.loads(report_path.read_text(encoding="utf-8"))
|
||||
assert payload["pipeline"][0] == "glossary_primary"
|
||||
assert payload["totals"]["applied_change_count"] == 0
|
||||
|
||||
|
||||
def test_default_module_specs_expose_final_validator_order():
|
||||
specs = default_module_specs()
|
||||
|
||||
assert [validator.name for validator in specs[0].module.validators()] == [
|
||||
"protected_glossary_guard",
|
||||
"toward_glossary_term_review",
|
||||
"context_support_review",
|
||||
]
|
||||
assert [validator.name for validator in specs[1].module.validators()] == [
|
||||
"protected_glossary_guard",
|
||||
"acoustic_similarity_review",
|
||||
"contextual_plausibility_review",
|
||||
"antonym_reversal_review",
|
||||
]
|
||||
assert [validator.name for validator in specs[2].module.validators()] == [
|
||||
"protected_glossary_guard",
|
||||
"toward_glossary_term_review",
|
||||
"context_support_review",
|
||||
]
|
||||
assert [validator.name for validator in specs[3].module.validators()] == [
|
||||
"protected_glossary_guard",
|
||||
"spoken_marker_cleanup_review",
|
||||
"meaning_preservation_review",
|
||||
]
|
||||
assert [validator.name for validator in specs[4].module.validators()] == [
|
||||
"protected_glossary_guard",
|
||||
"edited_text_readability_review",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user