- Add LLM-based validation in ValidatorService using local Ollama
- Wire up /standards/validate endpoint to use ValidatorService
- Add structured JSON response parsing for violations
- Include fallback to heuristic validation when LLM unavailable
- Add language detection from context for better standard matching
- 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
Phase 2 - A2A Protocol:
- Add A2A models (AgentCard, Task, Message)
- Add A2A service layer
- Add A2A routes with SSE streaming
- Add agent discovery endpoints
Phase 3 - Kubernetes:
- Add deploy/ directory with Kustomize structure
- PostgreSQL StatefulSet with pgvector
- Redis Deployment with persistence
- API and Orchestrator Deployments
- RBAC for orchestrator to manage Jobs
- ArgoCD Application manifest
- Development and production overlays
- K8s Jobs API support in orchestrator
Phase 2 - A2A Protocol:
- Add A2A models (AgentCard, Task, Message)
- Add A2A service layer
- Add A2A routes with SSE streaming
- Add agent discovery endpoints
Phase 3 - Kubernetes:
- Add deploy/ directory with Kustomize structure
- PostgreSQL StatefulSet with pgvector
- Redis Deployment with persistence
- API and Orchestrator Deployments
- RBAC for orchestrator to manage Jobs
- ArgoCD Application manifest
- Development and production overlays
- K8s Jobs API support in orchestrator
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1. roboco/mcp/schemas/__init__.py:
- SendMessageInput.task_id → required
- AskQuestionInput.task_id → required
- ReportBlockerInput.task_id → required
2. roboco/mcp/message_server.py:
- Removed _get_active_session() entirely (dead code)
- Simplified _handle_message_send() - no fallback, just uses task's linked session
- Updated tool signatures for roboco_ask_question and roboco_report_blocker
3. roboco/api/routes/tasks.py (earlier fix):
- Added subtask validation before parent completion
New behavior:
- All messages MUST have task_id
- Task's linked session is the only source of truth
- No session? → Clear error: "Cell PM must create one"
- No more "active" status guessing
2. Multi-image Docker architecture - Created role-specific Dockerfiles:
- agent-base.Dockerfile (shared foundation)
- agent-pm.Dockerfile, agent-dev-be.Dockerfile, agent-dev-fe.Dockerfile
- agent-qa-be.Dockerfile, agent-qa-fe.Dockerfile, agent-doc.Dockerfile, agent-ux.Dockerfile
3. Orchestrator updates - roboco/runtime/orchestrator.py:
- Added AGENT_IMAGES mapping and get_agent_image() function
- Updated _ensure_agent_image() to build base + specialized images
- Updated _spawn_container() to use role-specific image
- Made _generate_mcp_config() role-aware (though kept notify for all since they need to receive)