Agent role packs · edition 1 · reviewed 2026-10-24
Six jobs.
One evidence bundle.
A role pack is a versioned job contract for an owner’s local agent. Each one names the inputs it needs, the evidence it must cite, the result it returns and the point where it stops.
The shared bundle
The same facts. Six different jobs.
Every shipped pack runs against one fictional stack, so the service review, defect patch, decision record, drift report, security finding and QA verdict can be compared without changing the evidence underneath them.
- Workspace
- Fictional Trail NotesAda Nguyen, accountable owner · Sam Okafor fallback
- Application
- Trail Notesfiction/trail-notes@7f3a9c2 · rel-20261023-3
- Service
- Trail Notes webSam Okafor, service owner · Cloudflare Worker · fiction-composer-preview
- Environment
- preview / composer-trail-notes-preview7 evidence items · 5 gates · 4 dependency edges
Executable, not decorative
A brief, or a refusal.
The runner validates the pack, checks ownership, environment, freshness, secret-like values and self-approval, then assembles a role-specific brief. Unsafe input is refused before a brief exists.
24 negative tests ship with the six packs. The project’s own test suite runs every pack against this bundle.
node scripts/roles.mjs check
node scripts/roles.mjs brief \
--role qa \
--input examples/role-packs/fictional-trail-notes.json| 0 | Brief emitted, no blocking stop. |
|---|---|
| 2 | Input refused with a named human action. |
| 3 | Brief emitted with a blocking stop. |
What every pack refuses
- Self-approval. The agent cannot approve its own release, patch, exception or verdict. A separate accountable human accepts.
- Privilege escalation. No pack grants access, changes an owner, deploys, merges, spends, sends or rotates a credential.
- Invented facts. Missing owner, service, edge, health or cost stays missing or unknown; it is not filled from a name or a guess.
- Unsafe evidence. Secret-like values, production targets for patch/test work and stale telemetry are refused with the human step that resolves them.
Pack proposals only. The accountable owner decides; native EmDash acceptance, connected-agent authentication and production execution remain separate gates. Source links: role packs #315,local agent handoff #311,service ownership #314.Operating runbooks remain a separate, broader kit.