# Ticket: report missing SD card after Home stabilizes

Status: superseded; HPT protocol-based status implemented
Type: ticket
Updated: 2026-07-14
Next Action: use work/tickets/ticket-report-protocol-based-sd-card-detection-and-status.md
Campaign Reason: Historical record from campaign 011-qualify-degraded-sd-operation-and-logging-integrity; retained independently after campaign closure and requires no separate owner-queue execution.
Campaign: standalone
Superseded By: work/tickets/ticket-report-protocol-based-sd-card-detection-and-status.md
Parent: work/wp/active/wp-sd-card-degraded-boot-and-logging-integrity.md

## Problem

A no-card boot reached normal control and Home as designed, but the operator was
not told that data logging was unavailable. The About screen status is not
sufficient because it requires deliberate navigation.

## Expected Behavior

After Home is stable with `SD_CARD_STATE_UNAVAILABLE`, display one warning per
absence episode: the SD card is not installed, data logging and chart history
are unavailable, and temperature control remains active. Do not block control,
format media, or repeatedly interrupt the operator while mount retries occur.

## Implementation

`src/HMI_MainEventHandler.c` counts three normal Home refresh cycles in the
unavailable state before opening the existing message screen. `OPENING` retry
states neither trigger nor re-arm the warning. Only `READY` re-arms it for a
later removal. Static regression checks cover the delay, latch, and message.

Clean Debug and Release builds passed on 2026-07-14. Release S-record SHA-256:
`5D576BDE27C46C298DC4CD3CB8C3798D47FA3F71B265015A369426E0DD86FC82`.
Build evidence: `work/evidence/sd-followup-fixes-build-20260714.md`.

## Acceptance Criteria

- [x] Missing SD remains nonfatal and control reaches Home.
- [x] Warning is delayed until three Home refresh cycles complete.
- [x] Warning explicitly distinguishes unavailable logging/history from active control.
- [x] Retry transitions cannot repeatedly display it.
- [x] A `READY` transition re-arms the next absence episode.
- [x] Automated checks and clean Debug/Release builds pass.
- [x] On-target no-card cold boot displays the warning after Home stabilizes (controller 1751219, 2026-07-16).
- [ ] Dismissal returns to Home and does not cause another warning while absent.
- [ ] Insert/reach `READY`, then remove; exactly one new warning appears.
- [ ] Temperature control, alarms, UI, and watchdog remain operational throughout.
