Apply per-role x per-harness model/reasoning-effort overrides from the split roles.kdl (verify through ward#1009 migration) #1029

Open
opened 2026-07-10 11:13:47 +00:00 by coilyco-ops · 0 comments
Member

Problem

agentic-os#438 restores the per-role x per-harness model + reasoning-effort override data in the aos ward-specs bundle (.ward/roles.kdl), which commit agentic-os@8a04260 dropped when it split ward-kdl.fleet.kdl into agents.kdl / roles.kdl / defaults.kdl.

cli-guard's fleetconfig parses those overrides into Role.AgentConfig (RoleAgentOverride{ Model, Endpoint, ReasoningEffort, Verbosity }). ward is the consumer that must apply that overlay onto the effective agent at dispatch time (so a director run under --harness claude launches with the role's overridden model + reasoning-effort, not the baseline agent claude defaults).

This worked before the refactor (director/advisor/ops ran opus-4-8 / xhigh). This issue is to verify that the application path survives the split-file migration in ward#1009 and add/confirm regression coverage, since ward#1009 is actively reshaping how ward consumes the renamed/split bundle files and the roles overlay now arrives from a standalone roles.kdl (root node roles) rather than nested in fleet.

Dependency / ordering

  • Blocked on / coordinate with ward#1009 ("Consume renamed and split aos ward-specs bundle files"). ward main CI is currently red behind #1009; land this after #1009 is green. Do not fight #1009's branch - build on landed main.
  • Depends on agentic-os#438 for the restored roles.kdl override data to exercise end to end.

Scope

  • Confirm ward reads Role.AgentConfig from the split roles.kdl and applies each per-agent model / reasoning-effort (/ endpoint / verbosity) override when resolving the launched agent for that role x harness.
  • If the #1009 split-file consumption dropped or bypassed that application, restore it.
  • Add a test: a director (and advisor) run resolved under a given harness launches with the role's overridden model + reasoning-effort, sourced from a roles.kdl fixture carrying the overlay.

Acceptance

  • A role with a per-harness override in roles.kdl produces an effective launch spec using the overridden model + reasoning-effort for that harness.
  • Baseline (no override) roles still fall back to the top-level agent defaults.
  • Regression test covering the overlay application.
  • ward main CI green.
  • agentic-os#438 - restores the override data + regression guard + docs in the aos bundle.
  • ward#1009 - the split-file consumption migration this must not regress.
  • cli-guard parser: pkg/fleetconfig/fleetconfig.go (RoleAgentOverride, parseRoleAgent, Role.AgentConfig).
## Problem `agentic-os#438` restores the per-role x per-harness `model` + `reasoning-effort` override data in the aos ward-specs bundle (`.ward/roles.kdl`), which commit `agentic-os@8a04260` dropped when it split `ward-kdl.fleet.kdl` into `agents.kdl` / `roles.kdl` / `defaults.kdl`. cli-guard's fleetconfig parses those overrides into `Role.AgentConfig` (`RoleAgentOverride{ Model, Endpoint, ReasoningEffort, Verbosity }`). **ward is the consumer that must apply that overlay** onto the effective agent at dispatch time (so a `director` run under `--harness claude` launches with the role's overridden model + reasoning-effort, not the baseline `agent claude` defaults). This worked before the refactor (director/advisor/ops ran opus-4-8 / xhigh). This issue is to **verify that the application path survives the split-file migration in `ward#1009`** and add/confirm regression coverage, since `ward#1009` is actively reshaping how ward consumes the renamed/split bundle files and the roles overlay now arrives from a standalone `roles.kdl` (root node `roles`) rather than nested in `fleet`. ## Dependency / ordering * **Blocked on / coordinate with `ward#1009`** ("Consume renamed and split aos ward-specs bundle files"). ward main CI is currently red behind `#1009`; land this after `#1009` is green. Do not fight `#1009`'s branch - build on landed main. * Depends on `agentic-os#438` for the restored `roles.kdl` override data to exercise end to end. ## Scope * Confirm ward reads `Role.AgentConfig` from the split `roles.kdl` and applies each per-agent `model` / `reasoning-effort` (/ `endpoint` / `verbosity`) override when resolving the launched agent for that role x harness. * If the `#1009` split-file consumption dropped or bypassed that application, restore it. * Add a test: a `director` (and `advisor`) run resolved under a given harness launches with the role's overridden model + reasoning-effort, sourced from a `roles.kdl` fixture carrying the overlay. ## Acceptance * A role with a per-harness override in `roles.kdl` produces an effective launch spec using the overridden model + reasoning-effort for that harness. * Baseline (no override) roles still fall back to the top-level `agent` defaults. * Regression test covering the overlay application. * ward main CI green. ## Related * `agentic-os#438` - restores the override data + regression guard + docs in the aos bundle. * `ward#1009` - the split-file consumption migration this must not regress. * cli-guard parser: `pkg/fleetconfig/fleetconfig.go` (`RoleAgentOverride`, `parseRoleAgent`, `Role.AgentConfig`).
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#1029
No description provided.