feat(obd_ai): add deterministic basic health scan workflow - #13
virtuscyber wants to merge 1 commit into
Conversation
🤖 Augment PR SummarySummary: This PR introduces a deterministic, read-only Changes:
Technical Notes: The scan is designed to be resilient to unsupported PIDs and transient read failures by returning per-command results and deriving a summarized status. 🤖 Was this summary useful? React with 👍 or 👎 |
| "codes": stored_codes, | ||
| }, | ||
| } | ||
| findings.append(anomaly) |
There was a problem hiding this comment.
status_unavailable is labeled with severity: "warning" but it’s not added to anomalies, so summary.overall_status can remain "ok" even when monitor status couldn’t be read. Consider whether this warning should influence the overall scan status similarly to other warning-level items.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| return None | ||
|
|
||
| magnitude = value.get("magnitude") | ||
| if isinstance(magnitude, (int, float)): |
There was a problem hiding this comment.
When a DTC read fails (ok: false), _extract_value_payload() returns None and _extract_dtc_codes() returns [], which is indistinguishable from a successful “no codes” result; this can make summary.stored_dtc_count/pending_dtc_count misleading. Consider whether the analysis/summary should preserve an explicit “DTC read failed/unknown” state.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Refs #4
Stacked on top of #3.
Includes: