Concepts
Sextant has a small, deliberately flat data model. Everything you’ll encounter in JSON output, MCP responses, and PR comments comes from these six types:
| Concept | What it is |
|---|---|
| Rule | A single check, identified by a dotted id (e.g. builtin.size.fn-length). |
| Finding | One match of a rule against a file, at a specific line range. |
| Report | The output of a grade — findings, severity counts, verdict, summary. |
| Verdict | approve or request_changes, derived from configured thresholds. |
| Evaluator | The kind of check a rule performs: builtin, regex, or llm. |
| Scope | The slice of code a grade covers: diff, file, or repo. |
The types live in the sextant-core crate and have no I/O dependencies —
the same definitions back the CLI’s JSON, the MCP server’s tool results,
and the GitHub Action’s review comment.
Recommended reading order
Section titled “Recommended reading order”If you’ve never used Sextant before, read in this order:
- Rule — what gets checked.
- Evaluator — how it gets checked.
- Finding — what comes out.
- Report — how findings are bundled.
- Verdict — how a report becomes approve / request_changes.
- Scope — where in the codebase a grade looks.
After that, the CLI reference and MCP tool reference read like API docs.