Stop director dispatch from exceeding the global engineer limit #1016

Closed
opened 2026-07-10 10:23:14 +00:00 by coilyco-ops · 13 comments
Member

Problem

During the infrastructure#520 director loop, warded list repeatedly showed more running engineer containers than the stated global limit.

Live evidence from the read-only director surface on 2026-07-10 UTC:

ward agent: running engineer containers (13)
...
ward agent engineer --harness codex: global engineer limit is reached: 13 running (limit 12)

This happened after several dispatches had already been admitted. The overage is not just display noise: issue comments from deferred runs also reported 13 running (limit 12), while later broker dispatches were still able to start new containers.

This matters for the first-run loop because capacity pressure is already one of the reasons stale engineers block progress, and the director surface currently lacks a working local Docker reaper path.

Do

  • Trace how the dispatcher admits a new engineer when the global running count is already at or above the limit.
  • Make the limit check atomic enough for concurrent director/broker dispatches, or add a lock/ledger check that fails closed under races.
  • Ensure warded list and dispatch capacity checks count the same population of containers.
  • Keep brokered warded stop usable for manual cleanup while the pool is over limit.

Acceptance

  • A test or fixture covers two concurrent dispatches racing at limit - 1 and proves the final running count does not exceed the configured limit.
  • When warded list reports N running, dispatch capacity checks use the same N or explain any excluded classes.
  • A dispatch attempted at or above the limit defers without creating a container.
  • The failure/deferred issue comment names the current count and does not leave a phantom reservation with no container.

Related: coilyco-flight-deck/infrastructure#520, coilyco-flight-deck/ward#1011, and coilyco-flight-deck/ward#1007.

## Problem During the `infrastructure#520` director loop, `warded list` repeatedly showed more running engineer containers than the stated global limit. Live evidence from the read-only director surface on 2026-07-10 UTC: ```text ward agent: running engineer containers (13) ... ward agent engineer --harness codex: global engineer limit is reached: 13 running (limit 12) ``` This happened after several dispatches had already been admitted. The overage is not just display noise: issue comments from deferred runs also reported `13 running (limit 12)`, while later broker dispatches were still able to start new containers. This matters for the first-run loop because capacity pressure is already one of the reasons stale engineers block progress, and the director surface currently lacks a working local Docker reaper path. ## Do * Trace how the dispatcher admits a new engineer when the global running count is already at or above the limit. * Make the limit check atomic enough for concurrent director/broker dispatches, or add a lock/ledger check that fails closed under races. * Ensure `warded list` and dispatch capacity checks count the same population of containers. * Keep brokered `warded stop` usable for manual cleanup while the pool is over limit. ## Acceptance * A test or fixture covers two concurrent dispatches racing at `limit - 1` and proves the final running count does not exceed the configured limit. * When `warded list` reports `N running`, dispatch capacity checks use the same `N` or explain any excluded classes. * A dispatch attempted at or above the limit defers without creating a container. * The failure/deferred issue comment names the current count and does not leave a phantom reservation with no container. Related: coilyco-flight-deck/infrastructure#520, coilyco-flight-deck/ward#1011, and coilyco-flight-deck/ward#1007.
Author
Member

WARD-RESERVATION: held 🔒

reservation details

Holder: container engineer-codex-ward-1016 on host kais-macbook-pro-2.local.

