"""Relevance / aboutness shadow path — #000052 §3.2.

SHADOW ONLY (same discipline cage as #000049's NLI shadow — see
arborist/qa/nli/__init__.py). Catches *topic-collision recombination*
— answers/claims that are on a different topic than their question or
cited source despite shared tokens (the 'Zionist entity' field case:
the verifier passes because every content token is present in the
source, NLI returns neutral because there's no contradiction, and the
lexical title-relevance sidecar passes because the cited title shares
a polysemous token with the claim) — a failure mode neither the
verifier nor the #000049 NLI veto catches.

Cross-encoder MS-MARCO reranker; returns a single relevance logit per
(query, document) pair. The transformers + torch runtime is the same
``[nli]`` optional extra; :func:`shadow_check_*` returns an
"unavailable" result rather than raising if the extra is not
installed, so importing this package is always safe.
"""
from .shadow import (
    ShadowRelevance,
    ShadowRelevanceResult,
    load_manifest,
    shadow_check_question_answer,
    shadow_check_claim_source,
)

__all__ = [
    "ShadowRelevance",
    "ShadowRelevanceResult",
    "load_manifest",
    "shadow_check_question_answer",
    "shadow_check_claim_source",
]
