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

2.4 KiB

Agent UUIDs Reference

ALWAYS use SLUGS when assigning tasks. The system resolves slugs to UUIDs automatically.

# 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:

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