from __future__ import annotations
from typing import Any, Dict, Optional, Protocol
[docs]
JsonDict = Dict[str, Any]
[docs]
class SignalEvidenceBuilderContract(Protocol):
[docs]
def build(
self,
*,
run_id: str,
event: JsonDict,
telemetry_summary: JsonDict,
kg_context: JsonDict,
) -> JsonDict:
...
[docs]
class StageCScorerContract(Protocol):
[docs]
def score(
self,
event: JsonDict,
telemetry_summary: JsonDict,
kg_context: JsonDict,
operational_context: Optional[JsonDict],
run_context: JsonDict,
signal_evidence: Optional[JsonDict] = None,
) -> JsonDict:
...
[docs]
class StageFRefineContract(Protocol):
[docs]
def refine_with_evidence(
self,
causality_candidates: JsonDict,
evidence_bundle: JsonDict,
kg_context: Optional[JsonDict] = None,
signal_evidence: Optional[JsonDict] = None,
entity_normalizer_cfg: Optional[JsonDict] = None,
) -> JsonDict:
...