# FriiDump Candidate13 Seed Diagnostics

Candidate13 is a diagnostic successor to Candidate12. It does not intentionally
change the HLDS Method 8 cache/memdump schedule. It makes failures observable in
normal release builds and guarantees cleanup after seed failure.

## Added evidence

During the initial twenty Nintendo seed blocks, FriiDump now writes
`[SEED-DIAG]` records to both the console and the ordinary FriiDump log. Records
identify:

- seed-block number and sector range;
- normal retry or split-recovery profile;
- prefetch/cache-reset, streaming read, header memdump, EDC memdump, or
  EDC/unscramble-validation stage;
- transport result;
- operating-system error;
- SCSI status and sense key/ASC/ASCQ;
- the final command descriptor block when a transport command was involved.

The final classified failure is copied into the native report's `notes` array.
This preserves schema generation 1 while making the failure machine-readable
without requiring a DEBUG or VERBOSE build.

## Cleanup change

When Nintendo disc initialization or seed retrieval fails, FriiDump now issues
STOP UNIT and records whether it succeeded. Candidate12 and earlier attempted
STOP UNIT only after a dump had begun.

## Preserved behavior

Candidate13 retains Candidate12's:

- Redump DAT resolver and packaged DAT files;
- truthful Linux exclusive-lock reporting;
- native report contracts;
- Xbox copied-dumper behavior;
- Method 8 cache geometry and retry/split-recovery behavior.

## Validation boundary

Static and Linux build validation can prove that all diagnostic stages are
present, transport evidence is captured on Linux and Windows, native reports
remain valid, and existing Redump/Xbox contracts remain intact. One live
GCC-4244 B101 run is required to identify the actual intermittent seed-failure
boundary.
