mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
Bringing back some old friends
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
# Developer Workflow
|
||||
|
||||
## Overview
|
||||
|
||||
Developers (be-dev-1, be-dev-2, fe-dev-1, fe-dev-2, ux-dev) execute implementation tasks.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────┐
|
||||
│ DEVELOPER WORKFLOW │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
1. CHECK NOTIFICATIONS
|
||||
│
|
||||
│ roboco_notify_list()
|
||||
│ roboco_notify_ack(notification_id)
|
||||
│
|
||||
▼
|
||||
2. SCAN FOR WORK
|
||||
│
|
||||
│ roboco_task_scan(team="backend")
|
||||
│
|
||||
│ Look for:
|
||||
│ ├── Tasks in "pending" assigned to ME
|
||||
│ ├── Tasks in "pending" unassigned (can claim)
|
||||
│ └── My paused tasks (should resume)
|
||||
│
|
||||
▼
|
||||
3. CLAIM TASK
|
||||
│
|
||||
│ roboco_task_claim(task_id)
|
||||
│
|
||||
│ ┌─────────────────────────────────────────────────────────────────┐
|
||||
│ │ BEFORE: │
|
||||
│ │ status: pending │
|
||||
│ │ assigned_to: null OR my_id (if PM pre-assigned) │
|
||||
│ │ │
|
||||
│ │ AFTER: │
|
||||
│ │ status: claimed │
|
||||
│ │ assigned_to: my_id │
|
||||
│ │ claimed_at: now │
|
||||
│ └─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
4. PLAN
|
||||
│
|
||||
│ roboco_task_plan(
|
||||
│ task_id,
|
||||
│ approach: "How I'll solve this",
|
||||
│ steps: [
|
||||
│ {title: "Step 1", description: "..."},
|
||||
│ {title: "Step 2", description: "..."}
|
||||
│ ],
|
||||
│ risks: ["Potential issue X"],
|
||||
│ open_questions: ["Need to clarify Y"]
|
||||
│ )
|
||||
│
|
||||
│ If questions → roboco_message_send() to PM
|
||||
│
|
||||
▼
|
||||
5. START WORK
|
||||
│
|
||||
│ roboco_task_start(task_id)
|
||||
│
|
||||
│ STATUS: claimed → in_progress
|
||||
│
|
||||
▼
|
||||
6. EXECUTE (loop)
|
||||
│
|
||||
│ ┌─────────────────────────────────────────────────────────────────┐
|
||||
│ │ While working: │
|
||||
│ │ │
|
||||
│ │ roboco_task_progress(task_id, "Completed X", 25) │
|
||||
│ │ roboco_task_progress(task_id, "Working on Y", 50) │
|
||||
│ │ roboco_task_progress(task_id, "Almost done", 75) │
|
||||
│ │ │
|
||||
│ │ roboco_journal_entry({ │
|
||||
│ │ type: "work_log", │
|
||||
│ │ content: "What I did and learned" │
|
||||
│ │ }) │
|
||||
│ │ │
|
||||
│ │ If BLOCKED: │
|
||||
│ │ roboco_task_block(task_id, blocker_task_id) ← blocked by │
|
||||
│ │ OR another task │
|
||||
│ │ roboco_task_escalate(task_id, reason) ← need PM help │
|
||||
│ │ │
|
||||
│ │ If need to PAUSE: │
|
||||
│ │ roboco_task_pause(task_id, reason, checkpoint, remaining) │
|
||||
│ └─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
7. SELF-VERIFY
|
||||
│
|
||||
│ roboco_task_submit_verification(task_id)
|
||||
│
|
||||
│ STATUS: in_progress → verifying
|
||||
│
|
||||
│ ┌─────────────────────────────────────────────────────────────────┐
|
||||
│ │ Self-check: │
|
||||
│ │ ├── Does it meet acceptance criteria? │
|
||||
│ │ ├── Did I run tests? │
|
||||
│ │ ├── Is the code clean? │
|
||||
│ │ └── Are my notes complete? │
|
||||
│ └─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
8. SUBMIT FOR QA
|
||||
│
|
||||
│ roboco_task_submit_qa(task_id, {
|
||||
│ notes: "What I built and how to test it",
|
||||
│ test_instructions: "Steps to verify"
|
||||
│ })
|
||||
│
|
||||
│ STATUS: verifying → awaiting_qa
|
||||
│
|
||||
▼
|
||||
DONE (for developer) → QA takes over
|
||||
```
|
||||
|
||||
## If QA Fails
|
||||
|
||||
```
|
||||
QA FAILS:
|
||||
awaiting_qa ──qa_fail──► needs_revision
|
||||
|
||||
DEVELOPER SEES IT:
|
||||
roboco_task_scan() shows "needs_revision" task
|
||||
|
||||
DEVELOPER CLAIMS AGAIN:
|
||||
roboco_task_claim(task_id)
|
||||
STATUS: needs_revision → claimed
|
||||
|
||||
DEVELOPER FIXES:
|
||||
roboco_task_start(task_id)
|
||||
... fix issues ...
|
||||
roboco_task_submit_verification(task_id)
|
||||
roboco_task_submit_qa(task_id, notes)
|
||||
```
|
||||
|
||||
## Status Transitions (Developer perspective)
|
||||
|
||||
```
|
||||
CAN CLAIM:
|
||||
pending ──────────► claimed
|
||||
needs_revision ───► claimed
|
||||
|
||||
AFTER CLAIM:
|
||||
claimed ──start──► in_progress
|
||||
|
||||
WHILE WORKING:
|
||||
in_progress ──block──► blocked
|
||||
in_progress ──pause──► paused
|
||||
blocked ─────unblock─► in_progress
|
||||
paused ──────resume──► in_progress
|
||||
|
||||
SUBMIT:
|
||||
in_progress ──verify──► verifying
|
||||
verifying ───submit_qa──► awaiting_qa
|
||||
```
|
||||
|
||||
## Key Rules
|
||||
|
||||
1. **CLAIM before anything** - Must claim to own the task
|
||||
2. **PLAN before START** - roboco_task_plan() required before start()
|
||||
3. **PROGRESS updates** - Keep PM informed with percentage
|
||||
4. **JOURNAL your work** - Document decisions, learnings, struggles
|
||||
5. **SELF-VERIFY first** - Check your own work before QA
|
||||
6. **Cannot COMPLETE** - Only PM completes tasks after full workflow
|
||||
7. **One task at a time** - Can't claim new task while one is in_progress
|
||||
Reference in New Issue
Block a user