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
+9 -6
View File
@@ -35,7 +35,7 @@ branches = roboco_git_branch_list(project_slug="roboco")
roboco_git_create_branch(
project_slug="roboco",
task_id=task_id,
branch_type="feature" # feature, fix, refactor, docs
branch_type="feature" # feature, bug, chore, docs, hotfix
)
# Creates: feature/backend/a1b2c3d4
@@ -53,12 +53,13 @@ roboco_git_checkout(
roboco_git_commit(
project_slug="roboco",
task_id=task_id,
message="Add rate limiting endpoint"
message="Add rate limiting endpoint",
commit_type="feat" # Required
)
# Creates: [a1b2c3d4] Add rate limiting endpoint
# Creates: [a1b2c3d4] feat: Add rate limiting endpoint
# Push to remote
roboco_git_push(project_slug="roboco")
roboco_git_push(project_slug="roboco", task_id=task_id)
```
## Pull Requests
@@ -76,6 +77,7 @@ roboco_git_create_pr(
roboco_git_merge_pr(
project_slug="roboco",
pr_number=123,
task_id=task_id,
merge_method="squash" # squash, merge, rebase
)
```
@@ -89,6 +91,7 @@ roboco_git_merge_pr(
| Type | Use |
|------|-----|
| `feature/` | New functionality |
| `fix/` | Bug fixes |
| `refactor/` | Code restructuring |
| `bug/` | Bug fixes |
| `chore/` | Maintenance |
| `docs/` | Documentation |
| `hotfix/` | Urgent fixes |