Overview
Priorities help you order work by importance and urgency. Tracer uses a 5-level priority system (0-4), where lower numbers mean higher priority.Priority Levels
Priority 0 - Critical
Urgent work that blocks everything else or represents severe issues.- Production outages or severe bugs
- Security vulnerabilities
- Data loss or corruption issues
- Critical blockers for launches or deployments
P0 should be rare. If everything is P0, nothing is. Reserve it for true emergencies.
- “Fix memory leak causing crashes”
- “Patch SQL injection vulnerability”
- “Restore backup after data corruption”
Priority 1 - High
Important work that should be done soon but isn’t an emergency.- High-impact features for upcoming releases
- Important bugs affecting many users
- Work that blocks other planned tasks
- Core functionality improvements
- “Add OAuth login support”
- “Fix pagination bug in user list”
- “Complete API endpoints for mobile app”
Priority 2 - Medium (Default)
Normal work that should be done but has no special urgency.- Standard features and enhancements
- Minor bugs with workarounds
- Routine maintenance tasks
- Most day-to-day work
P2 is the default priority if none is specified. It’s appropriate for the majority of issues.
- “Add dark mode support”
- “Improve error messages”
- “Write API documentation”
Priority 3 - Low
Nice-to-have work that can wait if higher priority items exist.- Technical debt and refactoring
- Minor UX improvements
- Performance optimizations (non-critical)
- Code cleanup and organization
- “Extract common validation logic”
- “Improve code comments”
- “Consolidate duplicate styles”
Priority 4 - Backlog
Work that might be done eventually but has no timeline.- Ideas and future possibilities
- Large projects without clear timelines
- Experimental or research work
- Things that might never be done
- “Explore microservices architecture”
- “Research A/B testing frameworks”
- “Add multi-language support”
Priority Validation
Priorities must be between 0 and 4 (seetypes.rs:44):
How Priority Affects Work
Ready Work Ordering
Thetracer ready command sorts by priority (ascending) then creation date (descending):
sqlite.rs:340:
- P0 issues appear first
- Within same priority, newer issues appear first
List Ordering
Similar ordering applies totracer list:
Filtering by Priority
You can filter to specific priorities:Changing Priority
Priorities can be updated as circumstances change:Priority Strategy
Distribution Guidelines
A healthy issue tracker might have:- P0: 0-5% (rare emergencies)
- P1: 10-20% (important near-term work)
- P2: 40-60% (bulk of work)
- P3: 20-30% (nice-to-haves)
- P4: 10-20% (backlog)
Reassess Regularly
Priorities should evolve:Priority vs. Status
Priority and status are independent:- High priority + Open: Do this next
- High priority + In Progress: Being worked on
- High priority + Blocked: Important but can’t proceed
- Low priority + Open: Do eventually
Best Practices
Don't overuse P0
Don't overuse P0
P0 should be rare and reserved for true emergencies. If you create multiple P0s per week, recalibrate your scale.Ask: “Is this truly blocking everything else right now?”
Use P1 for important planned work
Use P1 for important planned work
P1 is for high-impact work that should be done soon but isn’t an emergency.
Default to P2 for routine work
Default to P2 for routine work
When in doubt, use P2. You can always adjust later.
Use P3 for tech debt
Use P3 for tech debt
Refactoring and cleanup often deserve P3 - important but not urgent.
Capture ideas as P4
Capture ideas as P4
Don’t lose good ideas, but don’t commit to doing them.
Review and adjust priorities
Review and adjust priorities
As context changes, update priorities:
Priority and Dependencies
Priorities don’t affect dependency blocking:- bd-1 is P0 but can’t start (blocked by bd-2)
- bd-2 is P2 but must be done first
Dependencies create hard ordering. Consider promoting the priority of blocking issues to match what they block.
Querying by Priority
For advanced priority analysis, use JSON output:Statistics
Thestats command doesn’t break down by priority, but you can analyze manually:
Next Steps
- Learn about Status Workflow to understand issue lifecycle
- See Dependencies for managing blocking relationships
- Read Issues for core issue concepts