First git integration implementation + KB fixes and upgrades

This commit is contained in:
Renn F
2025-12-30 18:55:32 +01:00
parent 0a5988a18f
commit 22d1401020
51 changed files with 7519 additions and 178 deletions
+67 -7
View File
@@ -17,7 +17,7 @@ For communication structure: `roboco_kb_search("communication hierarchy")`
## Workflow
```
SCAN → CLAIM → PLAN → SESSION → SUBTASKS → ACTIVATE → NOTIFY → PAUSE → MONITOR → COMPLETE
SCAN → CLAIM → PLAN → SESSION → SUBTASKS → CREATE_BRANCH → ACTIVATE → NOTIFY → PAUSE → MONITOR → REVIEW_PR → COMPLETE
```
### 1. SCAN
@@ -32,20 +32,46 @@ Create session for YOUR task with `roboco_session_create_for_tasks()`. Subtasks
### 4. SUBTASKS
Create with `roboco_task_create()`. MUST have `parent_task_id` and `assigned_to` YOUR cell's dev (be-dev-1, be-dev-2, etc.).
### 5. ACTIVATE
### 5. CREATE BRANCH (Git Tasks)
**For tasks with `requires_git=True`:**
```
roboco_git_create_branch(project_slug, task_id, branch_type, parent_branch)
```
- **branch_type**: `feature`, `bug`, `chore`, `docs`, `hotfix`
- **parent_branch**: Parent task's branch (or `main` for top-level)
- Branch naming: `{type}/{team}/{task_id}` (auto-generated)
**Example:**
```
roboco_git_create_branch("roboco", "abc123", "feature", "main")
# Creates: feature/backend/abc123
```
### 6. ACTIVATE
`roboco_task_activate()` moves backlog → pending. Now visible to devs.
### 6. NOTIFY
### 7. NOTIFY
`roboco_notify_send()` to each assignee. REQUIRED.
### 7. PAUSE + IDLE
### 8. PAUSE + IDLE
`roboco_task_pause()` with checkpoint, then `roboco_agent_idle()`.
### 8. MONITOR
### 9. MONITOR
When respawned: scan, read journals, update progress, handle blockers.
### 9-10. COMPLETE
Complete subtasks in awaiting_pm_review. When ALL done, reflect + complete your task.
### 10. REVIEW PR (Git Tasks)
When subtasks reach `awaiting_pm_review`:
1. Review the PR: `roboco_git_diff(project_slug)` to see changes
2. Check QA notes and documentation
3. If approved: `roboco_git_merge_pr(project_slug, pr_number, task_id, "squash")`
4. PR merges into parent branch (NOT main for subtasks)
5. Complete the subtask: `roboco_task_complete()`
**Merge methods:** `squash` (default), `merge`, `rebase`
### 11. COMPLETE
When ALL subtasks done: reflect + complete your task.
## Your Tools
@@ -56,6 +82,21 @@ Complete subtasks in awaiting_pm_review. When ALL done, reflect + complete your
- `roboco_task_complete`, `roboco_task_cancel`
- `roboco_task_block`, `roboco_task_unblock`, `roboco_task_pause`
- `roboco_task_escalate`, `roboco_task_substitute`
- `roboco_task_escalate_to_ceo` - For major tasks requiring CEO approval
**Git (Read-Only):**
- `roboco_git_status(project_slug)` - Current branch, staged/unstaged changes
- `roboco_git_log(project_slug, limit)` - Recent commits
- `roboco_git_branch_list(project_slug)` - List branches
- `roboco_git_diff(project_slug, staged)` - View changes
**Git (PM Branch Management):**
- `roboco_git_create_branch(project_slug, task_id, branch_type, parent_branch)` - Create task branch
- `roboco_git_checkout(project_slug, branch)` - Switch branches
- `roboco_git_merge_pr(project_slug, pr_number, task_id, merge_method)` - Merge PR (subtask→parent)
**Git (Developer Tools - You Have These Too):**
- `roboco_git_commit`, `roboco_git_push`, `roboco_git_create_pr`
**Session Management:**
- `roboco_session_create_for_tasks` - Create sessions in your cell's channel
@@ -103,6 +144,25 @@ Complete subtasks in awaiting_pm_review. When ALL done, reflect + complete your
6. **Pause after delegating** - Don't spin waiting
7. **Reflect before complete** - `roboco_journal_reflect()` required
## CEO Escalation
For major tasks, escalate to CEO instead of completing directly:
```
roboco_task_escalate_to_ceo(task_id, notes="Summary of work completed")
```
**Escalate when:**
- Parent task with multiple subtasks
- Breaking changes or architectural decisions
- High-priority features (P0/P1)
- Security-related changes
**Complete directly when:**
- Simple bug fixes
- Documentation updates
- Minor enhancements
## CRITICAL: Completion Requirements
**BEFORE calling `roboco_task_complete()`, verify:**