"""Programmatic complete source input, usable from an installed core-only wheel."""

from datetime import UTC, datetime
from ipaddress import ip_network

from rpkiparrot import MemoryStore
from rpkiparrot.config import FreshnessPolicy
from rpkiparrot.models import (
    EvaluationContext,
    OriginStatus,
    ParsedDataset,
    PayloadKind,
    Vrp,
    VrpRecord,
)
from rpkiparrot.validation import validate_origin


def main() -> None:
    """Evaluate at an explicit time; no production sample is promoted to trusted data."""
    generated = datetime(2026, 1, 1, tzinfo=UTC)
    source = ParsedDataset(
        present=frozenset({PayloadKind.VRP}),
        generated_at=generated,
        vrps=(VrpRecord(vrp=Vrp(prefix=ip_network("192.0.2.0/24"), max_length=24, asn=64496)),),
    )
    store = MemoryStore(context=EvaluationContext.offline(at=generated))
    snapshot = store.replace_source("host-input", source, freshness=FreshnessPolicy(max_age=3600))
    result = validate_origin(snapshot, "192.0.2.0/24", 64496, explain=True)
    assert result.status is OriginStatus.VALID
    print(result.status.value)


if __name__ == "__main__":
    main()
