246 lines
7.8 KiB
Markdown
246 lines
7.8 KiB
Markdown
# RedFlag Project Backlog System
|
|
|
|
This directory contains the structured backlog for the RedFlag project. Each task is documented as a standalone markdown file with detailed implementation requirements, test plans, and verification steps.
|
|
|
|
## 📁 Directory Structure
|
|
|
|
```
|
|
docs/3_BACKLOG/
|
|
├── README.md # This file - System overview and usage guide
|
|
├── INDEX.md # Master index of all backlog items
|
|
├── P0-001_*.md # Priority 0 (Critical) issues
|
|
├── P0-002_*.md
|
|
├── ...
|
|
├── P1-001_*.md # Priority 1 (Major) issues
|
|
├── ...
|
|
└── P5-*.md # Priority 5 (Future) items
|
|
```
|
|
|
|
## 🎯 Priority System
|
|
|
|
### Priority Levels
|
|
- **P0 - Critical:** Production blockers, security issues, data loss risks
|
|
- **P1 - Major:** High impact bugs, major feature gaps
|
|
- **P2 - Moderate:** Important improvements, medium-impact bugs
|
|
- **P3 - Minor:** Small enhancements, low-impact bugs
|
|
- **P4 - Enhancement:** Nice-to-have features, optimizations
|
|
- **P5 - Future:** Research items, long-term considerations
|
|
|
|
### Priority Rules
|
|
- **P0 = Must fix before next production deployment**
|
|
- **P1 = Should fix in current sprint**
|
|
- **P2 = Fix if time permits**
|
|
- **P3+ = Backlog for future consideration**
|
|
|
|
## 📋 Task Lifecycle
|
|
|
|
### 1. Task Creation
|
|
- Tasks are created when issues are identified during development, testing, or user feedback
|
|
- Each task gets a unique ID: `P{priority}-{sequence}_{descriptive-title}.md`
|
|
- Tasks must include all required sections (see Task Template below)
|
|
|
|
### 2. Task States
|
|
```mermaid
|
|
stateDiagram-v2
|
|
[*] --> TODO
|
|
TODO --> IN_PROGRESS
|
|
IN_PROGRESS --> IN_REVIEW
|
|
IN_REVIEW --> DONE
|
|
IN_PROGRESS --> BLOCKED
|
|
BLOCKED --> IN_PROGRESS
|
|
TODO --> WONT_DO
|
|
IN_REVIEW --> TODO
|
|
```
|
|
|
|
### 3. State Transitions
|
|
- **TODO → IN_PROGRESS:** Developer starts working on task
|
|
- **IN_PROGRESS → IN_REVIEW:** Implementation complete, ready for review
|
|
- **IN_REVIEW → DONE:** Approved and merged
|
|
- **IN_PROGRESS → BLOCKED:** External blocker encountered
|
|
- **BLOCKED → IN_PROGRESS:** Blocker resolved
|
|
- **IN_REVIEW → TODO:** Review fails, needs more work
|
|
- **TODO → WONT_DO:** Task no longer relevant
|
|
|
|
### 4. Completion Criteria
|
|
A task is considered **DONE** when:
|
|
- ✅ All "Definition of Done" items checked
|
|
- ✅ All test plan steps executed successfully
|
|
- ✅ Code review completed and approved
|
|
- ✅ Changes merged to target branch
|
|
- ✅ Task file updated with completion notes
|
|
|
|
## 📝 Task File Template
|
|
|
|
Each backlog item must follow this structure:
|
|
|
|
```markdown
|
|
# P{priority}-{sequence}: {Brief Title}
|
|
|
|
**Priority:** P{X} ({Critical|Major|Moderate|Minor|Enhancement|Future})
|
|
**Source Reference:** {Where issue was identified}
|
|
**Date Identified:** {YYYY-MM-DD}
|
|
**Status:** {TODO|IN_PROGRESS|IN_REVIEW|DONE|BLOCKED|WONT_DO}
|
|
|
|
## Problem Description
|
|
{Clear description of what's wrong}
|
|
|
|
## Reproduction Steps
|
|
{Step-by-step instructions to reproduce the issue}
|
|
|
|
## Root Cause Analysis
|
|
{Technical explanation of why the issue occurs}
|
|
|
|
## Proposed Solution
|
|
{Detailed implementation approach with code examples}
|
|
|
|
## Definition of Done
|
|
{Checklist of completion criteria}
|
|
|
|
## Test Plan
|
|
{Comprehensive testing strategy}
|
|
|
|
## Files to Modify
|
|
{List of files that need changes}
|
|
|
|
## Impact
|
|
{Explanation of why this matters}
|
|
|
|
## Verification Commands
|
|
{Commands to verify the fix works}
|
|
```
|
|
|
|
## 🚀 How to Work with Backlog
|
|
|
|
### For Developers
|
|
|
|
#### Starting a Task
|
|
1. **Choose a task** from `INDEX.md` based on priority and dependencies
|
|
2. **Check status** - ensure task is in TODO state
|
|
3. **Update task file** - change status to IN_PROGRESS, assign yourself
|
|
4. **Implement solution** - follow the proposed solution or improve it
|
|
5. **Run test plan** - execute all test steps
|
|
6. **Update task file** - add implementation notes, change status to IN_REVIEW
|
|
7. **Create pull request** - reference the task ID in PR description
|
|
|
|
#### Task Example Workflow
|
|
```bash
|
|
# Example: Working on P0-001
|
|
cd docs/3_BACKLOG/
|
|
|
|
# Update status in P0-001_Rate-Limit-First-Request-Bug.md
|
|
# Change "Status: TODO" to "Status: IN_PROGRESS"
|
|
# Add: "Assigned to: @yourusername"
|
|
|
|
# Implement the fix in codebase
|
|
# ...
|
|
|
|
# Run verification commands from task file
|
|
curl -I -X POST http://localhost:8080/api/v1/agents/register \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"hostname":"test"}'
|
|
|
|
# Update task file with results
|
|
# Change status to IN_PROGRESS or DONE
|
|
```
|
|
|
|
### For Project Managers
|
|
|
|
#### Sprint Planning
|
|
1. **Review INDEX.md** for current priorities and dependencies
|
|
2. **Select tasks** based on team capacity and business needs
|
|
3. **Check dependencies** - ensure prerequisite tasks are complete
|
|
4. **Assign tasks** to developers based on expertise
|
|
5. **Set sprint goals** - focus on completing P0 tasks first
|
|
|
|
#### Progress Tracking
|
|
- Check `INDEX.md` for overall backlog status
|
|
- Monitor task files for individual progress updates
|
|
- Review dependency map for sequence planning
|
|
- Use impact assessment for priority decisions
|
|
|
|
### For QA Engineers
|
|
|
|
#### Test Planning
|
|
1. **Review task files** for detailed test plans
|
|
2. **Create test cases** based on reproduction steps
|
|
3. **Execute verification commands** from task files
|
|
4. **Report results** back to task files
|
|
5. **Sign off tasks** when all criteria met
|
|
|
|
#### Test Execution Example
|
|
```bash
|
|
# From P0-001 test plan
|
|
# Test 1: Verify first request succeeds
|
|
curl -s -w "\nStatus: %{http_code}, Remaining: %{x-ratelimit-remaining}\n" \
|
|
-X POST http://localhost:8080/api/v1/agents/register \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-d '{"hostname":"test","os_type":"linux","os_version":"test","os_architecture":"x86_64","agent_version":"0.1.17"}'
|
|
|
|
# Expected: Status: 200/201, Remaining: 4
|
|
# Document results in task file
|
|
```
|
|
|
|
## 🔄 Maintenance
|
|
|
|
### Weekly Reviews
|
|
- **Monday:** Review current sprint progress
|
|
- **Wednesday:** Check for new issues to add
|
|
- **Friday:** Update INDEX.md with completion status
|
|
|
|
### Monthly Reviews
|
|
- **New task identification** from recent issues
|
|
- **Priority reassessment** based on business needs
|
|
- **Dependency updates** as codebase evolves
|
|
- **Process improvements** for backlog management
|
|
|
|
## 📊 Metrics and Reporting
|
|
|
|
### Key Metrics
|
|
- **Cycle Time:** Time from TODO to DONE
|
|
- **Lead Time:** Time from creation to completion
|
|
- **Throughput:** Tasks completed per sprint
|
|
- **Blocker Rate:** Percentage of tasks getting blocked
|
|
|
|
### Reports
|
|
- **Sprint Summary:** Completed tasks, velocity, blockers
|
|
- **Burndown Chart:** Remaining work over time
|
|
- **Quality Metrics:** Bug recurrence, test coverage
|
|
- **Team Performance:** Individual and team velocity
|
|
|
|
## 🎯 Current Priorities
|
|
|
|
Based on the latest INDEX.md analysis:
|
|
|
|
### Immediate Focus (This Sprint)
|
|
1. **P0-004:** Database Constraint Violation (enables audit trails)
|
|
2. **P0-001:** Rate Limit First Request Bug (unblocks new installs)
|
|
3. **P0-003:** Agent No Retry Logic (critical for reliability)
|
|
4. **P0-002:** Session Loop Bug (fixes user experience)
|
|
|
|
### Next Sprint
|
|
5. **P1-001:** Agent Install ID Parsing (enables upgrades)
|
|
6. **P1-002:** Agent Timeout Handling (reduces false errors)
|
|
|
|
## 🤝 Contributing
|
|
|
|
### Adding New Tasks
|
|
1. **Identify issue** during development, testing, or user feedback
|
|
2. **Create task file** using the template
|
|
3. **Determine priority** based on impact assessment
|
|
4. **Update INDEX.md** with new task information
|
|
5. **Notify team** of new backlog items
|
|
|
|
### Improving the Process
|
|
- **Suggest template improvements** for better task documentation
|
|
- **Propose priority refinements** for better decision-making
|
|
- **Share best practices** for task management and execution
|
|
- **Report tooling needs** for better backlog tracking
|
|
|
|
---
|
|
|
|
**Last Updated:** 2025-11-12
|
|
**Next Review:** 2025-11-19
|
|
**Backlog Maintainer:** Development Team Lead
|
|
|
|
For questions or improvements to this backlog system, please contact the development team or create an issue in the project repository. |