diff --git a/docs/fleet-recovery-qualification-20261007.md b/docs/fleet-recovery-qualification-20261007.md
new file mode 100644
index 00000000..7d826b90
--- /dev/null
+++ b/docs/fleet-recovery-qualification-20261007.md
@@ -0,0 +1,47 @@
+# Fleet recovery qualification — 7 October 2026
+
+Status: source regression fixes qualified; deployed-browser and distributed
+transport acceptance remain open. This supplements tasks 8, 10 and 12 without
+claiming that the full Fleet acceptance matrix is complete.
+
+## Findings and changes
+
+A failed status poll only surfaced an error during the initial load. Once reports
+were cached, network failures silently left the previous view in place. The view
+now keeps those reports, selection and sort order, with an explicit failed-refresh
+notice and Retry. An initial failure without reports remains an unavailable state.
+A successful refresh clears the notice. Report timestamps continue ageing; a
+monitoring failure is not relabelled as proof that a peer is offline.
+
+Concurrent refreshes could overwrite newer status/alerts with older replies.
+Status, alerts and refresh completion now track request generations. Replies
+arriving after unmount cannot repopulate the session cache or change the view.
+Malformed status envelopes cannot advance the successful-refresh timestamp.
+
+## Evidence
+
+Focused Vitest run: **21 tests passed in four files**, zero failures, including
+actual Fleet view rendering with retained cards, outage notice and successful
+Retry. Other cases cover a missing cache, late status/alert replies, a malformed
+status response, late responses after unmount, real zero versus unavailable
+metrics, report ageing, sorting and selected-node history isolation.
+
+Log: `/tmp/archy-fleet-recovery-tests-final.log`.
+This is local component/composable evidence, not a live-node outage test.
+No node service, peer relationship, wallet or payment was changed.
+
+## Remaining acceptance matrix
+
+| Area | Established evidence | Remaining |
+| --- | --- | --- |
+| Report rendering | Local normalization/render tests; earlier dev/Yaya metrics evidence in progress ledger | Updated sender/receiver comparison across supported versions |
+| Status freshness | Clock-driven ageing, unknown versus stale, no synthetic metric zero | Real partition, reconnect and transport delivery |
+| Refresh failures | Visible retained reports; empty failure; Retry recovery | Candidate browser at phone/desktop widths and deployed artifact |
+| Concurrent replies | Newest status/alerts win; no unmount cache repopulation | Distributed delay/out-of-order delivery |
+| Selection/sorting | Retained across failure; history request isolation | Larger-fleet navigation and keyboard checks |
+| Authorization | No permission changes in this patch | Unauthorized/expired-trust actual-handler matrix |
+| Remote actions/updates | Outside this patch | Disposable-node success/partial failure/restart/update matrix |
+| FIPS | Existing preferred authenticated transport unchanged | Measured latency, fallback, reconnect and mixed capabilities |
+
+No current-node restart or deliberate network outage was performed. Live fault
+qualification must preserve wallets, installed applications and operator intent.
diff --git a/neode-ui/src/views/Fleet.vue b/neode-ui/src/views/Fleet.vue
index 4e8e39ef..7cbab122 100644
--- a/neode-ui/src/views/Fleet.vue
+++ b/neode-ui/src/views/Fleet.vue
@@ -71,13 +71,19 @@
-