feat(agent): per-role fleet config for warded runs (consumes cli-guard#192, builds on ward#616) #617

Closed
opened 2026-07-06 16:40:30 +00:00 by coilysiren · 1 comment
Owner

Goal

Give different harness configs to different startup roles in warded runs, declared in ward-kdl.fleet.kdl - the third of Kai's three asks (the other two land in ward#616). Example: engineer runs claude-opus-4-8 at reasoning-effort high, advisor runs claude-sonnet-5 at low.

Blocked on

  • cli-guard#192 - the Role grammar must first learn per-agent config overrides and ship a Forgejo release tag. Start this run by bumping go.mod's forgejo.coilysiren.me/coilyco-flight-deck/cli-guard pin to the tag that carries #192, then ward exec tidy.
  • ward#616 - the ward-side --config / env override plumbing and the startup echo this reuses. If #616 has not landed yet, coordinate or rebase onto it.

Scope

  1. Populate per-role agent claude { model ...; reasoning-effort ... } overlays in .ward/ward-kdl/ward-kdl.fleet.kdl (and make sync-fleet-assets) for engineer / director / advisor per Kai's intent. Keep them sparse overlays on the top-level agent claude node.
  2. Resolve the launched role's per-agent overrides and fold them into the config precedence chain built in ward#616: highest wins --config CLI flag > WARD_* env > per-role fleet override > per-agent fleet default. The role is already known at dispatch (WARD_MODE / the role arg), so resolution is: start from the agent default, overlay the role's override if present, then env, then --config.
  3. The startup model-context echo (ward#616) must show the role-derived values, and name that they came from the role overlay.

Acceptance

  • warded engineer #N and warded advisor "..." launch claude with their role's declared model/effort, visible in the startup block.
  • A role with no agent overlay behaves exactly as the top-level agent default (no regression).
  • ward exec test + ward exec vet green, pre-commit run --all-files clean, fleet two-way pin (agent_adapter_test.go) holds.
  • docs/FEATURES.md + docs/agent-roster.md / role docs updated for the per-role config surface.
## Goal Give **different harness configs to different startup roles** in warded runs, declared in `ward-kdl.fleet.kdl` - the third of Kai's three asks (the other two land in ward#616). Example: engineer runs `claude-opus-4-8` at `reasoning-effort high`, advisor runs `claude-sonnet-5` at `low`. ## Blocked on - **cli-guard#192** - the `Role` grammar must first learn per-agent config overrides and ship a Forgejo release tag. Start this run by bumping `go.mod`'s `forgejo.coilysiren.me/coilyco-flight-deck/cli-guard` pin to the tag that carries #192, then `ward exec tidy`. - **ward#616** - the ward-side `--config` / env override plumbing and the startup echo this reuses. If #616 has not landed yet, coordinate or rebase onto it. ## Scope 1. Populate per-role `agent claude { model ...; reasoning-effort ... }` overlays in `.ward/ward-kdl/ward-kdl.fleet.kdl` (and `make sync-fleet-assets`) for engineer / director / advisor per Kai's intent. Keep them sparse overlays on the top-level `agent claude` node. 2. Resolve the launched role's per-agent overrides and fold them into the config precedence chain built in ward#616: highest wins `--config` CLI flag > `WARD_*` env > **per-role fleet override** > per-agent fleet default. The role is already known at dispatch (`WARD_MODE` / the role arg), so resolution is: start from the agent default, overlay the role's override if present, then env, then `--config`. 3. The startup model-context echo (ward#616) must show the role-derived values, and name that they came from the role overlay. ## Acceptance - `warded engineer #N` and `warded advisor "..."` launch claude with their role's declared model/effort, visible in the startup block. - A role with no `agent` overlay behaves exactly as the top-level agent default (no regression). - `ward exec test` + `ward exec vet` green, `pre-commit run --all-files` clean, fleet two-way pin (`agent_adapter_test.go`) holds. - `docs/FEATURES.md` + `docs/agent-roster.md` / role docs updated for the per-role config surface.
Author
Owner

Closing: superseded by #620, which merged today ('per-role model/effort overlay resolves at launch', consuming the same cli-guard#192 via v0.73.0). Note #620 was a duplicate filed in error; the feature this asked for shipped. Follow-up: verify the landed director effort captured 'high' not the pre-correction 'medium'. Re-triage 2026-07-06.

Closing: superseded by #620, which merged today ('per-role model/effort overlay resolves at launch', consuming the same cli-guard#192 via v0.73.0). Note #620 was a duplicate filed in error; the feature this asked for shipped. Follow-up: verify the landed director effort captured 'high' not the pre-correction 'medium'. Re-triage 2026-07-06.
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/ward#617
No description provided.