---
name: harness
description: "Translate provider-neutral role classes into host-native routes, measured capabilities, and lifecycle mechanics."
---

# harness: capability-driven host mechanics

Use the durable role identity from the plan. Role identity remains custody authority;
model selection never renames a worker or grants capabilities. This skill is a
cross-harness adapter boundary, not a second policy owner.

## Classes

- `root`: the persistent operator session; its route is advisory.
- `team-lead`: Engineer and Conductor; default to the configured high-reasoning route and
  never opt below the standard reasoning route without an operator override.
- `bulk-work`: bounded Discovery, Coder, and Worker fan-out; optimize for volume only after
  task, evidence, and write scope are explicit.
- `adversarial-review`: Critic and Auditor; default to the standard reasoning route, keep a
  fresh independent reviewer identity, and escalate with consequence or ambiguity.

## Resolve and dispatch

1. Read the role, active harness, lane, acceptance, and measured lifecycle capabilities.
2. Run `shepherd models resolve ROLE --harness HARNESS --json`. Keep the returned `model` and
   `effort` as distinct native fields when supported. An operator `--model MODEL` override is
   attributed; it does not alter role or capability custody.
3. Map each declared role capability to an observed host capability and lifecycle event. A
   missing, stale, or unauthenticated observation is unavailable; never infer reachability from
   a route, label, installed package, or prompt.
4. Select foreground or background execution only when the host proves ownership, terminal
   status, result retrieval, and process custody. Select a persistent subagent or resume only
   when Native identity, continuation, and retained-slot evidence are present.
5. Preserve role, project, run, root session, child lineage, lane, scope, model route, and
   evidence custody independently of host mechanics. Reserve a fresh independent reviewer
   identity before increasing fan-out.
6. If no route or required capability exists, stop with the named class and host configuration
   gap. Do not guess a provider model, invent a lifecycle, silently inherit the implementer's
   identity, or turn a provider correlation ID into Native authority.

Configuration may add open model aliases and exact host routes. Concrete model and tool
spellings stay at the adapter boundary; the four class names, role identity, and custody rules
remain portable. Host-native orchestration features are examples of an adapter implementation,
never canonical Shepherd vocabulary.