Reserved by ward agent --harness codex (reserved 2026-07-10T10:43:56Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL). --force 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#1016 · branch issue-1016 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-ward-1016 · ward v0.580.0 · dispatched 2026-07-10T10:43:56Z
  • 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.580.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-ward-1016` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T10:43:56Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL). `--force` 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#1016` · branch `issue-1016` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-ward-1016` · ward `v0.580.0` · dispatched `2026-07-10T10:43:56Z` - **Comment thread:** 1 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:23:23Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.580.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: blocked 🛑

details workflow: pull-requests-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default

Blocked on coilyco-flight-deck/ward#1009. Forgejo CI failed at go test after 20s, and the local ward test run still fails on the current source-bundle/specgen cleanup surface:

  • TestCapabilityGuardfilesExist
  • TestDefaultsAssetsMirrorWardKDL
  • TestExecAssetsMirrorWardKDL
  • TestFleetAssetsMirrorWardKDL
  • TestOpsAssetsMatchWardKDL
  • TestRunSetupWithUnsetRef
  • TestSmartDefaultsBaked
  • TestTopologyAssetsMirrorWardKDL
  • TestMountWardKdlExecMountsNewSurfaces
  • TestMountWardKdlExecSkipsCollisions

The engineer-capacity lock and race coverage are in place, but I am not landing over the cleanup blocker.

WARD-OUTCOME: blocked 🛑 <details><summary>details</summary> workflow: pull-requests-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default Blocked on coilyco-flight-deck/ward#1009. Forgejo CI failed at `go test` after 20s, and the local ward test run still fails on the current source-bundle/specgen cleanup surface: - `TestCapabilityGuardfilesExist` - `TestDefaultsAssetsMirrorWardKDL` - `TestExecAssetsMirrorWardKDL` - `TestFleetAssetsMirrorWardKDL` - `TestOpsAssetsMatchWardKDL` - `TestRunSetupWithUnsetRef` - `TestSmartDefaultsBaked` - `TestTopologyAssetsMirrorWardKDL` - `TestMountWardKdlExecMountsNewSurfaces` - `TestMountWardKdlExecSkipsCollisions` The engineer-capacity lock and race coverage are in place, but I am not landing over the cleanup blocker. </details> <!-- ward-agent-signature -->
Author
Member

WARD-RESERVATION: held 🔒

reservation details

Holder: container engineer-codex-ward-1016 on host kais-macbook-pro-2.local.

Reserved by ward agent --harness codex (reserved 2026-07-10T17:08:15Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL). --force 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#1016 · branch issue-1016 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-ward-1016 · ward v0.584.0 · dispatched 2026-07-10T17:08:15Z
  • Comment thread: 2 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.584.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-ward-1016` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T17:08:15Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL). `--force` 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#1016` · branch `issue-1016` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-ward-1016` · ward `v0.584.0` · dispatched `2026-07-10T17:08:15Z` - **Comment thread:** 2 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:23:23Z), @coilyco-ops (2026-07-10T10:57:16Z) - stripped: @coilyco-ops (2026-07-10T10:43:57Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.584.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Blocked: the engineer-capacity fix is in and the targeted regression passes locally, but the clean go test ./... suite still fails in cmd/ward on two unrelated tests: TestBacklogRefreshReservationStates and TestBuildForgejoOpsWithRealLookingConfigRef.

I stopped here instead of claiming merge-ready.

Blocked: the engineer-capacity fix is in and the targeted regression passes locally, but the clean `go test ./...` suite still fails in `cmd/ward` on two unrelated tests: `TestBacklogRefreshReservationStates` and `TestBuildForgejoOpsWithRealLookingConfigRef`. I stopped here instead of claiming merge-ready.
Author
Member

Post-mortem — closed in the 2026-07-10 ward pileup cleanup. Root cause: a Codex director in /goal (slash-goal) mode hammered the goal criteria hard enough to spin off the rails, mass-dispatching engineers with no backpressure, producing ~30 PRs that jammed the merge queue. Prevention now owned by ward#1069 (anti-churn epic), ward#1073 (open-PR backpressure gate, default 6, broker + pre-flight), aos#450 (codex binary + director model upgrade).

PR#1025 restored the deleted .ward/ward-kdl bundle (~6535 lines / 20 files; tip commit literally 'restore ward-kdl source bundle') — same forbidden shortcut. Closed. Re-cut clean off current main, no bundle restore. Deferred until ward drains under the backpressure cap, per ward#1073.

**Post-mortem — closed in the 2026-07-10 ward pileup cleanup.** Root cause: a Codex director in `/goal` (slash-goal) mode hammered the goal criteria hard enough to spin off the rails, mass-dispatching engineers with no backpressure, producing ~30 PRs that jammed the merge queue. Prevention now owned by ward#1069 (anti-churn epic), ward#1073 (open-PR backpressure gate, default 6, broker + pre-flight), aos#450 (codex binary + director model upgrade). PR#1025 restored the deleted `.ward/ward-kdl` bundle (~6535 lines / 20 files; tip commit literally 'restore ward-kdl source bundle') — same forbidden shortcut. Closed. Re-cut clean off current `main`, no bundle restore. **Deferred until ward drains under the backpressure cap**, per ward#1073.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

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

Accepted by ward agent --harness codex (reserved 2026-07-15T01:20:23Z). 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#1016 · branch issue-1016 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1016 · ward v0.693.0 · dispatched 2026-07-15T01:20:11Z
  • Comment thread: 3 included in the pre-flight read, 2 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-1016` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T01:20:23Z). 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#1016` · branch `issue-1016` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1016` · ward `v0.693.0` · dispatched `2026-07-15T01:20:11Z` - **Comment thread:** 3 included in the pre-flight read, 2 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:57:16Z), @coilyco-ops (2026-07-10T17:24:42Z), @coilyco-ops (2026-07-10T18:30:17Z) - stripped: @coilyco-ops (2026-07-10T10:43:57Z), @coilyco-ops (2026-07-10T17:08:16Z) 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. Director dispatch must respect the same global engineer limit as other launch paths, with shared counting and a clear refusal or deferral reason when the limit is reached.

Release triage note from Kai on 2026-07-15: headless carry is valid. Director dispatch must respect the same global engineer limit as other launch paths, with shared counting and a clear refusal or deferral reason when the limit is reached.
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-1016 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T09:14:23Z). 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#1016 · branch issue-1016 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1016 · ward v0.710.0 · dispatched 2026-07-15T09:14:17Z
  • Comment thread: 6 included in the pre-flight read, 3 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-1016` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T09:14:23Z). 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#1016` · branch `issue-1016` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1016` · ward `v0.710.0` · dispatched `2026-07-15T09:14:17Z` - **Comment thread:** 6 included in the pre-flight read, 3 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:57:16Z), @coilyco-ops (2026-07-10T17:24:42Z), @coilyco-ops (2026-07-10T18:30:17Z), @coilyco-ops (2026-07-15T06:55:29Z), @coilyco-ops (2026-07-15T07:16:32Z), @coilyco-ops (2026-07-15T07:16:46Z) - stripped: @coilyco-ops (2026-07-10T10:43:57Z), @coilyco-ops (2026-07-10T17:08:16Z), @coilyco-ops (2026-07-15T01:20:24Z) 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: blocked 🛑

