search and inspection polish

This commit is contained in:
2026-04-25 23:59:38 +02:00
parent cc0eef21be
commit b8627c0e1d
5 changed files with 252 additions and 22 deletions

View File

@@ -96,6 +96,47 @@ def test_search_matches_approved_abilities_and_capabilities(tmp_path):
assert capabilities[0].name == "Classify Incoming Email"
def test_search_matches_features_and_evidence_with_context(tmp_path):
service = make_service(tmp_path)
repository = service.register_repository(
name="MailRouter",
url="https://example.com/mail-router-feature.git",
description="Manual test repository.",
)
ability_id = service.add_ability(repository.id, name="Business Email Routing")
capability_id = service.add_capability(
repository.id,
ability_id,
name="Classify Incoming Email",
)
service.add_feature(
repository.id,
capability_id,
name="POST /api/classify-email",
type="REST endpoint",
location="src/routes/classify_email.py",
)
service.add_evidence(
repository.id,
capability_id,
type="unit_test",
reference="tests/test_email_classification.py",
strength="strong",
)
feature_results = service.search("classify_email")
evidence_results = service.search("unit_test")
assert feature_results[0].match_type == "feature"
assert feature_results[0].matched_field == "location"
assert feature_results[0].ability_name == "Business Email Routing"
assert feature_results[0].capability_name == "Classify Incoming Email"
assert feature_results[0].source_reference == "src/routes/classify_email.py"
assert evidence_results[0].match_type == "evidence"
assert evidence_results[0].evidence_level == "strong"
assert evidence_results[0].confidence == 0.9
def test_register_repository_imports_metadata_when_name_is_omitted(tmp_path):
source = tmp_path / "metadata-source"
source.mkdir()