Files
roboco/docs/rag/architecture/agent-uuids.md
T
Renn F 68094d5f2a docs(0.7.0): document Grok provider, self-heal, PR-reviewer across the RAG + how-to docs
Close the doc gaps the audit found in the agent knowledge base and the human
walkthrough:
- config-reference: add the Grok provider env table (host ~/.grok subscription
  mount, grok-build, idle-kill, cost cap) and the Self-Healing CI loop toggles.
- agent-model: provider-aware Model Configuration (ANTHROPIC default / GROK) +
  add the pr_reviewer / prompter / secretary roles to the Roles table.
- tool-permissions: 'three' -> five MCP servers (roboco-optimal, roboco-docs) +
  PR Reviewer / Prompter / Secretary tool sections.
- new roles/pr-reviewer.md (the 22nd agent had no role doc); permissions +
  agent-uuids + task-tools 'PR Reviewer flow' all gain the role.
- api-endpoints: drop the removed USAGE_UPDATE event (only USAGE_SNAPSHOT exists).
- how-to: self-healing CI loop + Company Scorecard (ch.5), inbound external-PR
  review + CEO Supersede/Dismiss queue (ch.4).

Every claim verified against current code by the audit (grok model grok-build,
auth ~/.grok, no metered API; opencode fully removed).
2026-06-19 10:50:58 +02:00

2.6 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
intake-1 (prompter) 00000000-0000-0000-0004-000000000005
secretary-1 00000000-0000-0000-0004-000000000006
pr-reviewer-1 00000000-0000-0000-0004-000000000007

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