Review flow
How Ernest handles pull request events and posts findings.
Ernest runs against GitHub pull request events from enabled repositories. It is designed to find harness, architecture, behavior, security, and operations risks rather than style-only nits.
Inspection lifecycle
Receive the GitHub event
GitHub sends a pull request event to Ernest.
Check product gates
Ernest checks onboarding, repository activation, and remaining Free bonus quota, Dev/Pro monthly quota, or Enterprise unlimited quota.
Prepare context
The inspection pipeline prepares repository context and the review harness builds a focused model context from the pull request diff and repository signals.
Produce findings
Model-assisted review produces findings focused on behavior, verification, security, operations, and architecture risk.
Post to GitHub
Ernest posts a GitHub check result and pull request review comments.
If a gate fails, Ernest should explain the blocked state in the pull request check instead of silently doing nothing.
Findings
Ernest focuses on behavior, verification, operations, security, and harness gaps. It should not post style-only noise.
Findings are concise and written for maintainers who need to decide whether the pull request is safe to merge. A good finding explains:
- what can break
- where it happens
- why the current change creates the risk
- what action would make the pull request safer
Ernest should not require the reader to infer the issue from a short title alone.
Inline comments and summaries
Ernest prefers inline review comments because they put the issue next to the relevant code. GitHub can reject inline comments when the line range is no longer part of the current pull request diff.
When inline posting fails, Ernest keeps the finding visible in the review summary so the issue is not lost.
Inline comments are best effort
GitHub controls whether a line range can receive an inline comment. Ernest keeps rejected inline findings in the summary instead of dropping them.
No findings
When Ernest finds no issue, it approves the pull request without adding extra comment text.
Re-review behavior
New commits can trigger a new inspection. Ernest compares the pull request against the target branch, not only against the previous commit, so findings stay scoped to the current pull request.
When a previously reported inline finding disappears after a new commit, Ernest adds a short addressed in <sha> reply. Ernest does not resolve GitHub conversations automatically.
Evidence
Ernest is adding an evidence layer for higher-confidence findings. The goal is to support important claims with deterministic checks, source search, manifest queries, sandbox runs, or other bounded probes before reviewers have to trust the model text.
