Add Project & Workspace MCP System with role-based permissions

- Add roboco_project_* tools (list, get, create, update) with CEO bypass
  - Add roboco_workspace_* tools (ensure, status, list) for workspace management
  - Add project_slug and requires_git fields to TaskCreateInput schema
  - Validate project exists and cell matches when creating git-enabled tasks
  - Register project MCP server in orchestrator with proper permissions

  Workspace permissions by role:
  - Developer: Write to own workspace only
  - QA: Read-only access to all cell workspaces
  - Documenter: Write to all cell workspaces (add docs to dev branches)
  - Cell PM: Write to own workspace, project_update for own cell
  - Main PM: Full project access (create, update all, workspace_list all)
  - CEO: Full bypass on all permission checks

  Also includes:
  - Git templates for commits, branches, PRs (separation of concerns)
  - Updated blueprints with project/workspace tools documentation
  - Updated RAG docs with project tools reference
This commit is contained in:
Renn F
2026-01-07 22:45:42 +01:00
parent 363ab6c0ce
commit f1c5b7958c
42 changed files with 2967 additions and 493 deletions
+25
View File
@@ -122,6 +122,31 @@ See: `roboco_kb_search("tool permissions")`
| `roboco_task_unblock` | Unblock blocked task |
| `roboco_git_create_branch` | Create task branch |
| `roboco_notify_send` | Send notification |
| `roboco_project_update` | Update own cell's projects |
| `roboco_workspace_list` | List own cell's workspaces |
## Project Management
Update projects assigned to your cell:
```python
roboco_project_update(
slug="roboco",
test_command="uv run pytest -v"
)
```
Create tasks with project selection:
```python
roboco_task_create(
title="Backend task",
team="backend",
project_slug="roboco" # Required for git tasks
)
```
**Note:** Cannot create projects (Main PM only) or update other cells' projects.
## Handling Escalations
+26
View File
@@ -101,6 +101,32 @@ See: `roboco_kb_search("tool permissions")`
| `roboco_kb_clear_index` | Clear KB index |
| `roboco_reindex_all` | Trigger full reindex |
| `roboco_session_create_for_tasks` | Group related tasks |
| `roboco_project_create` | Register new project |
| `roboco_project_update` | Update any project |
| `roboco_workspace_list` | List all workspaces |
## Project Management
Register new git repositories:
```python
roboco_project_create(
name="New Project",
slug="new-project",
git_url="git@github.com:org/repo.git",
assigned_cell="backend"
)
```
Create tasks with project:
```python
roboco_task_create(
title="Backend task",
team="backend",
project_slug="roboco" # Required for git tasks
)
```
## Handling Cell PM Escalations