# Controller A injected HPT adapter error diagnostics

Status: passed; all injected open/read/write and synchronous-flush checks complete
Type: evidence
Updated: 2026-07-22
Next Action: plan and authorize the media-full test workload and duration
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/wp/completed/wp-hpt-embedded-log-store-v0-4-0-renesas-integration.md

## Candidate

- Controller A: assembly `1751136`, J-Link `69664082`
- Isolated build root:
  `E:\dev\high_point\e2_workspaces\7520553_hpt_error_diag_efa1626117514b0997d612a8684ad3f4`
- Debug S-record SHA-256:
  `8C02AD623631D0C6709DF22B9B03E4736E114FB10749AB3E534DD3FCB631E599`
- Release S-record SHA-256:
  `4F72141CF1BBA25E8B260EEF179240AD75FB2FD8F808676333098DAE0EB5FC15`
- Clean Debug/Release builds: pass
- J-Link program and verify: pass

## Test isolation

All injected open, read, write, write-protection, and successful-write/flush
paths used RAM-only mock block media. The live HPT card was opened normally and
was used only for geometry and invalid bounds calls rejected inside the adapter
before SSP access. The 8,904-byte mock qualification context is statically
allocated rather than placed on the 4,096-byte SD thread stack.

SSP 2.6.1 exposes no separate media flush command. Therefore no independent
transport-level flush failure can be injected. The diagnostic instead proves
the reviewed synchronous contract: an injected SSP write failure propagates as
`HPT_STATUS_IO_ERROR` and never becomes pending; a successful mock SSP write
becomes pending and the adapter flush clears it successfully.

## Controller result

| Result | Value |
| --- | ---: |
| Passed mask | `0x00000FFF` (all 12) |
| Failed mask | `0x00000000` |
| Injected SSP status | 20 (`SSP_ERR_TIMEOUT`) |
| Observed geometry | 512 bytes x 15,654,912 sectors |
| Protected-media mock writes | 0 |
| Live SD/HPT state | `RAW_HPT` / `HPT_READY` |
| Live HPT/SSP status | 0 / 0 |
| Active records / next sequence | 1 / 2 |

The injected read and write cases preserved the exact injected SSP status and
physical sector. The injected open failure returned I/O error and left the mock
media closed. Controller A resumed after the RAM read. The physical card was
not formatted, appended, or otherwise written during these diagnostics, and
the commissioning record remained committed.
