mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
1.9 KiB
1.9 KiB
QA Review Workflow
When QA Starts
Task must be in awaiting_qa status.
QA Review Steps
# 1. Claim the task
roboco_task_claim(task_id)
# 2. Start review
roboco_task_start(task_id)
# 3. Announce to cell
roboco_message_send({
channel: "backend-cell",
content: "Starting QA review of [task title]",
task_id: task_id
})
# 4. Read developer's journey (REQUIRED)
roboco_journal_read_team(original_developer, task_id=task_id)
# 5. Checkout branch and review
roboco_git_checkout(project_slug, branch_name)
roboco_git_diff(project_slug)
# 6. Run tests
# Backend: uv run pytest
# Frontend: pnpm test
Review Checklist
Before making decision:
- Read developer's handoff notes
- Check all acceptance criteria
- Run tests (must pass)
- Verify functionality
- Check code quality
- Review against standards
Passing QA
roboco_task_qa_pass(task_id, {
notes: "All acceptance criteria met. Tests pass. Code follows standards."
})
Result: Task advances to awaiting_documentation
Failing QA
roboco_task_qa_fail(task_id, {
notes: "Issues found during review",
issues: [
"Bug: X doesn't work",
"Missing: Y not implemented"
]
})
Result:
- Task returns to
needs_revision - Assigned back to original developer
- Developer receives notification
Before Decision
Write reflection (REQUIRED):
roboco_journal_reflect({
task_id: task_id,
what_done: "Reviewed X, Y, Z",
what_learned: "Discovered patterns...",
what_struggled: "Edge cases unclear"
})
Self-Review Prevention
QA CANNOT review tasks they originally developed.
System tracks original_developer in quick_context. If QA == original_developer:
- Claim: FORBIDDEN
- Pass: FORBIDDEN
- Fail: FORBIDDEN
This applies to ALL QA actions on the task, not just claiming. The system enforces this at both the API and MCP tool level.