Finish one-file smart-default tunable source after #1365 #1370

Closed
opened 2026-07-15 09:34:30 +00:00 by coilyco-ops · 3 comments
Member

Problem

QA of merged PR #1365 against #1175 found that the change improves many test fixtures, but it does not meet the strict done condition from #1175:

changing engineer concurrency to 6 lands in exactly one file, with no test or doc edit anywhere

Current main still tracks the smart-default values in two files:

  • .ward/ward-kdl/ward-kdl.defaults.kdl
  • cmd/ward/defaultsassets/defaults.generated.kdl

Makefile target sync-defaults-assets copies the canonical KDL into the embedded asset, and TestDefaultsAssetMatchesCanonicalSource / TestBakedSmartDefaultsMatchesCanonicalSource enforce that duplicate. That means a real default bump still requires at least the canonical file plus the generated embed copy in the commit.

Acceptance

  • Make the smart-default tunables satisfy the #1175 done condition: changing engineer-container-limit should require one tracked source file and no test or doc edits.
  • Preserve the shipped binary's baked defaults behavior.
  • Keep or replace the drift protection so stale embedded defaults cannot silently ship.
  • Add/adjust tests so the one-source contract is explicit.

Related: #1175, #1365.

## Problem QA of merged PR #1365 against #1175 found that the change improves many test fixtures, but it does not meet the strict done condition from #1175: > changing engineer concurrency to 6 lands in exactly one file, with no test or doc edit anywhere Current `main` still tracks the smart-default values in two files: - `.ward/ward-kdl/ward-kdl.defaults.kdl` - `cmd/ward/defaultsassets/defaults.generated.kdl` `Makefile` target `sync-defaults-assets` copies the canonical KDL into the embedded asset, and `TestDefaultsAssetMatchesCanonicalSource` / `TestBakedSmartDefaultsMatchesCanonicalSource` enforce that duplicate. That means a real default bump still requires at least the canonical file plus the generated embed copy in the commit. ## Acceptance - Make the smart-default tunables satisfy the #1175 done condition: changing `engineer-container-limit` should require one tracked source file and no test or doc edits. - Preserve the shipped binary's baked defaults behavior. - Keep or replace the drift protection so stale embedded defaults cannot silently ship. - Add/adjust tests so the one-source contract is explicit. Related: #1175, #1365.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

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

Accepted by ward agent --harness codex (reserved 2026-07-15T09:34:51Z). 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#1370 · branch issue-1370 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1370 · ward v0.710.0 · dispatched 2026-07-15T09:34:44Z
  • Comment thread: 0 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.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-1370` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T09:34:51Z). 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#1370` · branch `issue-1370` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1370` · ward `v0.710.0` · dispatched `2026-07-15T09:34:44Z` - **Comment thread:** 0 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.710.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1373

details

workflow: pull-request-and-merge; review summary: review gate intentionally skipped because the temporary ward default is pending brokered QA
implementation felt: mostly wiring, with the only surprise being the generated defaults asset needing to leave the index as well as the tree
confidence: high
follow-ups: merge PR #1373 once the director sweeps it

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1373 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: review gate intentionally skipped because the temporary ward default is pending brokered QA implementation felt: mostly wiring, with the only surprise being the generated defaults asset needing to leave the index as well as the tree confidence: high follow-ups: merge PR #1373 once the director sweeps it </details>
Author
Member

QA after merge #1373:

PR #1373 fixed the tracked-source shape and passed PR CI, but it did not fully satisfy #1370 because the release binary build path broke after the generated defaults asset became ignored.

Post-merge evidence:

run 8427 / #2181 success promote.yml push main "Finish one-file smart-default tunable source after #1365 (#1373)"
run 8431 / #2182 failure release.yml push release "Finish one-file smart-default tunable source after #1365 (#1373)"
publish-binaries failed:
cmd/ward/configsource.go:32:12: pattern defaultsassets/defaults.generated.kdl: no matching files found

Filed and dispatched follow-up #1375 with the same labels to repair the release build while preserving the one-file smart-default source contract.

QA after merge #1373: PR #1373 fixed the tracked-source shape and passed PR CI, but it did not fully satisfy #1370 because the release binary build path broke after the generated defaults asset became ignored. Post-merge evidence: ```text run 8427 / #2181 success promote.yml push main "Finish one-file smart-default tunable source after #1365 (#1373)" run 8431 / #2182 failure release.yml push release "Finish one-file smart-default tunable source after #1365 (#1373)" publish-binaries failed: cmd/ward/configsource.go:32:12: pattern defaultsassets/defaults.generated.kdl: no matching files found ``` Filed and dispatched follow-up #1375 with the same labels to repair the release build while preserving the one-file smart-default source contract.
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#1370
No description provided.