# Inventory: Version 5 FAT32 to HPT transition surfaces

Status: active; production routing dispositions implemented, cleanup remains
Type: inventory
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 013-close-hpt-media-2-initial-release-qualification; retained independently after campaign closure and requires no separate owner-queue execution.
Campaign: standalone
Parent: work/spikes/spike-version-5-retire-fat32-datalogging-and-standardize-hpt-media.md
Project Map: work/maps/map-smi-firmware-stabilization-and-qualification.md

## Scope rule

Version 5 retires FAT32/FileX only for the controller's internal SD datalogging
medium. USB mass storage remains FileX-based. Do not remove generic FileX or
USB update/export behavior merely because internal-SD FAT32 logging is retired.

## Surface inventory

| Surface | Observed implementation | Version-5 disposition |
| --- | --- | --- |
| Protocol/CID/status | `src/SdCardService.h`, `src/Thread_SdCard_entry.c`, service 467 in `src/HMI_MainEventHandler.c` | keep; it is the read-only identity/classification front door |
| HPT initialization | service 468 and HPT commissioning state in the same files | keep as the only explicit destructive internal-SD preparation path; operator privilege as already decided |
| Export fixture 469 | FAT32 fixture UI/state and FileX file generation in SD thread | retire from HPT qualification; keep only behind an explicitly historical engineering build if needed |
| Continuous endurance 470 | FAT32/FileX workload and service-474 coupling | retire from version-5 HPT qualification |
| Legacy FAT32 reset 471 | `fx_media_format`, fault-tolerant enable, marker create/verify | remove from production service routing or redefine only by a separately approved compatibility requirement; never create an internal-SD format unused by version 5 |
| Evaluator 472 | FileX format, files, mirrors, media checks, result JSON | retire as HPT qualification; replace with HPT autonomous retail-card checklist, wrap workload, full-address scrub, and machine-readable target status |
| Monitor 474 | FAT32 production-log counters/checkpoints | retire or replace with HPT-native autonomous status; do not present old counters as HPT proof |
| Startup/mount | generated `g_fx_media_sd`, `fx_media_init0_open`, fault-tolerant enable, marker logic | retain only as bounded legacy classification if required; production readiness comes from protocol + HPT state |
| Periodic/event log writes | FileX create/open/write/close/flush paths in `src/Thread_SdCard_entry.c` | remove from active internal-SD logger after HPT append is the sole production path |
| Chart/history load | `loadAllChartLogs()` and FileX record scans | route exclusively through HPT iterator/read APIs for version 5 |
| Customer export source | legacy internal-SD FileX reads plus current HPT staging | retain HPT read/stage path and USB FileX destination; delete unreachable legacy source path after tests |
| USB destination/update/audio/tuning | FileX calls in `src/Thread_Usb_entry.c` using USB media | keep; outside internal-SD retirement scope |
| Public variables/config | `gSdCardFormatStatus`, FAT marker/result fields in `src/AppVariables.h` and `src/ShelConfig.h` | classify each as compatibility telemetry, rename/replace, or remove; do not overload with HPT meaning |
| Generated Synergy objects | `g_fx_media_sd` and SSP FileX configuration | remove only after no required internal-SD classifier/compatibility path depends on them; regenerate through e2, not hand edits |
| Operator/service text | services 468–474 and SD warnings in `src/HMI_MainEventHandler.c` | make states HPT-specific; historical FAT32 tools cannot appear current |
| Docs/tests | `docs/sd-*`, `script/` FAT32/evaluator fixtures, work artifacts | mark old fixtures historical and add HPT-native replacements before deleting useful regression knowledge |

## Implementation gates

- [ ] Every internal-SD FileX caller is classified keep-legacy, replace-HPT, or
  delete; no unknown caller remains.
- [ ] USB FileX behavior is separately inventoried and protected from bulk
  removal.
- [ ] Service 467/468 privilege and explicit initialization rules remain.
- [x] Services 469/470/471/472/474 cannot produce evidence labeled as HPT 2.0
  qualification.
- [ ] Startup and retry distinguish missing, read-error, needs
  initialization, ready, unsupported, corrupt, write-protected, and degraded.
- [x] Graph and export use HPT history across wrap and gaps.
- [x] Version-4 FAT32 history remains readable only where explicitly required;
  version 5 never automatically erases it.
- [ ] Generated e2 changes, RAM/ROM deltas, Debug/Release builds, and controller
  regressions are recorded.

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

Old blanket FAT32-retirement cleanup plan is superseded by MAP-0009 target-driven FAT32 preparation and rollback support. Do not remove currently required legacy-media support on the basis of this old inventory.

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: active; production routing dispositions implemented, cleanup remains
> Next Action: after the srv-rpi00.local app coordinates service/status target verification and returns an accepted immutable result manifest, this workspace reviews the result and may remove proven-unreachable legacy source; no controller action originates here

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.
