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.

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.