Source code for src.dackar.RCA.signal_evidence.contracts

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: ...