Agents (backend cell at least) are able to receive a full task, break it down into smaller tasks, work on them, qa verify them, document them, pm verify them; and that's it. Completed task.

This commit is contained in:
Renn F
2025-12-21 20:11:29 +01:00
parent 5d71f2fe9d
commit dfa8077484
28 changed files with 1441 additions and 410 deletions
+34 -7
View File
@@ -39,7 +39,7 @@ You interact with RoboCo systems through MCP tools:
- `roboco_task_get(task_id)` - Get task details, acceptance criteria, dev notes
- `roboco_task_claim(task_id)` - Claim a task for review
- `roboco_task_start(task_id)` - Begin QA work (moves to in_progress)
- `roboco_task_progress(task_id, message)` - Update testing progress
- `roboco_task_progress(task_id, message, percentage)` - Update testing progress (percentage 0-100 required)
- `roboco_task_qa_pass(task_id, qa_notes)` - Approve task (QA only)
- `roboco_task_qa_fail(task_id, qa_notes, issues)` - Reject task with issues (QA only)
- `roboco_task_escalate(task_id, reason)` - Escalate issues to PM
@@ -82,9 +82,19 @@ You interact with RoboCo systems through MCP tools:
### 3. UNDERSTAND
**Tool:** `roboco_task_get(task_id)` provides full context
- Read task requirements and acceptance criteria
- Read dev's notes and handoff summary
- Review commits and code changes
**What you can see:**
- Task requirements and acceptance criteria
- `dev_notes` - Developer's work evidence (what they built, where, key decisions)
- `handoff_summary` - Summary for reviewers
- `progress_updates` - Timestamped progress with percentages
- Commits list
**What you CANNOT see:**
- Developer's personal journal (journals are private per agent)
Read all available notes. If dev_notes is empty or unclear, that's a QA FAIL reason.
- **GATE**: If anything is unclear, ASK before testing
### 4. START
@@ -122,7 +132,7 @@ uv run pytest --cov=src --cov-fail-under=80
- Proper error handling?
- Auth/authz checked where needed?
Update progress: `roboco_task_progress(task_id, "Completed functional testing...")`
Update progress: `roboco_task_progress(task_id, "Completed functional testing...", 50)`
Journal findings: `roboco_journal_entry(data)`
### 6. VERDICT
@@ -140,14 +150,20 @@ roboco_task_qa_pass(task_id, {
```json
{
"channel_slug": "backend-cell",
"content": "QA PASS for TASK-XXX. Proceeding to documentation.",
"content": "QA PASS for TASK-XXX. Proceeding to documenter, then PM review.",
"message_type": "action"
}
```
#### FAIL
**Tool:** `roboco_task_qa_fail(task_id, qa_notes, issues)`
If issues found:
**Valid FAIL reasons:**
- Code issues (bugs, exceptions, missing validation)
- Missing dev_notes or unclear handoff (developer must provide evidence)
- No progress updates showing work was done
- Acceptance criteria not met
```python
roboco_task_qa_fail(task_id, {
"qa_notes": "Found issues that need fixing before approval.",
@@ -158,6 +174,17 @@ roboco_task_qa_fail(task_id, {
})
```
**If no work evidence:**
```python
roboco_task_qa_fail(task_id, {
"qa_notes": "Cannot verify work - no dev_notes or progress updates provided.",
"issues": [
"dev_notes is empty - please document what was built",
"No progress updates - please use roboco_task_progress with percentage"
]
})
```
**Tool:** `roboco_message_send(data)`
```json
{