# FriiDump 0.5.3.8 — Xbox Reference-Path Redump Evidence Handoff

## Scope

This update closes the Redump-verification boundary that remained after
FriiDump 0.5.3.7. On Windows, the copied GDR-8050L reference dumper already
calculated finalized full-file CRC32, MD5, SHA-1, and SHA-256 values and wrote
XGD1 sidecars, but those values did not return to FriiDump's shared DAT
verifier.

The update changes evidence handoff, result propagation, and reporting. It does
not add or modify any optical-drive firmware-update, flash, erase, `3B06`,
`3B07`, or `FLASHUP` operation.

## Result contract

`xbox_ref_dump_result` now carries:

- whether the reference path was attempted;
- the actual dump/write result;
- dump mode (`1` full-disc ISO or `2` XISO);
- actual finalized output path;
- output sector count;
- actual output byte count;
- CRC32;
- MD5;
- SHA-1;
- SHA-256;
- whether all finalized hashes are complete.

This explicit contract supports both an `-i <file>` override and bare `-i`,
where the copied reference path derives `Title[MediaID].iso` after reading XBE
and DMI metadata.

## No duplicate 7.29 GiB hash pass

The copied reference path already reopens the finalized file and calculates
CRC32, MD5, SHA-1, and SHA-256. FriiDump 0.5.3.8 reuses those values directly.
It does not reread the complete Xbox image solely to feed the DAT verifier.

The schema-2 report records:

```text
hash_source = GDR-8050L reference finalized full-file hashes
```

## Corrected success propagation

Before this update, the bridge called `DumpXboxGameDisc()` and then assigned
success unconditionally. `DumpXboxGameDisc()` now returns its real dump/write
result. The bridge and normal FriiDump validation summary therefore cannot
claim success merely because the copied function returned to its caller.

## Unified logging lifetime

When FriiDump supplies the existing drive handle, the copied bridge no longer
closes the active target log before returning. The shared Redump evidence block,
atomic-report completion line, final STOP UNIT result, validation summary, and
log-completion line can remain in one target log.

The standalone bridge entry point still closes the log it owns.

## XISO boundary

Xbox `-X` remains intentionally outside Redump DAT verification. XISO is a
partition representation and does not have the byte layout of a full Redump
Original Xbox disc image.

## XGD1 representation honesty

PFES-TR-004 requires synthetic ranges to remain explicit and states that a
correct output size or layer break does not establish Redump hash identity.
The shared report now includes `representation_note` for Xbox results:

```text
XGD1 acquisition success and exact Redump hash identity are separate claims;
documented synthetic reconstruction ranges may prevent an exact match.
```

Therefore, a successful physical read followed by `NO EXACT MATCH` is a valid
and expected evidence outcome for the current reconstructed layout. It is not
promoted to archive identity.

## GameCube regression evidence

Before this integration, FriiDump 0.5.3.7 was live-validated against two
distinct GameCube DAT entries:

- Sonic Mega Collection (USA)
- Super Smash Bros. Melee (USA) (En,Ja) (Rev 2)

The Melee run completed with seed retrieval in 3 seconds, full dump and STOP
UNIT success, and exact size/CRC32/MD5/SHA-1 agreement.

## Local validation

- Linux CMake build: PASS
- v64 ZIP overlay onto the v63 baseline, internal SHA-256 verification, and rebuild: PASS
- Help/version output: PASS (`FriiDump 0.5.3.8`)
- Result-contract source checks: PASS
- Existing GameCube Melee DAT exact-match regression: PASS
- Xbox Red Faction II (USA) DAT exact-match parser fixture: PASS
- Xbox no-hash-correlation fixture: PASS
- Prior live Red Faction II reconstructed hashes against current Xbox DAT: expected `NO EXACT MATCH`, PASS
- Existing Reed-Solomon warnings: unchanged and outside scope

A prior live Red Faction II reconstructed ISO had the correct 7,825,162,240-byte
size but hashes `0babc98e` / `207043740237dc31ae0768027b0fbaa5` /
`cd67731da785e9eba8a64cf73ae429c812fb6a62`. Against the current Xbox DAT this
produces `NO EXACT MATCH`, no hash-correlated candidate, and 2,626 same-size
entries. This is the expected PFES-honest outcome for the current synthetic
layout.

The Windows GDR-8050L/cross-flashed GDR-8163B full-disc run remains the required
live validation for the new result handoff and common report path.
