Provisioning job page shows the same progress four or five times #82

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

The job page tells the same story in several places, which is most of why it feels overloaded.

  • The phase and step list (ProvisioningProgress.svelte:20-47) takes its verify steps from the checks (provisioning-presentation.ts:43-48).
  • The checks list then repeats those checks as full cards (ProvisioningProgress.svelte:62-70).
  • A "Recorded checkpoints" disclosure lists the same milestones again (ProvisioningProgress.svelte:56).
  • A "Remote request accepted" card (ProvisioningProgress.svelte:48) and a "Host agent execution" card (+page.svelte:149-162) describe the command step separately.
  • The Activity section adds recent updates plus the full history (ProvisioningActivity.svelte:81-104).
  • "Last evaluated" appears in the outcome card (+page.svelte:141) and again above the checks (ProvisioningProgress.svelte:62).

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

  • Show one timeline of phases and steps, with each check's expected and observed values under its step
  • Fold the checkpoints, the command card and the host agent card into the step they belong to
  • Collapse the Activity log by default and keep it as the raw record
  • Show "last evaluated" once
The job page tells the same story in several places, which is most of why it feels overloaded. - The phase and step list (`ProvisioningProgress.svelte:20-47`) takes its verify steps from the checks (`provisioning-presentation.ts:43-48`). - The checks list then repeats those checks as full cards (`ProvisioningProgress.svelte:62-70`). - A "Recorded checkpoints" disclosure lists the same milestones again (`ProvisioningProgress.svelte:56`). - A "Remote request accepted" card (`ProvisioningProgress.svelte:48`) and a "Host agent execution" card (`+page.svelte:149-162`) describe the command step separately. - The Activity section adds recent updates plus the full history (`ProvisioningActivity.svelte:81-104`). - "Last evaluated" appears in the outcome card (`+page.svelte:141`) and again above the checks (`ProvisioningProgress.svelte:62`). **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/ac91edf4-a8ac-4d72-9cd8-70608b459d0a) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/7167e445-4cce-4728-9a4b-5616865f9eff) **Fix** - [x] Show one timeline of phases and steps, with each check's expected and observed values under its step - [x] Fold the checkpoints, the command card and the host agent card into the step they belong to - [x] Collapse the Activity log by default and keep it as the raw record - [x] Show "last evaluated" once
goddard added the
priority
medium
type/ux
labels 2026-10-08 19:11:21 -04:00
josh was assigned by goddard 2026-10-08 19:11:21 -04:00
Author
Collaborator

Reviewed 485a73c422. All four fix items are done, so I'm closing this.

Checklist

  • One timeline with evidence under each step. Each check is mapped to its phase (provisioning-presentation.ts:47) and rendered under its step with expected and observed values and provenance (ProvisioningProgress.svelte:45). The separate checks list is gone. The release manifest stays in the revision step but doesn't count as runtime verification (provisioning-presentation.ts:88).
  • Checkpoints, command and host agent folded in. Checkpoints go to the step they belong to, including staging, receipt and recovery checkpoints recorded after the worker moved on (provisioning-presentation.ts:52, ProvisioningProgress.svelte:80). The command and host agent details now sit under the host-agent step (ProvisioningProgress.svelte:61,68). The Host agent execution card and the "Recorded checkpoints" disclosure are removed.
  • Activity collapsed by default. The Activity section is now a single closed "Full activity history" disclosure (ProvisioningActivity.svelte:74-76).
  • "Last evaluated" shown once. It now appears only in the outcome card (+page.svelte:152).

Review notes

  • Good extras: evidence recorded under an older phase layout still gets a step instead of disappearing (provisioning-presentation.ts:66), and a legacy operation with no progress snapshot still shows its host agent details. The event count now uses countLabel, which also fixes "1 events".
  • In the synthetic preview, a completed rebuild's phases carry all their evidence. The failed rebuild reads "Stopped here · Observed unhealthy" in the readiness phase, with the later steps "Not run".
  • The full test suite passes locally (205 files, 2,591 tests), and npm run check reports 0 errors.
  • Minor and non-blocking: every phase now opens by default on an operation that isn't done (#83 handles done ones), so a failed or active operation also shows its completed phases expanded. If that gets long, opening only the current or failed phase would trim it.
Reviewed 485a73c4229fbc2d6a312d4e1f1e0e1fa68ad88e. All four fix items are done, so I'm closing this. **Checklist** - [x] **One timeline with evidence under each step.** Each check is mapped to its phase (`provisioning-presentation.ts:47`) and rendered under its step with expected and observed values and provenance (`ProvisioningProgress.svelte:45`). The separate checks list is gone. The release manifest stays in the revision step but doesn't count as runtime verification (`provisioning-presentation.ts:88`). - [x] **Checkpoints, command and host agent folded in.** Checkpoints go to the step they belong to, including staging, receipt and recovery checkpoints recorded after the worker moved on (`provisioning-presentation.ts:52`, `ProvisioningProgress.svelte:80`). The command and host agent details now sit under the host-agent step (`ProvisioningProgress.svelte:61,68`). The Host agent execution card and the "Recorded checkpoints" disclosure are removed. - [x] **Activity collapsed by default.** The Activity section is now a single closed "Full activity history" disclosure (`ProvisioningActivity.svelte:74-76`). - [x] **"Last evaluated" shown once.** It now appears only in the outcome card (`+page.svelte:152`). **Review notes** - Good extras: evidence recorded under an older phase layout still gets a step instead of disappearing (`provisioning-presentation.ts:66`), and a legacy operation with no progress snapshot still shows its host agent details. The event count now uses `countLabel`, which also fixes "1 events". - In the synthetic preview, a completed rebuild's phases carry all their evidence. The failed rebuild reads "Stopped here · Observed unhealthy" in the readiness phase, with the later steps "Not run". - The full test suite passes locally (205 files, 2,591 tests), and `npm run check` reports 0 errors. - Minor and non-blocking: every phase now opens by default on an operation that isn't done (#83 handles done ones), so a failed or active operation also shows its completed phases expanded. If that gets long, opening only the current or failed phase would trim it.
Sign in to join this conversation.