def build_result_cards(ranked_datasets: list[dict], top_n: int = 5) -> list[dict]: cards = [] for i, ds in enumerate(ranked_datasets[:top_n]): card = { "rank": i + 1, "name": ds.get("name", "Unknown"), "source": ds.get("source", "Unknown"), "relevance_score": ds.get("relevance_score", 0), "format": ds.get("format", "N/A"), "license": ds.get("license", "N/A"), "last_updated": ds.get("last_updated", "N/A"), "suitability_notes": ds.get("suitability_notes", ""), "url": ds.get("url", ""), "active_constraints": ds.get("active_constraints", {}) } cards.append(card) return cards