Finished provisioning operations show live fleet capacity #85

Closed
opened 2026-10-08 19:11:22 -04:00 by goddard · 1 comment
Collaborator

The Capacity card on a finished operation shows the fleet's current slots, not anything about the operation. A rebuild that finished an hour ago shows "Startup slots 0 / 1 in use · Capacity snapshot Just now".

  • history.ts:99-113 (capacityFor) builds the startup and restart pools from current fleet state for every create, rebuild, start and restart, whatever the operation's state.
  • +page.svelte:185-191 renders the card whenever any pool exists.

Screenshots

From the synthetic UI preview. Progress records and a launch recipe were added to the disposable fixture database using the labels the worker records. "After" images are mockups made in an uncommitted copy.

Before:
Before

After (mockup):
After (mockup)

Fix

  • Only include capacity while the operation is active (queued, waiting, running or awaiting health)
The Capacity card on a finished operation shows the fleet's current slots, not anything about the operation. A rebuild that finished an hour ago shows "Startup slots 0 / 1 in use · Capacity snapshot Just now". - `history.ts:99-113` (`capacityFor`) builds the startup and restart pools from current fleet state for every create, rebuild, start and restart, whatever the operation's state. - `+page.svelte:185-191` renders the card whenever any pool exists. **Screenshots** _From the synthetic UI preview. Progress records and a launch recipe were added to the disposable fixture database using the labels the worker records. "After" images are mockups made in an uncommitted copy._ Before: ![Before](https://gitea.thewrightserver.net/attachments/b5b8dfd2-8b62-472c-8d21-1b56d49d70db) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/39e5c571-5e6a-4768-96d1-0e19ea9c6041) **Fix** - Only include capacity while the operation is active (queued, waiting, running or awaiting health)
goddard added the
priority
low
type/ux
labels 2026-10-08 19:11:22 -04:00
josh was assigned by goddard 2026-10-08 19:11:22 -04:00
Author
Collaborator

Reviewed cdc400c6bb. The fix is done, so I'm closing this.

Checklist

  • Capacity only while active. capacityFor now returns no pools unless the operation is queued, waiting, running or awaiting health (history.ts:100), the same four states as activeProvisioningStates. The page already hides the card when there are no pools (+page.svelte:197). The updated test checks create, rebuild, start and restart in every active and finished state, and that a resumed verification gets its slot back.

Review notes

  • In the synthetic preview, a finished rebuild no longer shows the Capacity card.
  • The 4 related test files pass locally (210 tests), and npm run check reports 0 errors.
Reviewed cdc400c6bbc7c9103fdd5b3d102cc07aaf138e7f. The fix is done, so I'm closing this. **Checklist** - [x] **Capacity only while active.** `capacityFor` now returns no pools unless the operation is queued, waiting, running or awaiting health (`history.ts:100`), the same four states as `activeProvisioningStates`. The page already hides the card when there are no pools (`+page.svelte:197`). The updated test checks create, rebuild, start and restart in every active and finished state, and that a resumed verification gets its slot back. **Review notes** - In the synthetic preview, a finished rebuild no longer shows the Capacity card. - The 4 related test files pass locally (210 tests), and `npm run check` reports 0 errors.
Sign in to join this conversation.