Context
In CorrelationEngine::process_clear(), when a fault that is the representative of a pending cluster is cleared, the representative must be reassigned. For FIRST and MOST_RECENT policies this works correctly, but for HIGHEST_SEVERITY the reassignment falls back to codes.front() because PendingCluster does not store individual fault severities.
Current behavior
case Representative::HIGHEST_SEVERITY:
// fall back to first remaining fault
pending_cluster.representative_code = codes.front();
Expected behavior
Store per-fault severity in PendingCluster (e.g., std::map<std::string, std::string> fault_severities) so that the highest-severity fault can be accurately selected as the new representative.
Notes
Identified during review of #211 by @mfaferek93.