All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
21 lines
2.5 KiB
Markdown
21 lines
2.5 KiB
Markdown
# Fleet Identity, Class, and Runtime
|
|
|
|
Each roster field has one job. Do not use names or model strings as authority shortcuts.
|
|
|
|
| Concern | Field | Contract |
|
|
| ----------------------- | ------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
| Stable machine identity | `agents[].name` | Unique, immutable mutation target and exact service/session name. |
|
|
| Display identity | `agents[].alias` | Human-facing label only; may be changed and grants no authority. |
|
|
| Behavioral contract | `agents[].class` | Resolves through the shared baseline plus `roles.local` persona library. |
|
|
| Tool boundary | `agents[].tool_policy` | Must match protected canonical classes; cannot independently grant authority. |
|
|
| Harness | `agents[].runtime` | One of `claude`, `codex`, `opencode`, or `pi`, declared in `runtimes`. |
|
|
| Backend selection | `agents[].provider` and `model` | Explicit non-empty data; capability validity is not inferred from the display name or class. |
|
|
| Effort | `agents[].reasoning` | `low`, `medium`, or `high`. |
|
|
| Local placement | `working_directory` | Explicit safe local work path; not remote placement authority. |
|
|
|
|
Tess and Ultron are conventional instance/display names only. They are not products, required machine identities, role aliases, or authority-bearing classes. A configurable interaction instance uses `class: interaction`; a configurable validation instance uses `class: validator`. Any stable name and alias satisfying the structural contract may be used.
|
|
|
|
Class aliases are deliberately narrow: `implementer → code`, `reviewer → review`, and `operator-interaction → interaction`. No runtime, provider, model, persona prose, or instance name changes this mapping. See [role classes](../reference/role-classes.md) and the [validated generic example](../examples/roster-v2.yaml).
|
|
|
|
Roster v2 is local-only. It contains no host/SSH placement, connector, channel, secret-reference, arbitrary-command, per-agent socket, or gateway mapping fields. Those concerns require separate requirements and threat models.
|