Follow the agent-compose seven-seat reflow: roles.kdl, aos-eval boundary order, and the role-named tests #1176

Open
opened 2026-08-22 20:14:28 +00:00 by coilyco-ops · 0 comments
Member

agent-compose@12c7198 landed the v3 Core Roster reflow. Nine seats became seven, every slug changed, and three boundary slugs renamed. There are no compatibility aliases either way, so every consumer that names a slug is now naming one that does not exist.

Details and reasoning: agent-compose#317 and docs/release.md in that repo.

The mapping

  • engineer becomes platform
  • ops becomes sysadmin
  • ai becomes eval
  • design becomes frontend
  • creator becomes devrel
  • gamedev unchanged
  • director and exec merge into tpm
  • qa is cut, its done-condition into eval and its code review into tpm

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

What this repo carries

.agents/roles.kdl binds composed skills to nine role blocks. Four rename outright. director and exec both hold composed-skill sets and merge into one tpm block, so their two allowlists need reconciling rather than concatenating: tooling-director-decision-architecture, tooling-skill-authoring, tooling-issue-*, tooling-scout-*, and tooling-pm-* appear in both. qa disappears, and its tooling-code-review binding belongs on tpm, where code review moved as a gate decision.

aos-eval/aos_eval/schema.py:116 hardcodes the old boundary slugs:

boundary_order=("suggest-human-comms", "modify-live-system", "seek-external-validation"),

Two of those three no longer exist, and build-software was never in the list. evalkit.matrix falls through to the roster's own boundary_order when a name is absent, so the derived board is correct today by accident rather than by agreement. boundaries.py and annotate.py also key case derivation off boundary.get("owner") == role, which needs to widen for the third state now that six of seven seats hold at least one scoped grant.

tests/test_context_budget_role.py and tests/test_build_output.py name role-* slugs.

docs/role-composed-skills.md carries the matrix paragraph and is already at its 120-line cap, so it needs compressing rather than extending.

AGENTS.md names Game Developer in the serialized-checkout rule, which survives unchanged, but the file is worth a sweep for other role references.

Note on the third state

boundary-scoped is now live for the first time. Six of seven seats hold at least one bounded grant, so anything downstream that models a boundary as owner-or-defer will read a grant as a deferral. evalkit.matrix was taught the axis in agent-compose@78d6dbd and aos-eval has not been.

`agent-compose@12c7198` landed the v3 Core Roster reflow. Nine seats became seven, every slug changed, and three boundary slugs renamed. There are no compatibility aliases either way, so every consumer that names a slug is now naming one that does not exist. Details and reasoning: [agent-compose#317](https://forgejo.coilysiren.me/coilyco-flight-deck/agent-compose/issues/317) and `docs/release.md` in that repo. ## The mapping * `engineer` becomes `platform` * `ops` becomes `sysadmin` * `ai` becomes `eval` * `design` becomes `frontend` * `creator` becomes `devrel` * `gamedev` unchanged * `director` and `exec` merge into `tpm` * `qa` is cut, its done-condition into `eval` and its code review into `tpm` Boundaries: `build-software` becomes `build-foundational-software`, `modify-live-system` becomes `modify-live-backend`, `suggest-human-comms` becomes `suggest-external-comms`. ## What this repo carries **`.agents/roles.kdl`** binds composed skills to nine role blocks. Four rename outright. `director` and `exec` both hold composed-skill sets and merge into one `tpm` block, so their two allowlists need reconciling rather than concatenating: `tooling-director-decision-architecture`, `tooling-skill-authoring`, `tooling-issue-*`, `tooling-scout-*`, and `tooling-pm-*` appear in both. `qa` disappears, and its `tooling-code-review` binding belongs on `tpm`, where code review moved as a gate decision. **`aos-eval/aos_eval/schema.py:116`** hardcodes the old boundary slugs: ```python boundary_order=("suggest-human-comms", "modify-live-system", "seek-external-validation"), ``` Two of those three no longer exist, and `build-software` was never in the list. `evalkit.matrix` falls through to the roster's own `boundary_order` when a name is absent, so the derived board is correct today by accident rather than by agreement. `boundaries.py` and `annotate.py` also key case derivation off `boundary.get("owner") == role`, which needs to widen for the third state now that six of seven seats hold at least one scoped grant. **`tests/test_context_budget_role.py`** and **`tests/test_build_output.py`** name `role-*` slugs. **`docs/role-composed-skills.md`** carries the matrix paragraph and is already at its 120-line cap, so it needs compressing rather than extending. **`AGENTS.md`** names Game Developer in the serialized-checkout rule, which survives unchanged, but the file is worth a sweep for other role references. ## Note on the third state `boundary-scoped` is now live for the first time. Six of seven seats hold at least one bounded grant, so anything downstream that models a boundary as owner-or-defer will read a grant as a deferral. `evalkit.matrix` was taught the axis in `agent-compose@78d6dbd` and `aos-eval` has not been.
Sign in to join this conversation.
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#1176
No description provided.