"""Coverage request/response schemas."""

from datetime import datetime

from pydantic import BaseModel, ConfigDict


class CoverageRead(BaseModel):
    """Serialized coverage object."""

    model_config = ConfigDict(from_attributes=True)

    id: int
    engagement_id: int
    phase_status: dict[str, str]
    updated_at: datetime


class CoverageSummaryRead(BaseModel):
    """Coverage engine response payload."""

    engagement_id: int
    coverage_score: int
    phases: dict[str, str]
    gaps: list[str]
    recommendations: list[str]
