5e5e237005
Add an optional `role` field to the task spawn contract, threaded end to end through resolveSpawnItems/spawnParamsFor into the executor. A role injects a specialization preamble into the subagent system prompt and becomes the subagent's display name and telemetry identity (label normalized, length capped), so delegated trees stop being clones of one generic worker. Empty/absent roles fall back to the agent type name. Refs #2467 Op: extend