# Fingerprint Candidate Load and Cold-Boot Evidence

Status: pass for candidate programming, legacy-record reset, redundant commit, and cold-boot preservation
Type: evidence
Updated: 2026-07-15
Next Action: complete UI commissioning, then obtain separate authority for destructive persistence fault injection
Campaign Reason: Historical record from campaign 009-complete-clean-contract-bound-a-b-qualification; retained independently after campaign closure and requires no separate owner-queue execution.
Campaign: standalone
Parent: work/wp/completed/wp-semantic-configuration-validation-and-recovery.md

## Target and candidate

- J-Link V9.60, serial `69664082`, target voltage 3.304--3.309 V.
- Renesas R7FS7G27H / Cortex-M4 over SWD at 4 MHz.
- Debug SREC SHA-256:
  `FDEB112C248CDC5508FD3AD096B2E18CAE1EE3FC865E8C88350E0A60D5CB69E4`.
- Shared `smi.jflash` excluded internal data flash and external QSPI.
- J-Flash automation exited successfully.
- Direct post-load comparison checked 2,827,180 program bytes and 16 option
  bytes from the S-record with zero mismatches.
- Option memory was unchanged, SHA-256
  `80A76A18ACF8CB64FEC3A659FFC4BAB4A87CD9A6FDE4DAB2161A8751D136C9D2`.

## Recovery baseline

| Capture | Bytes | SHA-256 |
| --- | ---: | --- |
| Pre-load program flash | 3,145,728 | `44787AA8C917E0F21297866591F80E6ED6531339628E2A8B56B3116964AC9C18` |
| Pre-load VEEPROM | 4,096 | `55A2A1509D87A65F034133913B897F5BCE058BC08661AA7EF7FB2C2DB1889A04` |
| Pre-load option memory | 48 | `80A76A18ACF8CB64FEC3A659FFC4BAB4A87CD9A6FDE4DAB2161A8751D136C9D2` |

The pre-load VEEPROM carried legacy generic version 1, generation 1, machine
type SMI, model 3, and therefore intentionally failed the new positive
current-schema fingerprint.

## First boot

- Legacy version-1 data was replaced by clean SMI defaults.
- Both 2,048-byte VEEPROM blocks were byte-identical.
- Header words were schema `0x534D4902`, generation 1, serial 0, machine SMI,
  model 0, magic `0x534D4943`, stored size `0x59C` (1,436), layout 1.
- Part ID was `Not Configured`.
- Post-load VEEPROM SHA-256:
  `F8174AC262B04FFB3A3DA0E264136A5D038AA29720B9960701801B410F0E6B73`.
- Configuration operational flag was 1; findings/changed/inhibited were zero;
  commissioning-required was 1; startup event was factory-defaults.

## Cold power cycle

The operator power-cycled the controller. The subsequent read showed:

- Boot complete: `gPowerOnStatus = 0xC00000FF`.
- Configuration operational: 1.
- Findings, changed fields, and inhibited controls: 0.
- Commissioning required: 1, as expected for model 0 / Not Configured.
- Startup events: 0, proving the fingerprinted record was preserved rather
  than reset again.
- Both redundant blocks remained identical and the full 4,096-byte VEEPROM
  hash remained exactly
  `F8174AC262B04FFB3A3DA0E264136A5D038AA29720B9960701801B410F0E6B73`.
- Main temperature was approximately 36.7 C with nonzero heater demand,
  confirming normal control remained operational.
- The only system error bit was the expected missing-SD condition. SD state was
  UNAVAILABLE with `FX_IO_ERROR (0x90)`, and the operator confirmed the new
  missing-card Home warning was displayed.

## Disposition

This run passes the actual older/current-unfingerprinted-SMI to new-SMI clean
reset, redundant commit, exact program verification, cold reboot preservation,
commissioning state, degraded missing-SD UI, and active-control smoke checks.
It does not claim DispTest/DDS transitions, manufactured block corruption,
flash failure, concurrent target saves, or interruption-at-write-boundary tests.

## Industrial SD follow-up

After the known-good Industrial card was inserted and the controller returned
online, a read-only snapshot showed SD state READY, last status 0, one open
attempt, zero mirror failures, three completed log records, and zero dropped
records. `gMainSystemErrors` was zero. Configuration remained operational with
zero findings, and temperature control remained active near 37.2 C with
nonzero heater demand.
