#Review rules
Review rules control whether a completed task auto-proceeds or waits for a human to look at it. The system uses a type-by-priority matrix. You configure it once and every agent follows the same rules.
#How it works
When an agent finishes a task and runs /jat:complete, the system checks two things: the task type and its priority. Based on your review rules, it either auto-closes the task or flags it for human review.
The logic is simple. Each task type has a maxAutoPriority threshold. Priorities at or above that number auto-proceed. Priorities below it require review.
Lower priority numbers mean higher urgency. P0 is critical, P4 is the lowest.
#The default matrix
Out of the box, JAT ships with these defaults:
| Type | P0 | P1 | P2 | P3 | P4 |
|---|---|---|---|---|---|
| bug | review | review | review | auto | auto |
| feature | review | review | review | auto | auto |
| task | review | review | auto | auto | auto |
| chore | review | auto | auto | auto | auto |
| epic | review | review | review | review | auto |
Epics are more conservative because they represent verification tasks. When all child tasks complete, the epic becomes ready and a human should check the overall result. Chores are more relaxed because they carry less risk.
#Configuring via Settings
Open the IDE and navigate to Settings > Autopilot. The review rules matrix appears as a clickable grid. Each cell toggles between two states:
- Green checkmark = auto-proceed
- Eye icon = requires human review
Click any cell to flip it. Changes save when you hit the Save button.
You can also add per-type notes. Click the notes column next to any type to add context like "Always review security-related bugs manually."
#Per-task overrides
Sometimes you want to override the matrix for a specific task. Two override values are available:
always_review- This task always needs a human, regardless of type and priorityalways_auto- This task always auto-proceeds
Set overrides from the CLI:
jt-set-review-override jat-abc always_review
jt-set-review-override jat-xyz always_autoOr configure them in the centralized review-rules.json file under the overrides array.
#Storage
Review rules live in ~/.config/jat/review-rules.json:
{
"version": 1,
"defaultAction": "review",
"priorityThreshold": 3,
"rules": [
{ "type": "bug", "maxAutoPriority": 3, "note": "P0-P2 bugs always need eyes" },
{ "type": "feature", "maxAutoPriority": 3 },
{ "type": "task", "maxAutoPriority": 2 },
{ "type": "chore", "maxAutoPriority": 1 },
{ "type": "epic", "maxAutoPriority": 4 }
],
"overrides": []
}The maxAutoPriority field means: tasks with priority >= this value auto-proceed. Set it to -1 to require review for all priorities of that type.
#CLI tools for review rules
# Show all current rules
jt-review-rules
# Set max auto-proceed priority for a type
jt-review-rules --type bug --max-auto 1
# Require review for all features
jt-review-rules --type feature --max-auto -1
# Check what would happen for a specific task
jt-check-review jat-abc
# Check all active tasks in batch
jt-check-review --batch#How agents use review rules
During /jat:complete, the agent emits a completion signal with either auto_proceed or review_required based on the review rules. The IDE reads this signal and either auto-spawns the next task or shows the completion for human review.
The evaluation chain runs in this order:
- Task-level override (always_review or always_auto)
- Centralized override (from review-rules.json overrides array)
- Type-specific rule (maxAutoPriority comparison)
- Default action (fallback if no rule matches the type)
#See also
- Workflow Commands - How /jat:complete uses review rules
- Automation Rules - Pattern-based session automation
- Agent Programs - Agent routing configuration