Skip to content

Feed reviewers PR/MR description + linked-issue acceptance criteria (diffsmith-144) - #4

Merged
selyafi merged 2 commits into
mainfrom
feat/reviewer-context-144
Jun 11, 2026
Merged

Feed reviewers PR/MR description + linked-issue acceptance criteria (diffsmith-144)#4
selyafi merged 2 commits into
mainfrom
feat/reviewer-context-144

Conversation

@selyafi

@selyafi selyafi commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Reviewers now receive the PR/MR description and the acceptance criteria from issues the PR/MR formally closes, rendered in a # Intent section before the diff — so a diff-only reviewer can flag scope drift and unmet criteria.
  • New optional review.LinkedIssueFetcher provider capability: GitHub resolves closingIssuesReferencesgh issue view; GitLab uses glab api .../closes_issues. Description is captured for free inside Fetch.
  • Context is budget-capped (8 KiB description, 8 KiB per issue body, first 10 issues) and every truncation/failure is surfaced in the run summary — never silently dropped.
  • --no-context opts out entirely: withholds the description and skips the linked-issue fetch (no extra network).
  • Enrichment is never a gate — a fetch failure becomes a surfaced note and the review proceeds on the diff.

Test plan

  • go build ./... && go vet ./... && go test ./... — 444 tests pass
  • Dogfooded --print-prompt on live PRs: IFW #277 renders description + issue #247 acceptance criteria; --no-context strips it; ncspot #1716 (no linked issue) → description-only
  • Optional: full model-backed review in the TUI against a real PR

🤖 Generated with Claude Code

selyafi added 2 commits June 10, 2026 21:58
…ontext notes on total failure, --no-context print-prompt tests (diffsmith-144)
@selyafi
selyafi merged commit 7b32c7c into main Jun 11, 2026
2 checks passed
@selyafi
selyafi deleted the feat/reviewer-context-144 branch June 11, 2026 07:43
selyafi added a commit that referenced this pull request Jun 11, 2026
…h-h7a)

When every reviewer fails, contextNotes were sent as a PhaseStatusMsg
one message before LoadErrorMsg — but the loader's error view renders
only the error, and loader.Err() is what cobra prints on exit, so the
notes vanished exactly when they help explain the failure. Join them
into the aggregated error instead and drop the dead status send.

Found by codex reviewing PR #4 during the diffsmith-ce8 verification
run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant