mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
121 lines
6.6 KiB
Markdown
121 lines
6.6 KiB
Markdown
# QA Workflow
|
|
|
|
## Overview
|
|
|
|
QA agents (be-qa, fe-qa, ux-qa) verify developer work meets acceptance criteria.
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ QA WORKFLOW │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
1. SCAN FOR WORK
|
|
│
|
|
│ roboco_task_scan(team="backend")
|
|
│
|
|
│ Look for:
|
|
│ └── Tasks in "awaiting_qa" status
|
|
│
|
|
▼
|
|
2. CLAIM TASK
|
|
│
|
|
│ roboco_task_claim(task_id)
|
|
│
|
|
│ ┌─────────────────────────────────────────────────────────────────┐
|
|
│ │ QA can ONLY claim tasks in "awaiting_qa" │
|
|
│ │ │
|
|
│ │ BEFORE: │
|
|
│ │ status: awaiting_qa │
|
|
│ │ assigned_to: original_developer │
|
|
│ │ │
|
|
│ │ AFTER: │
|
|
│ │ status: claimed │
|
|
│ │ assigned_to: qa_agent │
|
|
│ │ (original_developer stored in quick_context) │
|
|
│ └─────────────────────────────────────────────────────────────────┘
|
|
│
|
|
▼
|
|
3. START REVIEW
|
|
│
|
|
│ roboco_task_start(task_id)
|
|
│
|
|
│ STATUS: claimed → in_progress
|
|
│
|
|
▼
|
|
4. REVIEW WORK
|
|
│
|
|
│ ┌─────────────────────────────────────────────────────────────────┐
|
|
│ │ Review checklist: │
|
|
│ │ ├── Read developer's handoff notes │
|
|
│ │ ├── Check acceptance criteria │
|
|
│ │ ├── Run tests │
|
|
│ │ ├── Verify functionality │
|
|
│ │ └── Check code quality │
|
|
│ │ │
|
|
│ │ roboco_task_progress(task_id, "Reviewing X", 50) │
|
|
│ │ roboco_journal_entry({type: "qa_review", ...}) │
|
|
│ └─────────────────────────────────────────────────────────────────┘
|
|
│
|
|
▼
|
|
5. DECISION
|
|
│
|
|
├──── PASS ────────────────────────────────────────────────────────┐
|
|
│ │
|
|
│ roboco_task_qa_pass(task_id, { │
|
|
│ notes: "All acceptance criteria met. Tests pass." │
|
|
│ }) │
|
|
│ │
|
|
│ STATUS: in_progress → awaiting_documentation │
|
|
│ → Documenter takes over │
|
|
│ │
|
|
└──── FAIL ────────────────────────────────────────────────────────┐
|
|
│
|
|
roboco_task_qa_fail(task_id, { │
|
|
notes: "Issues found", │
|
|
issues: [ │
|
|
"Bug: X doesn't work", │
|
|
"Missing: Y not implemented" │
|
|
] │
|
|
}) │
|
|
│
|
|
STATUS: in_progress → needs_revision │
|
|
ASSIGNED_TO: back to original_developer │
|
|
→ Developer fixes and resubmits │
|
|
│
|
|
▼
|
|
DONE (for QA)
|
|
```
|
|
|
|
## Self-Review Prevention
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ QA CANNOT review tasks they originally developed │
|
|
│ │
|
|
│ System tracks original_developer in quick_context │
|
|
│ If QA agent == original_developer → FORBIDDEN │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Status Transitions (QA perspective)
|
|
|
|
```
|
|
CAN CLAIM:
|
|
awaiting_qa ──claim──► claimed
|
|
|
|
AFTER CLAIM:
|
|
claimed ──start──► in_progress
|
|
|
|
DECISIONS:
|
|
in_progress ──qa_pass──► awaiting_documentation
|
|
in_progress ──qa_fail──► needs_revision
|
|
```
|
|
|
|
## Key Rules
|
|
|
|
1. **Only claim awaiting_qa** - Can't claim pending tasks
|
|
2. **Cannot self-review** - Can't QA your own dev work
|
|
3. **Thorough notes** - Document what was tested and why
|
|
4. **Clear fail reasons** - Developer needs to know what to fix
|
|
5. **Cannot COMPLETE** - Only PM completes after docs
|