feat(roles)!: adopt the Agent Compose v3 seven-seat roster #1222

Merged
coilyco-ops merged 1 commit from feat/acompose-v3-roster into main 2026-08-23 21:26:03 +00:00
Member

Adopts the Agent Compose v3 seven-seat roster in AOS.

Upstream agent-compose@12c7198 took the Core Roster from nine seats to seven and renamed every slug, with no compatibility aliases. AOS still declared the nine-seat graph, so a composed launch selected roles the roster no longer defines.

What moved

engineer to platform, ops to sysadmin, ai to eval, design to frontend, creator to devrel, gamedev unchanged, director and exec merged into tpm, and qa cut. QA verification folds into eval and its code review into tpm as a gate decision.

Twenty composed sources named after retired seats were renamed to the surviving practice. Four prefixes collapse into tooling-tpm-*, so frontend pins its three product methods by name rather than inheriting all nine through a glob.

Boundaries follow: build-software, modify-live-system, and suggest-human-comms become build-foundational-software, modify-live-backend, and suggest-external-comms.

Why it is safe

This is a strict refactor of the selection, not a reallocation. Every seat effective skill set was expanded selector by selector and compared against what its predecessors received. All seven match exactly, so no seat gained or lost a single source.

Verification

  • check-composed-skills reports 0 problems, both directions.
  • pre-commit run --all-files green.
  • just aos-test, just agent-terminal-test, just aos-eval-test green.
  • just test green at 692 passed.

Deliberately left alone

Ward fixed repository workflows still spell themselves director, qa, and engineer. Those names belong to Ward rather than the roster, so they stay until Ward speaks to them. The generic product-manager persona in tooling-tpm-product-brainstorming also stays, because it describes an industry role rather than a seat.

Adopts the Agent Compose v3 seven-seat roster in AOS. Upstream `agent-compose@12c7198` took the Core Roster from nine seats to seven and renamed every slug, with no compatibility aliases. AOS still declared the nine-seat graph, so a composed launch selected roles the roster no longer defines. ## What moved `engineer` to `platform`, `ops` to `sysadmin`, `ai` to `eval`, `design` to `frontend`, `creator` to `devrel`, `gamedev` unchanged, `director` and `exec` merged into `tpm`, and `qa` cut. QA verification folds into `eval` and its code review into `tpm` as a gate decision. Twenty composed sources named after retired seats were renamed to the surviving practice. Four prefixes collapse into `tooling-tpm-*`, so `frontend` pins its three product methods by name rather than inheriting all nine through a glob. Boundaries follow: `build-software`, `modify-live-system`, and `suggest-human-comms` become `build-foundational-software`, `modify-live-backend`, and `suggest-external-comms`. ## Why it is safe This is a strict refactor of the selection, not a reallocation. Every seat effective skill set was expanded selector by selector and compared against what its predecessors received. All seven match exactly, so no seat gained or lost a single source. ## Verification * `check-composed-skills` reports 0 problems, both directions. * `pre-commit run --all-files` green. * `just aos-test`, `just agent-terminal-test`, `just aos-eval-test` green. * `just test` green at 692 passed. ## Deliberately left alone Ward fixed repository workflows still spell themselves `director`, `qa`, and `engineer`. Those names belong to Ward rather than the roster, so they stay until Ward speaks to them. The generic product-manager persona in `tooling-tpm-product-brainstorming` also stays, because it describes an industry role rather than a seat.
feat(roles)!: adopt the Agent Compose v3 seven-seat roster
All checks were successful
ci / aos-cli-tests (pull_request) Successful in 33s
ci / gate (pull_request) Successful in 1m16s
ci / ward-doctor (pull_request) Successful in 5m43s
ci / aos-eval-tests (pull_request) Successful in 5m54s
82967ca6c3
Agent Compose v3 (`agent-compose@12c7198`) took the Core Roster from nine seats
to seven and renamed every slug, with no compatibility aliases either way. AOS
still declared the nine-seat graph, so a composed launch selected roles the
roster no longer defines.

BREAKING CHANGE: every role identifier in `.agents/roles.kdl` and
`.agents/harness-launch-profiles.yaml` moves, and twenty composed sources are
renamed. Consumers pinning an old slug or source name must repin.

## Seats

`engineer` becomes `platform`, `ops` becomes `sysadmin`, `ai` becomes `eval`,
`design` becomes `frontend`, `creator` becomes `devrel`, `gamedev` is
unchanged, `director` and `exec` merge into `tpm`, and `qa` is cut. QA's
verification methods fold into `eval` and its code review into `tpm` as a gate
decision, which is the split the upstream migration guide names.

`tpm` takes the deduplicated union of what `director` and `exec` selected, so
nothing either seat reached falls on the floor. Every seat's effective skill
set was compared selector by selector against what its predecessors received:
all seven match exactly, so this is a strict refactor rather than a reallocation.

## Composed sources

Twenty sources named after retired seats move to the surviving practice:
`tooling-qa-*` to `tooling-eval-*`, `tooling-ops-*` to `tooling-sysadmin-*`,
`tooling-designer-*` to `tooling-frontend-*`, `tooling-customer-success-*` to
`tooling-devrel-*`, and `tooling-director-*`, `tooling-ceo-*`,
`tooling-advisor-*`, and `tooling-pm-*` all collapse into `tooling-tpm-*`.

That collapse would have widened `frontend` from three product methods to nine
through a single glob, so `frontend` pins its three by name instead. Acting-seat
prose inside the moved sources follows the rename. The generic product-manager
persona in `tooling-tpm-product-brainstorming` does not, because it describes an
industry role rather than a seat, and `aosguard ops` is an operator verb rather
than a slug.

## Boundaries

`build-software` becomes `build-foundational-software`, `modify-live-system`
becomes `modify-live-backend`, and `suggest-human-comms` becomes
`suggest-external-comms` across aos-eval.

Ward's fixed repository workflows still spell themselves `director`, `qa`, and
`engineer`. Those names are Ward's rather than the roster's, so they stay put
until Ward speaks to them.

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os!1222
No description provided.