"""Adjudication layer for Intelligence Pipeline v3.

This package provides:
- Schemas for adjudication candidates, conflicts, evidence, questions, and decisions
- Focused adjudication prompt building with strict JSON Schema output
- 9B adjudicator deployment configuration and VRAM gating
- Post-adjudication verification ensuring evidence grounding
"""

from services.intelligence_pipeline_v3.adjudication.deployment import (
    APPROVED_MODEL,
    APPROVED_VLLM_VERSION,
    AlertConfig,
    ConcurrencySemaphore,
    check_vram_gate,
    verify_structured_output,
)
from services.intelligence_pipeline_v3.adjudication.prompts import (
    AdjudicationPacket,
    PromptMetadata,
    build_adjudication_packet,
)
from services.intelligence_pipeline_v3.adjudication.schemas import (
    AdjudicationCandidate,
    AdjudicationDecision,
    AdjudicationQuestion,
    ConflictDescription,
    EvidencePacket,
)
from services.intelligence_pipeline_v3.adjudication.verification import (
    AdjudicationRecord,
    RejectionResult,
    preserve_pre_and_post,
    reject_unsupported_decisions,
    route_repeated_failures,
    verify_evidence_references,
)

__all__ = [
    "APPROVED_MODEL",
    "APPROVED_VLLM_VERSION",
    "AdjudicationCandidate",
    "AdjudicationDecision",
    "AdjudicationPacket",
    "AdjudicationQuestion",
    "AdjudicationRecord",
    "AlertConfig",
    "ConcurrencySemaphore",
    "ConflictDescription",
    "EvidencePacket",
    "PromptMetadata",
    "RejectionResult",
    "build_adjudication_packet",
    "check_vram_gate",
    "preserve_pre_and_post",
    "reject_unsupported_decisions",
    "route_repeated_failures",
    "verify_evidence_references",
    "verify_structured_output",
]
