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
Exit status
0Brief emitted, no blocking stop.
2Input refused with a named human action.
3Brief emitted with a blocking stop.

What every pack refuses

  1. Self-approval. The agent cannot approve its own release, patch, exception or verdict. A separate accountable human accepts.
  2. Privilege escalation. No pack grants access, changes an owner, deploys, merges, spends, sends or rotates a credential.
  3. Invented facts. Missing owner, service, edge, health or cost stays missing or unknown; it is not filled from a name or a guess.
  4. 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.