20 lines
817 B
Python
20 lines
817 B
Python
"""Adapter exposing the pure verifier registry through the application port."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from app.cad_agent.domain.verifier_registry import VerifierRegistry
|
|
|
|
|
|
class RegistryVerifierExecutor:
|
|
def __init__(self, registry: VerifierRegistry) -> None:
|
|
self.registry = registry
|
|
|
|
def evaluate(self, claims: list[dict[str, Any]], facts: dict[str, Any]) -> list[dict[str, Any]]:
|
|
results: list[dict[str, Any]] = []
|
|
for claim in claims:
|
|
result = self.registry.evaluate(str(claim["claim_kind"]), claim["expected"], facts)
|
|
results.append({"claim_id": claim["claim_id"], "claim_kind": claim["claim_kind"], "deterministic": self.registry.definition(str(claim["claim_kind"])).deterministic, **result})
|
|
return results
|