details

manual close/update snapshot at 2026-07-15T09:41:17Z is newer than the latest ward acknowledgement at 2026-07-15T09:14:23Z

This action is blocked until the feedback is visibly acknowledged.

— Codex, via ward agent

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> manual close/update snapshot at 2026-07-15T09:41:17Z is newer than the latest ward acknowledgement at 2026-07-15T09:14:23Z This action is blocked until the feedback is visibly acknowledged. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1369

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

Implemented a typed Forgejo issue-feed split, held capacity release until a new engineer container becomes visible, and tightened the list/count path so dispatch and warded list read the same running population.

Confidence: high. Surprise: the refreshed main had moved the embedded defaults asset, so I had to merge that base update too before the branch would build cleanly.

Follow-ups: none.

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1369 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: review gate intentionally skipped because temporary ward default pending brokered QA Implemented a typed Forgejo issue-feed split, held capacity release until a new engineer container becomes visible, and tightened the list/count path so dispatch and `warded list` read the same running population. Confidence: high. Surprise: the refreshed `main` had moved the embedded defaults asset, so I had to merge that base update too before the branch would build cleanly. Follow-ups: none. </details>
Author
Member

QA follow-up: PASS. PR #1369 merged at 5dc306f5f5. Evidence: PR test run 8441 succeeded, post-merge promote run 8443 succeeded, and release run 8444 succeeded.

Code review matched the issue criteria: enforceEngineerContainerLimit counts live runningEngineerContainers plus active reservation launch intents; ward agent list derives capacity from the same live running set and reservation-backed rows; admission creates the reservation under the repo launch lock so the next launch sees the fresh intent before the new container is visible; at-capacity refusal is a typed capacity backpressure error that reports active count and limit without creating a container.

Focused local verification on main passed after the required generated-asset sync step:
make sync-defaults-assets && WARD_CONFIG_REF=file://$PWD/.ward/ward-kdl go test ./cmd/ward -run "TestEngineerContainerLimit|TestLaunchAgentContainerRejectsAtLimitWithoutReservation|TestEngineerCapacityLockSerializesConcurrentAdmissions|TestEngineerCapacityLockWaitsForVisibleContainerBeforeRelease|TestAgentRunningEngineerFromInspectIncludesReservation|TestFormatAgentListCapacityNotesUnavailableSource|TestBacklogRefreshReservationStates|TestBacklogReservationState|TestAgentListIncludesReservedLaunchPhase|TestAgentListKeepsStalePrelaunchRowsVisibleButExcluded|TestAgentListKeepsFailedBeforeStartRowsVisibleButExcluded|TestActiveEngineerLaunchCount" -count=1

QA follow-up: PASS. PR #1369 merged at 5dc306f5f56af04946c814ae75b1910e5e182cbc. Evidence: PR test run 8441 succeeded, post-merge promote run 8443 succeeded, and release run 8444 succeeded. Code review matched the issue criteria: `enforceEngineerContainerLimit` counts live `runningEngineerContainers` plus active reservation launch intents; `ward agent list` derives capacity from the same live running set and reservation-backed rows; admission creates the reservation under the repo launch lock so the next launch sees the fresh intent before the new container is visible; at-capacity refusal is a typed capacity backpressure error that reports active count and limit without creating a container. Focused local verification on main passed after the required generated-asset sync step: `make sync-defaults-assets && WARD_CONFIG_REF=file://$PWD/.ward/ward-kdl go test ./cmd/ward -run "TestEngineerContainerLimit|TestLaunchAgentContainerRejectsAtLimitWithoutReservation|TestEngineerCapacityLockSerializesConcurrentAdmissions|TestEngineerCapacityLockWaitsForVisibleContainerBeforeRelease|TestAgentRunningEngineerFromInspectIncludesReservation|TestFormatAgentListCapacityNotesUnavailableSource|TestBacklogRefreshReservationStates|TestBacklogReservationState|TestAgentListIncludesReservedLaunchPhase|TestAgentListKeepsStalePrelaunchRowsVisibleButExcluded|TestAgentListKeepsFailedBeforeStartRowsVisibleButExcluded|TestActiveEngineerLaunchCount" -count=1`
Sign in to join this conversation.
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#1016
No description provided.