Orchestrata Ultimate › Tests › Reference › orchestrator › test_intent_classifier
Tests reference — tests/orchestrator/test_intent_classifier.py
Module of tests/orchestrator, split out because the directory page would be too large.
Prose pending.
tests/orchestrator/test_intent_classifier.py
source · 38 tests · 583 lines
Test Standards Compliance (see AGENTS.md § Test Standards):
Covers: core.base.traces, core.paths, infra.prolog_bridge, orchestrator.intent_classifier, orchestrator.intent_types, orchestrator.intent_vocabulary, orchestrator.pipeline_router
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_grammar_tier_classifies_fix_with_high_confidence |
50 | |
| function | test_grammar_tier_classifies_feature |
61 | |
| function | test_grammar_lexicon_parity_every_work_type_keyword_resolves |
77 | L-D2 real parity: every keyword in IntentVocabulary.default()'s |
| function | test_grammar_lexicon_parity_every_target_keyword_resolves |
110 | L-D2 real parity: every keyword in IntentVocabulary.default()'s |
| function | test_grammar_tier_classifies_refactor_with_target |
130 | |
| function | test_grammar_tier_falls_back_when_unknown |
141 | No lexicon match anywhere -> grammar returns unknown -> vocabulary |
| function | test_ensure_grammar_loaded_false_without_bridge |
155 | |
| function | test_prolog_term_to_classified_returns_none_for_invalid_work_type |
160 | |
| function | test_grammar_tier_loads_pl_file_lazily_once |
168 | |
| function | test_vocabulary_tier_classifies_feature |
187 | |
| function | test_vocabulary_tier_classifies_refactor |
193 | |
| function | test_vocabulary_tier_classifies_documentation |
199 | |
| function | test_vocabulary_tier_classifies_review |
205 | |
| function | test_vocabulary_tier_confidence_in_expected_band |
211 | |
| function | test_ner_supplies_resource_path_vocabulary_tier |
222 | |
| function | test_ner_supplies_resource_path_grammar_tier |
233 | |
| function | test_ner_supplies_assigned_volk |
240 | |
| function | test_no_resource_path_when_none_present |
246 | |
| function | test_extensibility_add_keyword_changes_classification |
257 | |
| function | test_to_intent_builds_broker_intent |
272 | |
| function | test_workflow_mapper_default_uses_classified_work_type |
289 | |
| function | test_workflow_mapper_register_overrides |
297 | |
| function | test_workflow_mapper_stages_for_feature_nonempty_real_stages |
306 | |
| function | test_workflow_mapper_stages_for_all_work_types_resolve |
313 | |
| function | test_evaluator_high_confidence_grammar_tier |
325 | |
| function | test_evaluator_ambiguous_text_needs_disambiguation |
339 | |
| function | test_evaluator_empty_text_needs_disambiguation |
347 | |
| function | test_evaluator_reasons_explain_the_decision |
355 | |
| function | test_grammar_verdict_reports_its_vote |
373 | A decisive word voted for the winning category; say how many did. |
| function | test_repeated_work_word_is_counted_not_collapsed |
392 | The vote is the whole reason majority resolution beats leftmost-wins |
| function | test_generic_verb_only_parse_reports_zero_decisive_hits |
405 | THE case these fields exist for. |
| function | test_vocabulary_tier_labels_itself |
426 | Which tier decided must be readable without inspecting matched_keywords. |
| function | test_evidence_does_not_move_the_verdict |
436 | The evidence rides along; it must not steer. |
| function | test_confidence_never_lands_between_the_two_tiers |
463 | The 0.5-0.7 keyword band is unreachable while a bridge is present. |
| function | test_a_turn_that_is_not_a_work_request_is_rejected_not_guessed |
489 | unknown is the reject option working, not a parser failure. |
| function | test_evidence_survives_into_the_object_callers_actually_get |
536 | Evidence on ClassifiedIntent is decoration unless it reaches here. |
| function | test_a_generic_verb_dispatch_is_visibly_evidence_free |
556 | The reason trail must expose the weak parse, not just its confidence. |
| function | test_bridgeless_configuration_still_reaches_the_graded_band |
569 | The band is kept rather than deleted because it is live without a |