Closes the question the last two commits left open -- what the UI actually shows
during the dead window. It is the bad case.
Captured at 13:15, eleven minutes after THOR's last contact with the unit:
Connection Status : Connected <- false
Last Updated : 09/25/2026 01:04:22 PM <- true, and that is the REFRESH
Notification : "Unable to download event(s) ... Did not receive
response from unit." (01:03:31 PM)
Three separable points:
* The green tile is false -- it reports a live connection not exercised for
eleven minutes.
* Last Updated is TRUE, and is the only honest field on the screen. THOR knows
when it last succeeded; it renders that as small grey text under the unit
name, unhighlighted and unmarked as stale, beneath a large green Connected
tile. The operator must read a timestamp and do arithmetic to find out the
headline is wrong.
* The failure THOR did report was the DOWNLOAD, not the poller stopping. The
two are treated as unrelated; nothing states that automatic checking ceased.
So the state is not merely undisplayed: THOR holds the data that would reveal it
and presents a contradicting summary instead.
Adds design consequence 0, ahead of the others because it is the highest-value
fix and the cheapest: connection status must EXPIRE. If the last successful
check is older than a small multiple of the interval, the state is stale/unknown,
never Connected. THOR already has the timestamp; it just does not let it
invalidate the summary.
Same screen independently corroborates four of our decodes: memory 14.94/15.00 MB
against the exact 15,000,000-byte total from SUB 0x1C; Unit Date/Time 01:04:20 PM
against the device clock at 0x1C data[13:21]; Scheduler Enabled against 0x47; and
Auto Call Home Disabled against the write[5]=0x04 observed in the 0x7E capture.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ru8Lg9HkkYvX9VWWo65SmL