src.dackar.RCA.signal_evidence.builder¶
Attributes¶
Functions¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Build the Stage B.5 signal-evidence bundle for one RCA run. |
Module Contents¶
- src.dackar.RCA.signal_evidence.builder._to_float(value, default=0.0)[source]¶
- Parameters:
value (Any)
default (float)
- Return type:
float
- src.dackar.RCA.signal_evidence.builder._component_sensor_map(kg_context)[source]¶
- Parameters:
kg_context (JsonDict)
- Return type:
Tuple[Dict[str, str], Dict[str, Set[str]]]
- src.dackar.RCA.signal_evidence.builder._event_window(event, kg_context, fetch_lookback_hours, fetch_lookahead_hours)[source]¶
- src.dackar.RCA.signal_evidence.builder._baseline_anomalies(telemetry_summary, sensor_to_component)[source]¶
- Parameters:
telemetry_summary (JsonDict)
sensor_to_component (Dict[str, str])
- Return type:
- src.dackar.RCA.signal_evidence.builder._merge_anomalies(baseline, historian, *, dedup_tolerance_min=5.0)[source]¶
- Parameters:
baseline (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
historian (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
dedup_tolerance_min (float)
- Return type:
- src.dackar.RCA.signal_evidence.builder._build_propagation_dag(anomalies, neo4j_client, database)[source]¶
- Parameters:
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
neo4j_client (Optional[Any])
database (Optional[str])
- Return type:
Tuple[List[src.dackar.RCA.signal_evidence.models.PropagationEdge], List[dict]]
- src.dackar.RCA.signal_evidence.builder._classify_nodes(anomalies, edges)[source]¶
- Parameters:
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
edges (List[src.dackar.RCA.signal_evidence.models.PropagationEdge])
- Return type:
Dict[int, src.dackar.RCA.signal_evidence.models.NodeTopology]
- src.dackar.RCA.signal_evidence.builder._extract_contributing_candidates(node_topology, edges, failure_modes, anomalies)[source]¶
- Parameters:
node_topology (Dict[int, src.dackar.RCA.signal_evidence.models.NodeTopology])
edges (List[src.dackar.RCA.signal_evidence.models.PropagationEdge])
failure_modes (List[JsonDict])
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
- Return type:
Dict[str, dict]
- src.dackar.RCA.signal_evidence.builder._find_maximal_paths(anomalies, edges, *, max_paths, chain_warnings)[source]¶
- Parameters:
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
edges (List[src.dackar.RCA.signal_evidence.models.PropagationEdge])
max_paths (int)
chain_warnings (List[dict])
- Return type:
List[List[int]]
- src.dackar.RCA.signal_evidence.builder._build_node_object(idx, next_idx, anomalies, edge_lookup, node_topology)[source]¶
- Parameters:
idx (int)
next_idx (Optional[int])
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
edge_lookup (Dict[Tuple[int, int], src.dackar.RCA.signal_evidence.models.PropagationEdge])
node_topology (Dict[int, src.dackar.RCA.signal_evidence.models.NodeTopology])
- Return type:
dict
- src.dackar.RCA.signal_evidence.builder._score_chain(path, anomalies, edges, node_topology)[source]¶
- Parameters:
path (List[int])
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
edges (List[src.dackar.RCA.signal_evidence.models.PropagationEdge])
node_topology (Dict[int, src.dackar.RCA.signal_evidence.models.NodeTopology])
- Return type:
- src.dackar.RCA.signal_evidence.builder._per_candidate_scores(failure_modes, chains, anomalies, node_topology, contributing_candidates)[source]¶
- Parameters:
failure_modes (List[JsonDict])
chains (List[src.dackar.RCA.signal_evidence.models.ScoredChain])
anomalies (List[src.dackar.RCA.signal_evidence.models.AnomalyRecord])
node_topology (Dict[int, src.dackar.RCA.signal_evidence.models.NodeTopology])
contributing_candidates (Dict[str, dict])
- Return type:
Dict[str, dict]
- src.dackar.RCA.signal_evidence.builder.build_signal_evidence(*, run_id, event, telemetry_summary, kg_context, neo4j_client=None, neo4j_database=None, historian_adapter=None, fetch_lookback_hours=72.0, fetch_lookahead_hours=4.0, dedup_tolerance_min=5.0, max_paths=20, max_chains=10)[source]¶
Build the Stage B.5 signal-evidence bundle for one RCA run.
Merges baseline telemetry anomalies with historian-fetched anomalies, builds a component-level propagation DAG from Allen temporal relations and KG reachability, classifies node topology, enumerates and scores propagation chains, and derives per-failure-mode chain-position scores.
- Parameters:
run_id (str) – Identifier for this analysis run; echoed into the bundle.
event (JsonDict) – Triggering event;
timestamp_start/timestampandtimestamp_endseed the analysis window.telemetry_summary (JsonDict) – Stage-B summary whose
signals[].anomaliessupply the baseline anomaly set.kg_context (JsonDict) – KG context providing
components[].monitored_variable_ids(the sensor↔component map) andfailure_modes.neo4j_client (Optional[Any]) – Optional live graph client. When
None(the default),is_upstreamdegrades toFalseandresolve_edge_typeto"mixed", so no propagation edges are built and the DAG, all propagation chains, and per-candidate scores come back empty; a{"type": "topology_unavailable"}entry is added tochain_warningsso consumers can tell this apart from “analyzed, no propagation found”.neo4j_database (Optional[str]) – Target Neo4j database;
Noneuses the driver default.historian_adapter (Optional[src.dackar.RCA.signal_evidence.historian_adapter.HistorianAdapter]) – Anomaly source; defaults to
NullHistorianAdapter(records a gap per sensor and returns no anomalies).fetch_lookback_hours (float) – Hours before the event to widen the window (raised to the largest failure-mode
expected_latency_max_hourswhen that is greater).fetch_lookahead_hours (float) – Hours after the event to widen the window.
dedup_tolerance_min (float) – Minutes within which a historian anomaly is treated as a duplicate of a same-sensor baseline anomaly.
max_paths (int) – Cap on enumerated propagation paths (DFS guard).
max_chains (int) – Cap on scored chains retained in the bundle.
- Returns:
run_id,generated_at,augmented_anomaly_set,propagation_chains(scored, ranked),per_candidate_chain_score,dag_topology_summary,chain_coverage,augmented_anomaly_count,historian_anomaly_count,fetch_gapsandchain_warnings.- Return type:
A JSON-serializable dict with keys