Files
roboco/docs/workflows/README.md
T

186 lines
7.1 KiB
Markdown
Raw Normal View History

2025-12-25 23:06:41 +01:00
# Workflow Documentation
## Quick Start
| I am a... | Start here |
|-----------|------------|
| Developer | [DEVELOPER.md](./DEVELOPER.md) → [AGENT_CHEATSHEET.md](./AGENT_CHEATSHEET.md) |
| QA | [QA.md](./QA.md) → [AGENT_CHEATSHEET.md](./AGENT_CHEATSHEET.md) |
| Documenter | [DOCUMENTER.md](./DOCUMENTER.md) → [AGENT_CHEATSHEET.md](./AGENT_CHEATSHEET.md) |
| Cell PM | [PM.md](./PM.md) → [PERMISSIONS.md](./PERMISSIONS.md) |
| Main PM | [PM.md](./PM.md) → [PERMISSIONS.md](./PERMISSIONS.md) |
---
## Documentation Index
### Core Workflows
| Document | Description |
|----------|-------------|
| [STATUS_TRANSITIONS.md](./STATUS_TRANSITIONS.md) | Complete task lifecycle diagram |
| [PM.md](./PM.md) | Main PM and Cell PM workflows |
| [DEVELOPER.md](./DEVELOPER.md) | Developer workflow |
| [QA.md](./QA.md) | QA workflow |
| [DOCUMENTER.md](./DOCUMENTER.md) | Documenter workflow |
### Reference
| Document | Description |
|----------|-------------|
| [PERMISSIONS.md](./PERMISSIONS.md) | Tool, channel, notification permissions |
| [AGENT_CHEATSHEET.md](./AGENT_CHEATSHEET.md) | Quick reference per role |
### Activities
| Document | Description |
|----------|-------------|
| [JOURNALING.md](./JOURNALING.md) | How to journal effectively |
| [COMMUNICATION.md](./COMMUNICATION.md) | Messages and channels |
| [ESCALATION.md](./ESCALATION.md) | When and how to escalate |
| [KNOWLEDGE_BASE.md](./KNOWLEDGE_BASE.md) | Searching past work |
| [GIT_WORKFLOW.md](./GIT_WORKFLOW.md) | Git conventions (future) |
### Bug Tracking
| Document | Description |
|----------|-------------|
| [BUGS.md](./BUGS.md) | Known issues and fixes |
---
## The Big Picture
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ROBOCO WORKFLOW │
└─────────────────────────────────────────────────────────────────────────────┘
BOARD/CEO
│ Creates initiative
MAIN PM
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
BE-PM FE-PM UX-PM
│ │ │
┌──────────┼──────────┐ │ ┌──────────┼──────────┐
│ │ │ │ │ │ │
▼ ▼ ▼ │ ▼ ▼ ▼
BE-DEV-1 BE-DEV-2 BE-QA │ FE-DEV-1 FE-DEV-2 FE-QA
│ │ │ │ │ │ │
└────┬─────┘ │ │ └────┬─────┘ │
│ │ │ │ │
▼ ▼ │ ▼ ▼
SUBMITS TO QA ───► REVIEWS │ SUBMITS TO QA ───► REVIEWS
│ │ │ │ │
▼ ▼ │ ▼ ▼
BE-DOC ◄───── QA PASSES │ FE-DOC ◄───── QA PASSES
│ │ │
▼ │ ▼
AWAITING_PM_REVIEW ◄───────┼─── AWAITING_PM_REVIEW
│ │ │
└─────────────────────┴─────────┘
COMPLETED
```
---
## Task Lifecycle Summary
```
BACKLOG → PENDING → CLAIMED → IN_PROGRESS → VERIFYING → AWAITING_QA
┌─────────────────────────┴─────────────────────────┐
│ │
QA PASSES QA FAILS
│ │
▼ ▼
AWAITING_DOCUMENTATION NEEDS_REVISION
│ │
DOCS COMPLETE (back to dev)
AWAITING_PM_REVIEW
PM COMPLETES
COMPLETED
```
---
## Key Principles
1. **Everything is a task** - All work is tracked
2. **Tasks start in BACKLOG** - PM setup phase
3. **ACTIVATE before claim** - Makes task visible to workers
4. **CLAIM before work** - Takes ownership
5. **PLAN before START** - Required planning step
6. **PROGRESS updates** - Keep PM informed
7. **SELF-VERIFY first** - Check your work before QA
8. **JOURNAL as you go** - Document decisions, learnings, struggles
9. **No self-review** - QA/Docs can't review own work
10. **Only PM completes** - After full workflow
---
## Common Patterns
### Starting Work
```python
# 1. Check notifications
roboco_notify_list()
roboco_notify_ack(notification_id)
# 2. Scan for tasks
roboco_task_scan(team="backend")
# 3. Search knowledge base
roboco_journal_search("similar work")
# 4. Claim and plan
roboco_task_claim(task_id)
roboco_task_plan(task_id, approach, steps)
# 5. Start
roboco_task_start(task_id)
```
### While Working
```python
# Progress updates
roboco_task_progress(task_id, "Completed X", 50)
# Journaling
roboco_journal_decision({...})
roboco_journal_learning({...})
# Communication
roboco_message_send({channel: "backend-cell", ...})
# If stuck
roboco_task_escalate(task_id, "Need help with X")
```
### Finishing
```python
# Self-verify
roboco_task_submit_verification(task_id)
# Submit for QA
roboco_task_submit_qa(task_id, notes)
# Reflect
roboco_journal_reflect({...})
```