aster review reviews a diff: the current branch, a range, a PR, or stdin.
How it works
- Hypothesize. A model reads the diff and forms candidate findings.
- Retrieve. A local symbol index pulls the code around each candidate, so the verifier sees context, not just the hunk.
- Verify. A second pass tries to refute each finding. What survives is reported; what is refuted is dropped.
- Shape. Findings carry file, line, severity, category, title, suggestion, and confidence.
--no-index skips the symbol index for
speed at the cost of evidence.
Configuration
Underreview: in aster.yaml:
model: auto tiers with ASTER_ROUTER_TIER=cheap|balanced|strong; aster model router shows the current pick. Environment overrides: ASTER_VERIFY_MODEL,
ASTER_HYPOTHESIS_MODEL, ASTER_VERIFY_CONCURRENCY.
In CI
--json prints findings as data; exit code reflects severity, so a plain
aster review --json step fails the build on a critical finding. The
--pr --comment pair posts findings inline on the PR. See
Fix for consuming the JSON.