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

Closed
opened 2026-07-10 11:13:47 +00:00 by coilyco-ops · 1 comment
Owner

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`).
Author
Owner

Closing as superseded by #1622. Ward owns its supported role and harness defaults and will not consume AOS roles KDL as runtime product policy.

Closing as superseded by #1622. Ward owns its supported role and harness defaults and will not consume AOS roles KDL as runtime product policy.
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
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.