feat(roster)!: follow the eval, tpm and devrel slug renames #1357

Merged
coilyco-ops merged 2 commits from aos/claude/ad84 into main 2026-08-28 21:02:15 +00:00
Owner

Closes #1354. Closes the fixture half of #1347.

Mirrors agent-compose@d1395f8 and housecast-v0.1.12.

  • eval becomes science
  • tpm becomes director
  • devrel becomes advocate

.agents/roles.kdl and .agents/harness-launch-profiles.yaml carry the role keys, which is the item #1354 called out as the one worth doing first: both now answer for the new slugs, so those seats get role-scoped projection again once the repository plan recompiles.

Fixtures were regenerated, not hand-patched

aterm/testdata/roster.json came from agent-compose catalog roles --json, and the four overlays from agent-compose overlay --json --expression acting, both against a build of the renamed roster. That was the argument on #1347: roster.json carries skill_digest values that moved with the SKILL.md bodies, so a hand edit would have left the fixture internally inconsistent in a way no test catches. tpm-codex-overlay.json is renamed to director-codex-overlay.json.

eval was read per occurrence, not swept

eval also names the activity here, so a blanket rename would have done real damage. Verified as other senses and left untouched:

  • aos-eval and its package, evalkit, the eval-ref docs
  • the eval shell builtin in shell/common.sh - a sweep turned eval "$script" into science "$script", which would have broken aterm completion in every shell. Caught and reverted.
  • Redis's never run eval in .specgen/guardfiles/aosguard/redis.kdl
  • the --eval CLI flag in check_actions_run_one_line.py

What deliberately did not move

The eight tooling-<slug>-* composed skill packages keep their names, and the roles.kdl globs still match them, so nothing breaks. Whether that prefix names the seat or the practice is the open question on #1354 and a slug rename does not settle it. Their acting-seat prose did move, per the #1223 rule: "Use when eval verifies" became "Use when science verifies".

Verification

  • uv run pytest - 748 passed
  • aos-cli Go suite - clean
  • aterm Go suite - clean with agent-compose off PATH, which is how CI runs it

TestLiveDefaultSeatBelongsToItsRole fails on a developer host that has an agent-compose binary predating the rename: aos reads harness-launch-profiles.yaml from the checkout and answers for the new slugs, while the stale binary still reports the old ones. The test skips when agent-compose is absent from PATH. It is a host-local migration artifact that clears when agent-compose is reinstalled, not a defect in this change.

Boundary

Authored from the science seat. This repository is build-foundational-software and belongs to platform; Kai directed the crossing explicitly. Naming it rather than leaving it implicit.

Closes #1354. Closes the fixture half of #1347. Mirrors `agent-compose@d1395f8` and `housecast-v0.1.12`. * `eval` becomes **`science`** * `tpm` becomes **`director`** * `devrel` becomes **`advocate`** `.agents/roles.kdl` and `.agents/harness-launch-profiles.yaml` carry the role keys, which is the item #1354 called out as the one worth doing first: both now answer for the new slugs, so those seats get role-scoped projection again once the repository plan recompiles. ## Fixtures were regenerated, not hand-patched `aterm/testdata/roster.json` came from `agent-compose catalog roles --json`, and the four overlays from `agent-compose overlay --json --expression acting`, both against a build of the renamed roster. That was the argument on #1347: `roster.json` carries `skill_digest` values that moved with the SKILL.md bodies, so a hand edit would have left the fixture internally inconsistent in a way no test catches. `tpm-codex-overlay.json` is renamed to `director-codex-overlay.json`. ## eval was read per occurrence, not swept `eval` also names the activity here, so a blanket rename would have done real damage. Verified as other senses and left untouched: * `aos-eval` and its package, `evalkit`, the `eval-ref` docs * the **`eval` shell builtin** in `shell/common.sh` - a sweep turned `eval "$script"` into `science "$script"`, which would have broken aterm completion in every shell. Caught and reverted. * **Redis's `never run eval`** in `.specgen/guardfiles/aosguard/redis.kdl` * the **`--eval` CLI flag** in `check_actions_run_one_line.py` ## What deliberately did not move The eight `tooling-<slug>-*` composed skill packages keep their names, and the roles.kdl globs still match them, so nothing breaks. Whether that prefix names the seat or the practice is the open question on #1354 and a slug rename does not settle it. Their acting-seat prose did move, per the #1223 rule: "Use when eval verifies" became "Use when science verifies". ## Verification * `uv run pytest` - **748 passed** * `aos-cli` Go suite - clean * `aterm` Go suite - clean **with `agent-compose` off PATH**, which is how CI runs it `TestLiveDefaultSeatBelongsToItsRole` fails on a developer host that has an `agent-compose` binary predating the rename: `aos` reads `harness-launch-profiles.yaml` from the checkout and answers for the new slugs, while the stale binary still reports the old ones. The test skips when `agent-compose` is absent from PATH. It is a host-local migration artifact that clears when agent-compose is reinstalled, not a defect in this change. ## Boundary Authored from the science seat. This repository is `build-foundational-software` and belongs to platform; Kai directed the crossing explicitly. Naming it rather than leaving it implicit.
feat(roster)!: follow the eval, tpm and devrel slug renames
All checks were successful
ci / aos-eval-tests (pull_request) Successful in 7s
ci / aos-cli-tests (pull_request) Successful in 28s
ci / gate (pull_request) Successful in 1m0s
3993c9e0e5
Kai's call. Mirrors agent-compose@d1395f8 and housecast-v0.1.12, closing
agentic-os#1354 and the fixture half of #1347.

* eval becomes science
* tpm becomes director
* devrel becomes advocate

`.agents/roles.kdl` and `.agents/harness-launch-profiles.yaml` carry the role
keys, so both now answer for the new slugs.

The aterm fixtures were regenerated from `agent-compose catalog roles --json`
and `agent-compose overlay --json` against a build of the renamed roster, rather
than hand-patched. That was the argument on #1347: roster.json carries
skill_digest values that moved with the SKILL.md bodies, so a hand edit would
have left the fixture internally inconsistent in a way no test catches. The
overlays regenerate with `--expression acting`, which is what they were cut
with.

## What deliberately did not move

The eight `tooling-<slug>-*` composed skill packages keep their names, and the
roles.kdl globs still match them. Whether that prefix names the seat or the
practice is the open question on #1354 and is not settled by a slug rename.
Their acting-seat prose did move, per the #1223 rule: "Use when eval verifies"
became "Use when science verifies".

Bare `eval` was read per occurrence rather than swept, because it also names the
activity here. Untouched, all verified as other senses: `aos-eval` and its
package, `evalkit`, the eval-ref docs, the `eval` shell builtin in
`shell/common.sh`, Redis's `never run eval` in the aosguard guardfile, and the
`--eval` flag in check_actions_run_one_line.py.

## One live consequence on a developer host

`aos` reads harness-launch-profiles.yaml from the checkout, so it answers for
the new slugs immediately, while an installed agent-compose binary predating the
rename still reports the old ones. That mismatch fails
TestLiveDefaultSeatBelongsToItsRole until agent-compose is reinstalled. The test
skips when agent-compose is absent from PATH, and the whole aterm suite passes
that way, so this is a host-local migration artifact rather than a defect.

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: eval
Merge branch 'main' into aos/claude/ad84
All checks were successful
ci / aos-eval-tests (pull_request) Successful in 8s
ci / aos-cli-tests (pull_request) Successful in 37s
ci / gate (pull_request) Successful in 1m3s
8debad1943
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!1357
No description provided.