# PR Q&A

oh-my-pr includes a built-in PR question-answering system that lets you interrogate your pull requests using natural language.

## Overview

Instead of manually reading through large diffs, you can ask questions like:

- "What does this PR change?"
- "Why did the tests fail?"
- "What are the architectural implications of this change?"
- "Does this PR introduce any security concerns?"

oh-my-pr queues the question as a durable background job and asks the configured local agent to answer from the PR context currently stored in the app.

## How to Use

1. Open a PR in the oh-my-pr dashboard.
2. Navigate to the **Q&A** tab.
3. Type your question and press Enter.

The agent will analyze the PR context and return a detailed answer within seconds.

## What the Agent Sees

When answering a question, the agent receives:

- PR metadata such as title, number, repository, branch, author, URL, status, and last check time.
- Current test/lint pass/fail fields when known.
- Feedback items stored on the PR, including status, decision, author, file, line, and a body excerpt.
- The most recent 50 activity log entries for the PR.

The Q&A agent does not fetch the full diff, commit history, external docs, or issue trackers unless that information is already present in the stored PR context or logs.

## Use Cases

### Code Review Assistance

Ask the agent to summarize changes before you start reviewing:

> "Summarize the key changes in this PR and flag anything that needs careful review."

### Debugging Failed Checks

When CI fails, ask the agent to diagnose:

> "The lint check is failing — what's causing it and how should it be fixed?"

### Architecture Review

For larger PRs, get a high-level understanding:

> "Does this PR change any public API surfaces? What are the breaking changes?"

## Limitations

- The agent only sees the PR context — it does not have access to external documentation or issue trackers.
- Answers are generated by AI and should be verified for critical decisions.
- Very large PRs (1000+ changed files) may exceed context limits.
