+FriiDump 0.5.3.16-pf1
+----------------------
+- Correct standard READ DVD STRUCTURE Format placement from CDB byte 11
+ (Control) to byte 7, matching the copied Windows DMI request.
+- Add persistent Xbox PFI/DMI capture diagnostics.
+- Add an Xbox READ DVD STRUCTURE CDB source contract.
+- Preserve Candidate20 SG_IO handshake and Windows-sequence behavior unchanged.
+
+FriiDump 0.5.3.16-pf1-candidate20
+- Rejects Candidate17; do not test or promote it.
+- Removes generic RecoveryKick behavior and its repeated LBA-zero read cadence.
+- Removes automatic media-auth kicks from the generic copied Windows dump path.
+- Ports the proven Windows state-aware GDR-8050L preparation sequence into Linux style.
+- Uses direct handshake first, one tray-cycle retry only when needed, and capacity as authority.
+
+2026-07-24 Project Frankenstein Candidate16
+
+ * Release Linux optical-door locking before GDR-8050L media cycles.
+ * Restore the door lock after successful eject/load readiness.
+ * Leave the door unlocked on media-cycle failure for recoverable tray access.
+ * Add Linux Xbox tray-cycle source/documentation contract coverage.
+
+2026-07-24 Project Frankenstein Candidate15
+
+ * Document the two-part Linux access model: optical device-node access plus
+ CAP_SYS_RAWIO for vendor-specific SCSI commands.
+ * Add a release-build preflight that checks the effective capability mask
+ before GC/Wii memory-dump and Xbox vendor-unlock operations.
+ * Refuse whole-process root execution for Linux vendor-command paths and
+ direct users to a least-privilege file capability on the exact executable.
+ * Record missing raw-I/O authority in the native report and issue STOP UNIT
+ before returning.
+ * Add explicit CMake/build warnings that normal builds do not install or
+ preserve file capabilities.
+ * Add an install/status/remove helper for cap_sys_rawio=ep and a validator
+ capability phase.
+ * Document that rebuilding, replacing, copying, or re-extracting an executable
+ clears the capability.
+
+2026-07-24 Project Frankenstein Candidate12
+
+ * Copy bundled Redump DAT resources beside CMake-built executables.
+ * Install Redump DAT resources under the Unix share directory.
+ * Add FRIIDUMP_REDUMP_DAT_DIR and installed-share lookup.
+ * Preserve explicit --redump-dat-dir as an authoritative override.
+ * Report Linux exclusive optical-device locking as unavailable instead of OK.
+ * Correct the Linux validation wrapper's intentional --help exit handling.
+ * Include redump_dat in the MSVC build-results archive.
+
+2026-07-18 - FriiDump 0.5.3.15 XGD1 live closure and release cleanup
+
+ * Closed the 0.5.3.14 hardware validation on a modified GDR-8050L revision
+ 0012. The 3,820,880-sector output completed successfully and the
+ drive-captured 32-sector game lead-in matched the independent 0.5.3.13
+ geometry evidence at both boundaries.
+ * Recorded final output hashes: CRC32 cc5f0e71, MD5
+ 1207b2090701ba1f221d486c83c863e7, SHA-1
+ 5ea9b2262ba951afd9a5d2d44cd2b62a4d9decc7, and SHA-256
+ 5995f823c6d67b9e3e3b3e1c2b54e1e036793188bec6b5be4220f559305f53b9.
+ * Confirmed NO EXACT MATCH against 2,689 Microsoft Xbox DAT entries. This
+ does not invalidate acquisition: the inaccessible pregame and postgame
+ contents remain zero-filled unresolved placeholders.
+ * Made automatic DAT discovery executable-relative first, with the historical
+ current-working-directory lookup retained as a fallback. Explicit
+ --redump-dat-dir remains authoritative.
+ * Corrected sidecar wording: hardware geometry validation is complete, while
+ filler content remains unresolved.
+ * Replaced 71 local build/probe/debug artifacts with a compact evidence
+ directory containing the final geometry samples, machine-readable closure
+ record, media-layout evidence, and completed live summary.
+ * Added a C resolver test and expanded .gitignore coverage for build outputs,
+ runtime logs, and generated disc images.
+ * No XGD1 output-layout bytes changed after the accepted 0.5.3.14 live dump.
+
+2026-07-18 - FriiDump 0.5.3.14 drive-captured XGD1 game lead-in
+
+ * Promoted the successful 0.5.3.13 live geometry result: all 13 selected
+ locked/video and unlocked/game raw-sector IDs matched the expected
+ full-output mapping.
+ * Replaced the GDR-8050L full-output synthetic game lead-in with drive reads
+ from unlocked source LBA 0..31 at output LBA 198144..198175.
+ * Kept XDVDFS/game data at unlocked source LBA 32..3431263 and output LBA
+ 198176..3629407.
+ * Updated .redump.json, .media.json, and .xdvd.json layout evidence to record
+ the drive-captured lead-in source and the 0.5.3.13 physical-geometry proof.
+ * Pregame and postgame physical locations are now documented as geometry
+ verified, while their inaccessible content remains zero-filled and
+ unresolved.
+ * No claim of Redump identity is made until a new 0.5.3.14 full-disc dump is
+ hashed and compared with the canonical DAT.
+
+2026-07-18 - FriiDump 0.5.3.13 XGD1 cache-aligned raw-ID geometry correction
+
+ * Corrected the v68 raw-ID probe to mirror the proven modified-GDR-8050L
+ Method 8 cache contract: zero-transfer READ(12) cache flush, 16-sector
+ block-aligned streaming fill, and 2064-byte slot indexing.
+ * Removed raw-cache user-data equality as a geometry criterion. Method 8
+ reconstructs sectors from cache header/EDC plus READ(12) data before
+ unscrambling, so equality is not expected.
+ * Added explicit full-output LBA mapping, layer-bit decoding, 24-bit layer-1
+ PSN normalization, expected raw/normalized PSNs, and per-sample geometry
+ verdicts.
+ * Schema 2 reports now set physical_geometry_resolved only when all 13
+ selected locked/video and unlocked/game samples match exactly.
+ * Retained the v68 live run as negative/diagnostic evidence; it is not a
+ geometry promotion. No reconstruction bytes or filler policy changed.
+
+2026-07-18 - FriiDump 0.5.3.12 XGD1 raw-sector ID geometry probe
+
+ * Live validation of 0.5.3.11 confirmed that sampled READ(10) and READ(12)
+ sectors are identical in both locked/video and unlocked/game states.
+ * The locked view ends at LBA 6991 and the unlocked view ends at LBA
+ 3431263; ordinary logical reads expose no alternate source for the
+ documented synthetic pregame or postgame ranges.
+ * Added --xgd1-raw-id-probe for modified GDR-8050L firmware with HIT 0xE7
+ memdump support. It performs controlled READ(12) cache fills, captures the
+ corresponding 2064-byte raw cache sectors at 0x80000000, and records the
+ decoded DVD physical-sector number from each raw ID field.
+ * XGD1 probe modes now measure real elapsed time and suppress the unrelated
+ HLDS GC/Wii validation summary that previously reported misleading
+ seed/dump/STOP fields for a successful diagnostic run.
+ * No reconstruction mapping changed. Raw IDs are geometry evidence only;
+ inaccessible filler bytes remain unresolved.
+
+2026-07-18 - FriiDump 0.5.3.11 read-only XGD1 logical-boundary probe
+
+- Adds `--xgd1-layout-probe <file>` for the GDR-8050L challenge-handshake
+ profile on Windows.
+- Establishes and verifies the locked/video and unlocked/game views using
+ READ CAPACITY(10), then probes selected XGD1 boundary LBAs with one-sector
+ READ(10) and READ(12) commands.
+- Records per-command success, Win32 error, SCSI status, sense key/ASC/ASCQ,
+ nullable nonzero-byte/all-zero fields for failed reads, SHA-1, complete
+ 2048-byte sector data for successful reads, and explicit READ(10)/READ(12)
+ comparability in an atomic JSON report.
+- Includes the current output-layout constants and probes the visible video
+ boundaries, synthetic pregame/postgame boundaries, game lead-in/XDVDFS
+ boundary, output layer break mapping, and each reported-capacity edge.
+- Restores the entry locked/video state when the probe began locked; an
+ already-unlocked entry remains in the game view.
+- Keeps the existing 0.5.3.10 ISO/XISO output unchanged. The probe explicitly
+ leaves the pregame padding, postgame padding, and game lead-in unresolved
+ until live evidence supports a source mapping.
+- Uses only logical read commands, the established authentication handshake,
+ tray transitions, volume guard, and STOP UNIT cleanup. No firmware write,
+ flash, erase, 3B06, 3B07, or FLASHUP path was added or changed.
+