You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/commands/analyze-ci/create-report.md
+5-18Lines changed: 5 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -196,14 +196,8 @@ The HTML file must be a self-contained, single-file document with embedded CSS a
196
196
<divclass="collapsible-content">
197
197
<divclass="root-cause"><strong>Root Cause:</strong> Root cause description from summary</div>
198
198
<!-- Bug links from bug mapping file (if available) -->
199
-
<!-- Match issue title/error signature against ERROR_SIGNATURE values using token-overlap matching: -->
200
-
<!-- 1. Normalize both strings: lowercase, strip punctuation, remove stopwords (a, an, the, is, in, of, to, for, and, or, with, that, this, from, on, at, by) -->
<!-- 5. Match if: (a) exact substring match of either full string within the other (highest confidence=1.0), OR (b) ≥3 distinctive tokens overlap, OR (c) token coverage ≥60% -->
205
-
<!-- 6. Confidence score = overlap_count / min(set_a_size, set_b_size); ties broken by highest confidence, then longest ERROR_SIGNATURE -->
206
-
<!-- 7. Each issue matches at most one bug candidate (the highest-confidence match) -->
199
+
<!-- Match by comparing the issue title/error signature against ERROR_SIGNATURE values in the bug mapping -->
200
+
<!-- Use fuzzy matching: if significant keywords from the issue title appear in a bug candidate's ERROR_SIGNATURE, consider it a match -->
207
201
<divclass="bug-links">
208
202
<spanclass="bug-links-label">JIRA Bugs:</span>
209
203
<!-- For each matching JIRA duplicate (open bugs): -->
@@ -242,7 +236,8 @@ The HTML file must be a self-contained, single-file document with embedded CSS a
<divclass="root-cause"><strong>Root Cause:</strong> Root cause from PR summary</div>
244
238
<!-- Bug links from bug mapping file (if available for this rebase PR) -->
245
-
<!-- Match job root cause/error description against ERROR_SIGNATURE values using the same token-overlap algorithm described in the Periodics section above -->
239
+
<!-- Match by comparing the job's root cause/error description against ERROR_SIGNATURE values in the bug mapping -->
240
+
<!-- Use the same fuzzy keyword matching as the Periodics tab: if significant keywords from the root cause/error description appear in a bug candidate's ERROR_SIGNATURE, consider it a match -->
246
241
<divclass="bug-links">
247
242
<spanclass="bug-links-label">JIRA Bugs:</span>
248
243
<aclass="bug-tag bug-tag-open"href="https://issues.redhat.com/browse/USHIFT-XXXXX"title="Bug summary text [Status]">USHIFT-XXXXX</a>
- Do NOT re-analyze or reinterpret the data — use summary file content as-is
297
292
- Convert the plain text summary reports into HTML-formatted content, preserving all information
298
293
- Ensure all Prow job URLs from the summaries remain clickable links in the HTML
299
-
-**Bug Correlation**: For each issue in the TOP ISSUES section (Periodics tab) and each failed job entry (Pull Requests tab), attempt to match it against the bug candidates from the corresponding bug mapping file (`analyze-ci-bugs-<release>.txt` for releases, `analyze-ci-bugs-rebase-release-<version>.txt` for rebase PRs). Match by comparing the issue title/description or job root cause against the `ERROR_SIGNATURE` in each `--- BUG CANDIDATE ---` block using this token-overlap algorithm:
300
-
1.**Normalize** both strings: lowercase, strip punctuation, remove stopwords (`a, an, the, is, in, of, to, for, and, or, with, that, this, from, on, at, by`)
5.**Match criteria**: (a) exact substring match of either full string within the other (highest confidence=1.0), OR (b) ≥3 distinctive tokens overlap, OR (c) token coverage ≥60%
305
-
6.**Confidence score** = `overlap_count / min(set_a_size, set_b_size)`; ties broken by highest confidence, then longest `ERROR_SIGNATURE`
306
-
7. Each issue matches at most one bug candidate (the highest-confidence match)
307
-
When a match is found:
294
+
-**Bug Correlation**: For each issue in the TOP ISSUES section (Periodics tab) and each failed job entry (Pull Requests tab), attempt to match it against the bug candidates from the corresponding bug mapping file (`analyze-ci-bugs-<release>.txt` for releases, `analyze-ci-bugs-rebase-release-<version>.txt` for rebase PRs). Match by comparing the issue title/description or job root cause against the `ERROR_SIGNATURE` in each `--- BUG CANDIDATE ---` block — use fuzzy keyword matching (shared distinctive terms like tool names, test IDs, error codes). When a match is found:
308
295
- Show `JIRA_DUPLICATES` as clickable links with `bug-tag-open` styling (linking to `https://issues.redhat.com/browse/<KEY>`) with the summary from `JIRA_DUPLICATE_DETAILS` as the title attribute
309
296
- Show `JIRA_REGRESSIONS` as clickable links with `bug-tag-regression` styling (with ⟲ suffix) with the summary from `JIRA_REGRESSION_DETAILS` as the title attribute
310
297
- If no bug mapping file exists for a release, or no candidates match an issue, show `<span class="no-bugs">No tracked bugs</span>`
0 commit comments