# Ticket: report missing SD card after Home stabilizes

Status: superseded; HPT protocol-based status implemented
Type: ticket
Updated: 2026-09-23
Next Action: none; retained as history; any new execution requires a new explicit owner instruction
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.

## Owner-directed reconciliation — 2026-09-23

Reconcile stale active lifecycle to the previously documented superseded disposition; no new test or broader acceptance claim.

Authorization: Owner instruction in this conversation on 2026-09-23 to close/abandon the named work and mitigate older active records.

Previous header retained for evidence interpretation:

> Status: superseded; HPT protocol-based status implemented
> Next Action: use work/tickets/ticket-report-protocol-based-sd-card-detection-and-status.md

Earlier observations, unchecked historical criteria, and procedures below/above remain history. This administrative disposition does not qualify a new firmware candidate, physical card, thermal system, ECO, or release. Current 00.05.01 obligations in IDEA-0006, IDEA-0007, MAP-0009, and CAMP-0028 remain unchanged.
