study-buddy / app /services /array_algorithm_evidence.py
GitHub Actions
deploy d092bea3608b7a29952f16357fda39b7a29e399b
2e818da
Raw
History Blame Contribute Delete
1.33 kB
from app.schemas.visual_lesson import EvidenceClaim, EvidenceSource
class ArrayAlgorithmEvidenceResolver:
async def resolve(self) -> tuple[list[EvidenceSource], list[EvidenceClaim]]:
source = EvidenceSource(source_id="builtin:clrs-sorting-search", origin="builtin", title="Introduction to Algorithms — Sorting and Searching", excerpt="Canonical reference metadata for comparison sorting, partitioning, merging, linear search, and binary search.", authority="canonical")
claims = [
EvidenceClaim(claim_id="array-sorting", text="A correct sorting algorithm returns the input values in nondecreasing order while preserving every input occurrence.", claim_type="standard_definition", support_level="canonical", source_ids=[source.source_id]),
EvidenceClaim(claim_id="array-search", text="Linear search examines candidates sequentially; binary search repeatedly halves a sorted search interval.", claim_type="standard_definition", support_level="canonical", source_ids=[source.source_id]),
EvidenceClaim(claim_id="array-binary-precondition", text="Binary search requires the array to be sorted under the same ordering used by the search.", claim_type="standard_definition", support_level="canonical", source_ids=[source.source_id]),
]
return [source], claims