Skip to content

feat(review): add linked-issue satisfaction advisory + unified-comment section - #3833

Merged
JSONbored merged 1 commit into
mainfrom
feat/linked-issue-satisfaction-assessment
Jul 6, 2026
Merged

feat(review): add linked-issue satisfaction advisory + unified-comment section#3833
JSONbored merged 1 commit into
mainfrom
feat/linked-issue-satisfaction-assessment

Conversation

@JSONbored

@JSONbored JSONbored commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds the pure, AI-backed linked-issue satisfaction assessment core (feat(review): pure linked-issue satisfaction assessment builder (advisory finding) #2172): given the already-fetched linked-issue text plus a PR's title/body/diff, composes a bounded prompt and parses a model's response into a public-safe {status, rationale, confidence} result. Prompt composition and response parsing only -- no gate wiring, no AI-call orchestration, no disposition change.
  • Renders a resolved result as an additive, collapsed "Linked issue satisfaction" section in the unified review comment (feat(review): render linked-issue satisfaction as an advisory section in the unified comment #2174), reusing the existing collapsible + angle-escape helpers. Absent result omits the section entirely (byte-identical); review.comment_verbosity: quiet drops it like every other decorative collapsible.
  • Both slices are fail-safe: no issue text, unparseable model output, or a below-floor unaddressed call all yield no finding -- the model can never manufacture an unearned "you didn't fix this." Presentation is additive only and never changes status or the gate verdict.

Closes #2172, Closes #2174 -- both deliverables fully implemented in this PR. Advances #1961 (not closed -- the AI-call orchestration and any future gate.linkedIssueSatisfaction disposition wiring remain separate, maintainer-only slices).

Scope

Validation

  • git diff --check
  • npm run actionlint
  • npm run typecheck
  • npm run test:coverage locally -- 100% branch coverage on both changed files (src/services/linked-issue-satisfaction.ts, src/review/unified-comment.ts's new lines)
  • npm run test:workers
  • npm run build:mcp
  • npm run test:mcp-pack
  • npm run ui:openapi:check
  • npm run ui:lint
  • npm run ui:typecheck
  • npm run ui:build
  • npm audit --audit-level=moderate
  • New or changed behavior has unit/integration tests for new branches, fallback paths, and sanitizer boundaries

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Auth, cookie, CORS, GitHub App, Cloudflare, or session changes include negative-path tests. (N/A -- no such changes in this PR.)
  • API/OpenAPI/MCP behavior is updated and tested where needed. (N/A -- no API/OpenAPI/MCP surface touched.)
  • UI changes use live API data or real empty/error/loading states, not production mock/demo fallbacks. (N/A -- no frontend UI touched; this only affects the GitHub PR comment renderer.)
  • Visible UI changes include a UI Evidence section below. (N/A -- no visible frontend/UI change; this renders inside a GitHub PR comment, not the web app.)
  • Public docs/changelogs are updated where needed; changelogs are only edited for release-prep PRs.

Notes

  • src/services/linked-issue-satisfaction.ts mirrors src/services/ai-slop.ts's pure-helper shape (prompt builder + response parser + finding builder, no I/O) -- the actual AI-call orchestration (budget, provider selection, usage accounting) is intentionally out of scope for feat(review): pure linked-issue satisfaction assessment builder (advisory finding) #2172 per its own deliverables checklist.
  • The confidence floor (LINKED_ISSUE_SATISFACTION_CONFIDENCE_FLOOR = 0.5) only gates the unaddressed verdict, matching the issue's fail-safe requirement ("low confidence never emits 'unaddressed'"); addressed/partial are unaffected since a false-positive "looks addressed" is a lower-stakes error.

…t section

Adds the pure, AI-backed assessment core (#2172): given the already-fetched
linked-issue text plus the PR title/body/diff, compose a bounded prompt and
parse a model's response into a public-safe {status, rationale, confidence}
result. Fail-safe throughout -- no issue text, unparseable output, or a
below-floor "unaddressed" call all yield no finding, so the model can never
manufacture an unearned "you didn't fix this". Prompt composition and
response parsing only; no gate wiring, no AI-call orchestration, no
disposition change.

Also renders a resolved result as an additive, collapsed "Linked issue
satisfaction" section in the unified review comment (#2174), reusing the
existing collapsible + angle-escape helpers. Absent result omits the section
entirely; review.comment_verbosity: quiet drops it like every other
decorative collapsible. Presentation only -- never changes status or the
gate verdict.
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.42%. Comparing base (ca6a6d7) to head (3ebfcd2).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3833   +/-   ##
=======================================
  Coverage   93.41%   93.42%           
=======================================
  Files         326      327    +1     
  Lines       32855    32897   +42     
  Branches    12035    12051   +16     
=======================================
+ Hits        30691    30733   +42     
  Misses       1530     1530           
  Partials      634      634           
Files with missing lines Coverage Δ
src/review/unified-comment.ts 99.51% <100.00%> (+0.01%) ⬆️
src/services/linked-issue-satisfaction.ts 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 6, 2026
@loopover-orb

loopover-orb Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Important

🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪

🔍 Gittensory is reviewing…

AI analysis is in progress. This comment will update when the review is complete.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟪 Reviewing

@loopover-orb loopover-orb Bot added the manual-review Gittensor contributor context label Jul 6, 2026
@JSONbored
JSONbored merged commit 7ca782f into main Jul 6, 2026
10 checks passed
@JSONbored
JSONbored deleted the feat/linked-issue-satisfaction-assessment branch July 6, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. manual-review Gittensor contributor context

Projects

None yet

1 participant