Files
roboco/docs/rag/architecture/agent-uuids.md
T
Renn F ecea593a51 docs(rag): rewrite the KB docs to the real gateway verb surface
The RAG knowledge base (indexed and queried by agents at runtime)
described entire fictional MCP tool surfaces — roboco_task_*,
roboco_journal_*, roboco_message_send, roboco_notify_send, roboco_agent_*,
roboco_session_*, roboco_workspace_*, roboco_project_* — that don't exist,
so agents searching the KB were handed invented tool names.

Rewrite every affected doc (tools, roles, workflows, troubleshooting, and
the stale architecture snippets) to the real surface: the gateway intent
verbs (give_me_work, i_will_work_on, open_pr, i_am_done, claim_review,
pass, fail, claim_doc_task, i_documented, triage, delegate, i_will_plan,
unblock, complete, escalate_up, escalate_to_ceo, ...) and content tools
(commit, note(scope=...), say, dm, evidence, notify*, open_session,
channels). Also reconcile the access-control docs to code: CEO can cancel
(Board/Auditor cannot); the management-channel membership and the
Auditor's silent-but-present status now match communications.py.
2026-06-05 17:20:36 +02:00

84 lines
2.4 KiB
Markdown

# Agent UUIDs Reference
**ALWAYS use SLUGS when assigning tasks.** The system resolves slugs to UUIDs automatically.
```python
# CORRECT - Use slug (PMs delegate work)
delegate(assigned_to="be-dev-1", ...)
# WRONG - Don't construct UUIDs manually
delegate(assigned_to="00000000-0000-0000-0001-000000000001", ...)
```
## UUID Scheme (Reference Only)
```
00000000-0000-0000-{CELL}-00000000000{N}
```
| Cell Code | Team |
|-----------|------|
| `0000` | CEO |
| `0001` | Backend |
| `0002` | Frontend |
| `0003` | UX/UI |
| `0004` | Board/Management |
**NO OTHER CELL CODES EXIST.** Do not construct UUIDs with codes like `0005`, `0006`, etc.
## Backend Cell (0001)
| Slug | UUID |
|------|------|
| `be-dev-1` | `00000000-0000-0000-0001-000000000001` |
| `be-dev-2` | `00000000-0000-0000-0001-000000000002` |
| `be-qa` | `00000000-0000-0000-0001-000000000003` |
| `be-pm` | `00000000-0000-0000-0001-000000000004` |
| `be-doc` | `00000000-0000-0000-0001-000000000005` |
## Frontend Cell (0002)
| Slug | UUID |
|------|------|
| `fe-dev-1` | `00000000-0000-0000-0002-000000000001` |
| `fe-dev-2` | `00000000-0000-0000-0002-000000000002` |
| `fe-qa` | `00000000-0000-0000-0002-000000000003` |
| `fe-pm` | `00000000-0000-0000-0002-000000000004` |
| `fe-doc` | `00000000-0000-0000-0002-000000000005` |
## UX/UI Cell (0003)
| Slug | UUID |
|------|------|
| `ux-dev-1` | `00000000-0000-0000-0003-000000000001` |
| `ux-dev-2` | `00000000-0000-0000-0003-000000000002` |
| `ux-qa` | `00000000-0000-0000-0003-000000000003` |
| `ux-pm` | `00000000-0000-0000-0003-000000000004` |
| `ux-doc` | `00000000-0000-0000-0003-000000000005` |
## Board/Management (0004)
| Slug | UUID |
|------|------|
| `main-pm` | `00000000-0000-0000-0004-000000000001` |
| `product-owner` | `00000000-0000-0000-0004-000000000002` |
| `head-marketing` | `00000000-0000-0000-0004-000000000003` |
| `auditor` | `00000000-0000-0000-0004-000000000004` |
## CEO (0000)
| Slug | UUID |
|------|------|
| `ceo` | `00000000-0000-0000-0000-000000000001` |
## Usage
Verbs take the `task_id` UUID directly (returned by `give_me_work()` /
`triage()`); recipient/assignee arguments accept either a slug or a UUID:
```python
i_will_work_on(task_id) # task_id is a UUID
dm(recipient="be-qa", text="...", task_id="...") # slug recipient
delegate(assigned_to="be-dev-1", ...) # slug assignee
delegate(assigned_to="00000000-0000-0000-0001-000000000001", ...) # UUID also works
```