All checks were successful
Demo images / Build & push demo images (push) Successful in 3m36s
Task 1: built keepalive-remount-probe.spec.ts, a committed, re-runnable Playwright spec covering every KEEP_ALIVE_PATHS tab with three added instruments (instance-uid, session-wide console/pageerror capture, DOM population/pathname logging per hop) beyond 02-08's ad-hoc probe. Eliminated suspects 2 (runtime error), 3 (LRU eviction), 4 (route.path mismatch) and 5 (include-name matching) by direct measurement. Confirmed suspect 1 with positive proof: an authoritative document.elementFromPoint() hit-test signal contradicted the naive selector-match method's "remounted" verdict for both Server and Web5 across independent runs, and a companion diagnostic found the original stamped root still connected+visible under a different (unpicked) match. Root cause: Server, Web5 and Fleet share the fully generic .view-container [data-controller-container] selector every KeepAlive-cached main tab's root carries via fallthrough, which cannot disambiguate "the foreground tab" from "another cached tab still connected to the document" once more than one tab has been visited — the normal, intended KeepAlive state. Settings (the away tab every round trip uses) independently renders matching content too (AccountInfoSection/ KioskDisplaySection), compounding the ambiguity. Server.vue and Web5.vue's instances survive tab round-trips exactly like every other registered tab — no defect in DashboardRouterView.vue, dashboardViewWrappers.ts, keepAliveRoutes.ts or Server.vue's KeepAlive wiring. 02-FINDINGS.md records the full method, eliminated suspects and verdict per D-10 (this commit lands before any src change, per gate). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>