fix(issue-quality): accept equivalent structured bug evidence - #1173
Conversation
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe PR extracts issue-quality validation into a reusable core module. It adds Markdown normalization, issue-kind and area detection, structured report validation, workflow safeguards, focused tests, and broader workflow test matching. ChangesIssue quality validation
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant IssueReport
participant issue-quality.cjs
participant issue-quality-core.cjs
participant ValidatorTests
IssueReport->>issue-quality.cjs: Submit issue
issue-quality.cjs->>issue-quality.cjs: Normalize equivalent bug evidence
issue-quality.cjs->>issue-quality-core.cjs: Detect kind and validate report
issue-quality-core.cjs-->>issue-quality.cjs: Return labels and validation result
ValidatorTests->>issue-quality.cjs: Check normalized bug evidence
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✅ Deterministic PR hygiene checks passed. |
|
@coderabbitai review |
|
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/scripts/issue-quality-core.cjs:
- Around line 157-196: Remove the per-character isInsideIndentedCode call and
its related branch from stripMarkdownImages, leaving image-token scanning and
output behavior unchanged. Remove the isInsideIndentedCode helper as well if the
repository search confirms it has no other callers; retain
protectIndentedCodeLines as the sole indented-code masking mechanism.
- Around line 1539-1551: Update shouldEnforceClosure so botState.active ===
false disables enforcement and returns false, while preserving the
maintainerOverride behavior; keep the JSDoc parameter shape aligned with the
implemented active-flag contract.
In @.github/scripts/issue-quality.cjs:
- Around line 24-29: Update extractEnvironmentField to normalize match[1] by
removing surrounding Markdown emphasis and code markers before comparing it with
the wanted field names, while preserving the existing value extraction. Add a
regression test in the equivalent-bug-evidence tests using “- **OpenCodex**:
2.10.2” and verify the version evidence is retained.
- Around line 8-18: Remove the duplicate “Steps to Reproduce” alias from
REPRODUCTION_ALIASES in .github/scripts/issue-quality.cjs (lines 8-18) and from
FREEFORM_BUG_NEAR_MISS_HEADINGS in .github/scripts/issue-quality-core.cjs (lines
1166-1177), relying on case-insensitive matching. In
looksLikeUntemplatedBugReport, collapse the separate extractSection calls for
both casings into a single call so one heading is counted and extracted once.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 110a7798-c193-4f9f-97c3-e21e507806d3
📒 Files selected for processing (4)
.github/scripts/issue-quality-core.cjs.github/scripts/issue-quality-equivalent-bug-evidence.test.cjs.github/scripts/issue-quality.cjs.github/workflows/issue-quality-tests.yml
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/scripts/issue-quality.cjs (1)
3-94: 🔒 Security & Privacy | 🔵 TrivialComplete the required security-boundary checks before merge.
Confirm that the PR targets
dev, required CI passes, the expanded issue-quality test workflow runs, and at least one maintainer approves the PR. Authors must not approve their own PR. The supplied files add no secrets, permission changes, dependency installation, or mutable third-party action references.As per path instructions,
.github/**is a security boundary and changes require the normal CI and maintainer review process.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/scripts/issue-quality.cjs around lines 3 - 94, Before merging the changes to normalizeEquivalentBugEvidence, confirm the PR targets dev, required CI and the expanded issue-quality workflow pass, and at least one maintainer approves. Ensure the approval is from someone other than the PR author, with no self-approval, and retain the existing security-boundary checks for .github changes.Source: Path instructions
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/scripts/issue-quality.cjs:
- Around line 3-94: Before merging the changes to
normalizeEquivalentBugEvidence, confirm the PR targets dev, required CI and the
expanded issue-quality workflow pass, and at least one maintainer approves.
Ensure the approval is from someone other than the PR author, with no
self-approval, and retain the existing security-boundary checks for .github
changes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 8485055b-4bbe-443c-bc88-a898043065ce
📒 Files selected for processing (2)
.github/scripts/issue-quality-equivalent-bug-evidence.test.cjs.github/scripts/issue-quality.cjs
|
@coderabbitai review |
|
Summary
Reproduction,Version, andOperating systemheadings.Environmentsection only when the canonical fields are absent.Related: #1162
Verification
Reproduction is empty,Version is missing,Operating system is missing.Checklist
Summary by CodeRabbit
New Features
Bug Fixes
Tests