fix(review): apply the no-issue-rationale exemption to all linked-issue findings - #4064
Conversation
…ue findings The "Linked issue" review-panel signal row already recognizes hasClearNoIssueRationale(pr) and shows a passing "no-issue rationale" state when a PR body has one, but 3 separate finding-generation sites never checked it, so they kept emitting missing-linked-issue findings anyway: - buildPreflightResult's missing_linked_issue (pre-flight/planning path) - buildPullRequestMaintainerPacket's missing_linked_issue (PR-review path) - buildFocusManifestGuidance's manifest_linked_issue_required (maintainer focus-manifest policy), now accepting a caller-computed hasNoIssueRationale since this function has no PR title/body of its own Discovered live on PR #3989 (JSONbored/gittensory): its body had a valid "No issue: ..." rationale, the Linked Issue signal correctly showed it, yet the panel still counted 2 blockers and repeated "No linked issue detected" in Suggested Action.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-07 21:09:37 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4064 +/- ##
=======================================
Coverage 93.59% 93.59%
=======================================
Files 380 380
Lines 35596 35597 +1
Branches 13050 13051 +1
=======================================
+ Hits 33316 33317 +1
Misses 1618 1618
Partials 662 662
🚀 New features to boost your workflow:
|
Summary
No issue: found and fixed as part of the ongoing review-stack reliability sweep; a self-contained follow-up didn't seem worth its own tracking issue.
hasClearNoIssueRationale(pr)and shows a passing "no-issue rationale" state when a PR body has one, but 3 separate finding-generation sites never checked it, so they kept emitting missing-linked-issue findings anyway:buildPreflightResult'smissing_linked_issue(pre-flight/planning path)buildPullRequestMaintainerPacket'smissing_linked_issue(PR-review path)buildFocusManifestGuidance'smanifest_linked_issue_required(maintainer focus-manifest policy) — now accepts a caller-computedhasNoIssueRationaleparam since this function has no PR title/body of its own; both callers (src/signals/local-branch.ts,src/queue/processors.ts) now pass it viahasClearNoIssueRationale.No issue: ...rationale, the Linked Issue signal correctly showed it, yet the panel still counted 2 blockers and repeated "No linked issue detected" in Suggested Action.Test plan
npm run typecheck— cleannpx vitest run test/unit/signals-coverage.test.ts test/unit/signals-v2.test.ts test/unit/signals.test.ts test/unit/focus-manifest.test.ts test/unit/local-branch.test.ts test/unit/queue.test.ts— all passed, including 3 new regression tests (one per site) proving the exemption, plus one existing test's assertion corrected (it was asserting the pre-fix buggy behavior for a fixture whose body already had a rationale)