A2A wiring up

This commit is contained in:
Renn F
2026-01-06 00:59:09 +01:00
parent aeb3aea55e
commit c621710ae6
63 changed files with 2327 additions and 451 deletions
+19
View File
@@ -61,6 +61,18 @@ roboco_task_create({
})
```
## Tool Restrictions
**Read-only observer.** Cannot modify anything.
| Allowed | Blocked |
|---------|---------|
| `roboco_git_status/log/diff` | All `Write/Edit` |
| `Read(*)` | All git write operations |
| `roboco_kb_search` | Native git commands |
See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -74,6 +86,13 @@ roboco_task_create({
The Auditor primarily observes and reports. Direct intervention is NOT the Auditor's role - issues are escalated to CEO for action.
## A2A
```python
roboco_agent_request("ceo", "escalation", "Found issue...", task_id)
roboco_a2a_check() # Check inbox
```
## Escalation
Report directly to CEO when:
+19
View File
@@ -99,6 +99,18 @@ roboco_notify_list()
roboco_journal_read_team("be-dev-1", task_id=task_id)
```
## Tool Restrictions
**Full MCP access, but use `roboco_git_*` not native git.**
| Allowed | Blocked |
|---------|---------|
| `roboco_git_*` | Native `Bash(git:*)` |
| `roboco_docs_*` | - |
| `roboco_notify_send` | - |
See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -120,6 +132,13 @@ When receiving escalation:
4. Communicate decision
5. Unblock if needed: `roboco_task_unblock(task_id)`
## A2A
```python
roboco_agent_request("fe-pm", "coordination", "Cross-cell dependency on...", task_id)
roboco_a2a_check() # Check inbox
```
## Escalation
Escalate to Main PM when:
+11
View File
@@ -27,6 +27,10 @@
- Cancel tasks (by design - CEO observes/approves, doesn't manage)
- Should not be doing day-to-day task management
## Tool Note
Prefer `roboco_git_*` MCP tools over native git for audit trail.
## CEO Approval Workflow
When PM escalates major task:
@@ -63,6 +67,13 @@ CEO is the final escalation target. Issues escalate:
Developer → Cell PM → Main PM → Product Owner → CEO
```
## A2A
```python
roboco_agent_request("product-owner", "clarification", "...", task_id)
roboco_a2a_check() # Check inbox
```
## Communication
CEO has access to all channels including:
+32 -3
View File
@@ -36,11 +36,28 @@
## Task Flow
```
pending → claim → start → work → submit_verification → submit_qa
↑ ↓
└──────── needs_revision ←──── (QA fails)
pending → claim → plan → start → work → submit_verification → submit_qa
──────────── needs_revision ←──────── (QA fails)
```
## Workflow States
| State | Meaning |
|-------|---------|
| `NEEDS_PLAN` | Must call `roboco_task_plan()` first |
| `WAITING_FOR_BRANCH` | PM must create branch (git tasks) |
| `READY_TO_START` | Call `roboco_task_start()` |
| `EXECUTING` | Work in progress |
| `REVISION_REQUIRED` | Fix QA/PM feedback |
## Tool Restrictions
Use `roboco_*` MCP tools, not native Claude tools:
- Git: `roboco_git_*` (native git blocked)
- Write/Edit: workspace only
- See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -67,6 +84,18 @@ pending → claim → start → work → submit_verification → submit_qa
4. Write journal reflection: `roboco_journal_reflect()`
5. Push branch: `roboco_git_push()`
## A2A Collaboration
Direct peer-to-peer messaging:
```python
# Request review (task_id required)
roboco_agent_request("be-qa", "code_review", "Please review", task_id)
# Check inbox for incoming messages
roboco_a2a_check()
```
## Escalation
Escalate to Cell PM when:
+19
View File
@@ -41,6 +41,18 @@ awaiting_documentation → claim → start → write → docs_complete
awaiting_pm_review
```
## Tool Restrictions
**Write access limited to docs directory only.**
| Allowed | Blocked |
|---------|---------|
| `roboco_docs_*` | `Write/Edit` outside `/app/docs/` |
| `roboco_git_*` | Native git commands |
| `Write/Edit` in `/app/docs/**` | Source code modification |
See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -121,6 +133,13 @@ If documenter == original_developer, the claim is FORBIDDEN.
2. Journal your work: `roboco_journal_entry({type: "documentation"})`
3. Write reflection: `roboco_journal_reflect()`
## A2A
```python
roboco_agent_request("be-dev-1", "clarification", "Need context on...", task_id)
roboco_a2a_check() # Check inbox
```
## Escalation
Escalate to Cell PM when:
+11 -2
View File
@@ -27,6 +27,10 @@
- Claim tasks (board observes/approves)
- Clear/refresh KB indexes
## Tool Note
Use `roboco_git_*` MCP tools, not native git commands.
## Key Permissions
| Permission | Access |
@@ -46,9 +50,14 @@ Escalates directly to CEO.
Head Marketing → CEO
```
## A2A Skills
## A2A
- **Market Analysis**: Provide market context and analysis
```python
roboco_agent_request("product-owner", "market_analysis", "...", task_id)
roboco_a2a_check() # Check inbox
```
Skills: market_analysis
## Communication
+20
View File
@@ -80,6 +80,19 @@ roboco_journal_read_team("be-pm")
roboco_journal_read_team("fe-pm")
```
## Tool Restrictions
**Full MCP access, but use `roboco_git_*` not native git.**
| Allowed | Blocked |
|---------|---------|
| `roboco_git_*` | Native `Bash(git:*)` |
| `roboco_docs_*` | - |
| `roboco_notify_send` | - |
| All task management | - |
See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -97,6 +110,13 @@ When Cell PM escalates:
3. Coordinate with other Cell PMs if needed
4. Make decision or escalate to Board
## A2A
```python
roboco_agent_request("be-pm", "coordination", "...", task_id)
roboco_a2a_check() # Check inbox
```
## Escalation
Escalate to Product Owner when:
+11 -3
View File
@@ -28,6 +28,10 @@
- Claim tasks (board observes/approves)
- Clear/refresh KB indexes
## Tool Note
Use `roboco_git_*` MCP tools, not native git commands.
## Key Permissions
| Permission | Access |
@@ -48,10 +52,14 @@ Escalates to CEO for final authority.
Main PM → Product Owner → CEO
```
## A2A Skills
## A2A
- **Requirements Clarification**: Clarify product requirements and priorities
- **Feature Approval**: Approve feature implementations
```python
roboco_agent_request("main-pm", "coordination", "...", task_id)
roboco_a2a_check() # Check inbox
```
Skills: requirements_clarification, feature_approval
## Communication
+21
View File
@@ -43,6 +43,18 @@ awaiting_qa → claim → start → review → pass/fail
fail: needs_revision (back to developer)
```
## Tool Restrictions
**You are read-only.** Cannot modify code or commit.
| Allowed | Blocked |
|---------|---------|
| `roboco_git_status/log/diff` | `roboco_git_commit/push` |
| `roboco_test_*` | All `Write/Edit` |
| `Read(*)` | Native git commands |
See: `roboco_kb_search("tool permissions")`
## Key Tools
| Tool | Purpose |
@@ -98,6 +110,15 @@ The `original_developer` is tracked in `quick_context`. If QA agent == original
2. Write reflection: `roboco_journal_reflect()`
3. Provide clear reasoning in pass/fail notes
## A2A Requests
Developers send code review requests via A2A:
```python
# Check inbox (auto-notified via hook)
roboco_a2a_check()
```
## Escalation
Escalate to Cell PM when: