Fleet tunables are multi-encoded across ward/ward-kdl - single-source them so a concurrency bump is a one-file change #1175

Closed
opened 2026-07-13 06:02:33 +00:00 by coilyco-ops · 8 comments
Member

Problem

Kai's report: bumping one fleet tunable (the example: raising ward engineer concurrency to 6) requires editing 3 or 4 places - the owning KDL value, plus tests and other surfaces that hardcode the same value. Tests that restate config values turn every tuning change into a multi-file chore and rot silently when the value moves.

aos landed the consumer-side half in 27eccc2: the aos suite no longer asserts guardfile or KDL content, the new AGENTS.md validation rule says tests never encode config values, and bundle validity is gated by loading it (ward doctor as a standalone ci job and a promote gate step).

Ask

Apply the same discipline in ward and ward-kdl, where the fleet-tuning axis (roster defaults, concurrency, reservation TTLs) lives:

  • Audit ward/ward-kdl tests and docs for assertions that restate an embedded tunable's value. Replace each with a check that derives the value from its owning source, or with load-time validation (doctor), or delete it.
  • The done condition is Kai's example: changing engineer concurrency to 6 lands in exactly one file, with no test or doc edit anywhere.

Non-goal

aos-side test content - already landed in aos 27eccc2.

Filed by the agent from Kai's desktop session, 2026-07-13.

## Problem Kai's report: bumping one fleet tunable (the example: raising ward engineer concurrency to 6) requires editing 3 or 4 places - the owning KDL value, plus tests and other surfaces that hardcode the same value. Tests that restate config values turn every tuning change into a multi-file chore and rot silently when the value moves. aos landed the consumer-side half in `27eccc2`: the aos suite no longer asserts guardfile or KDL content, the new AGENTS.md validation rule says tests never encode config values, and bundle validity is gated by loading it (`ward doctor` as a standalone ci job and a promote gate step). ## Ask Apply the same discipline in ward and ward-kdl, where the fleet-tuning axis (roster defaults, concurrency, reservation TTLs) lives: * Audit ward/ward-kdl tests and docs for assertions that restate an embedded tunable's value. Replace each with a check that derives the value from its owning source, or with load-time validation (doctor), or delete it. * The done condition is Kai's example: changing engineer concurrency to 6 lands in exactly one file, with no test or doc edit anywhere. ## Non-goal aos-side test content - already landed in aos `27eccc2`. Filed by the agent from Kai's desktop session, 2026-07-13.
Owner

And in case it wasnt obvious: the only file it should live in is the KDL file configuring the ward platform default value

And in case it wasnt obvious: the only file it should live in is the KDL file configuring the ward platform default value
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1175 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T01:22:40Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/ward#1175 · branch issue-1175 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1175 · ward v0.693.0 · dispatched 2026-07-15T01:22:31Z
  • Comment thread: 1 included in the pre-flight read, 0 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.693.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1175` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T01:22:40Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/ward#1175` · branch `issue-1175` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1175` · ward `v0.693.0` · dispatched `2026-07-15T01:22:31Z` - **Comment thread:** 1 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilysiren (2026-07-13T15:52:48Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.693.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Release triage note from Kai on 2026-07-15: headless carry is valid. The canonical and exclusive default config source is .ward/ward-kdl/ward-kdl.defaults.kdl; concurrency and fleet tunables should not be redefined in tests, docs, or ward code as separate truth sources.

Release triage note from Kai on 2026-07-15: headless carry is valid. The canonical and exclusive default config source is `.ward/ward-kdl/ward-kdl.defaults.kdl`; concurrency and fleet tunables should not be redefined in tests, docs, or ward code as separate truth sources.
Author
Member

WARD-TRIAGE: warded control plane coherence milestone

This issue is part of the warded control plane coherence sprint. The release thesis is to make warded feel like one dependable control plane for agent work: higher safe parallelism, coherent config defaults, reliable broker/container behavior, human-feedback gates, and enough structured evidence for the next actor after a paused or failed run.

For this sprint, headless means an engineer should be able to carry the issue from current issue context to a merged change without new human decisions. If the issue discovers a missing decision, split or demote the unclear part instead of guessing.

WARD-TRIAGE: warded control plane coherence milestone This issue is part of the `warded control plane coherence` sprint. The release thesis is to make `warded` feel like one dependable control plane for agent work: higher safe parallelism, coherent config defaults, reliable broker/container behavior, human-feedback gates, and enough structured evidence for the next actor after a paused or failed run. For this sprint, `headless` means an engineer should be able to carry the issue from current issue context to a merged change without new human decisions. If the issue discovers a missing decision, split or demote the unclear part instead of guessing.
Author
Member

WARD-TRIAGE: coherence-core label

This issue is part of the coherence-core review set for the warded control plane coherence sprint. Treat it as release-spine work: it should directly improve the safety, capacity, configuration coherence, observability, or recovery loop that makes director burndown trustworthy.

Core does not mean broader scope. Keep the implementation narrow, verify current main before reusing prior failed PRs, and split any design fork or lower-confidence follow-up out of the core path.

WARD-TRIAGE: coherence-core label This issue is part of the `coherence-core` review set for the `warded control plane coherence` sprint. Treat it as release-spine work: it should directly improve the safety, capacity, configuration coherence, observability, or recovery loop that makes director burndown trustworthy. Core does not mean broader scope. Keep the implementation narrow, verify current `main` before reusing prior failed PRs, and split any design fork or lower-confidence follow-up out of the core path.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1175 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T09:03:49Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/ward#1175 · branch issue-1175 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1175 · ward v0.710.0 · dispatched 2026-07-15T09:03:44Z
  • Comment thread: 4 included in the pre-flight read, 1 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.710.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1175` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T09:03:49Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/ward#1175` · branch `issue-1175` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1175` · ward `v0.710.0` · dispatched `2026-07-15T09:03:44Z` - **Comment thread:** 4 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilysiren (2026-07-13T15:52:48Z), @coilyco-ops (2026-07-15T06:55:18Z), @coilyco-ops (2026-07-15T07:16:34Z), @coilyco-ops (2026-07-15T07:16:47Z) - stripped: @coilyco-ops (2026-07-15T01:22:41Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.710.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1365

details

workflow: pull-request-and-merge; review summary: review gate intentionally skipped because the temporary ward default pending brokered QA.

Retrospective: the source-backed fixture renderer cleaned up the duplication cleanly.
Confidence: high.
Surprises: the first PR run died in Forgejo job setup; a retry commit cleared it.
Follow-ups: none.

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1365 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: review gate intentionally skipped because the temporary ward default pending brokered QA. Retrospective: the source-backed fixture renderer cleaned up the duplication cleanly. Confidence: high. Surprises: the first PR run died in Forgejo job setup; a retry commit cleared it. Follow-ups: none. </details>
Author
Member

QA after merge #1365:

The PR removed a substantial amount of test-level default restatement and switched several fixtures to derive from canonical smart defaults. However, it does not fully meet this issue's strict done condition that changing the engineer concurrency lands in exactly one file.

Current main still tracks the same smart-default values in both .ward/ward-kdl/ward-kdl.defaults.kdl and cmd/ward/defaultsassets/defaults.generated.kdl; make sync-defaults-assets copies the first into the second, and the defaults asset drift tests enforce that duplication. That means a real engineer-container-limit bump still requires more than one tracked file.

Filed and dispatched follow-up #1370 with the same labels to finish the one-file source contract.

QA after merge #1365: The PR removed a substantial amount of test-level default restatement and switched several fixtures to derive from canonical smart defaults. However, it does not fully meet this issue's strict done condition that changing the engineer concurrency lands in exactly one file. Current `main` still tracks the same smart-default values in both `.ward/ward-kdl/ward-kdl.defaults.kdl` and `cmd/ward/defaultsassets/defaults.generated.kdl`; `make sync-defaults-assets` copies the first into the second, and the defaults asset drift tests enforce that duplication. That means a real `engineer-container-limit` bump still requires more than one tracked file. Filed and dispatched follow-up #1370 with the same labels to finish the one-file source contract.
Sign in to join this conversation.
No project
No assignees
2 participants
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#1175
No description provided.