Build groups from stable evidence. Prefer a task identifier plus normalized error
signature. Normalize timestamps, GUIDs, retry counters, temporary paths, and
random ports. Keep stack context, command, and error code that distinguish two
otherwise similar messages.
Use these categories only when their evidence exists:
- Repeated task error.
- Task timeout.
- Cancellation.
- Workflow or agent failure.
- Unknown pipeline failure.
Call a group workflow or agent failure only when workflow/instance status,
critical error, or agent evidence supports it and no task failure explains the
pipeline. Do not infer infrastructure from the absence of a task log.
Reconcile the full pipeline picture before classification. A task can record
SUCCEEDED or a cache hit while the main job fails during artifact download,
validation, or restoration. Compare the run-group criticalErrorMessage, task
status, cache status, workflow status, and later cancellations. In that case,
classify the main-job cache restoration error as primary and the canceled runs as
consequences.
For every group, record its CIPE count, run-group count, affected task count,
first and last occurrence, branches/contexts, and one or two representative IDs.
Rank first by affected pipeline count, then recurrence, then blocked duration when
it is documented.