From dd2f442bac7790bf007ac60b352cdb7debd2a162 Mon Sep 17 00:00:00 2001 From: "pulse-triage[bot]" <249995291+pulse-triage[bot]@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:22:53 +0100 Subject: [PATCH] Keep disk resumption controls independent of memory freshness Scope the inherited mounted-drawer disk resumption assertions to disk. Explicitly preserve unknown legacy memory and prove unchanged coordinates retain one History read. This corrects the old all-metric assertion rather than accepting disk freshness as authority for memory. Contract-Neutral: Test-only refinement for the existing independent memory/disk provenance contract; no runtime, route, API, monitoring policy or permission delta. Change-source: pulse-maintainer --- .../components/Workloads/GuestDrawer.test.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend-modern/src/components/Workloads/GuestDrawer.test.tsx b/frontend-modern/src/components/Workloads/GuestDrawer.test.tsx index edbbc40bed..d7d9b65dfe 100644 --- a/frontend-modern/src/components/Workloads/GuestDrawer.test.tsx +++ b/frontend-modern/src/components/Workloads/GuestDrawer.test.tsx @@ -309,14 +309,22 @@ describe('GuestDrawer', () => { ); expect(history.querySelector('[data-history-current="disk"]')).toBeNull(); setGuest({ ...guest(), diskStatusReason: '', disk: { total: 100, used: 75, usage: 75 } }); - expect(history.querySelector('[data-history-last-known]')).toBeNull(); - expect(history.querySelector('[data-history-deferred]')).toBeNull(); + expect(history.querySelector('[data-history-last-known="disk"]')).toBeNull(); + expect(history.querySelector('[data-history-deferred="disk"]')).toBeNull(); expect(history.querySelector('[data-history-current="disk"]')).toHaveTextContent( 'Disk75.0%current', ); + // Fresh disk evidence cannot qualify the independent legacy memory value. + expect(history.querySelector('[data-history-current="memory"]')).toBeNull(); + expect(history.querySelector('[data-history-unknown="memory"]')).toHaveTextContent( + 'freshness unknown', + ); + expect(history.querySelector('[data-history-deferred="memory"]')).toHaveTextContent( + 'Not a current measurement.', + ); expect(history.querySelector('path')).toBeNull(); - // Existing drawer target recomputation follows each guest snapshot. - // This presentation repair does not change that request ownership. + // Same target/range snapshots retain the chart and original History read. + expect(chartsApiMocks.getMetricsHistory).toHaveBeenCalledTimes(1); for (const [request] of chartsApiMocks.getMetricsHistory.mock.calls) { expect(request).toMatchObject({ resourceType: 'vm',