YENRA DISC PRESERVATION KIT — September 7, 2026
Guide: https://yenra.com/how-long-cds-and-dvds-last/

Purpose: organize your own optical-disc files and compare a copied file tree.
Contents: this README, disc-inventory.txt, verify_files.py.
Use the inventory alone if you do not want to run Python.

FIRST STEPS
Assign a disc ID; record its label, format, unique contents, and any read errors.
Copy ordinary data-disc files to a new empty folder. Keep filenames/subfolders.
For audio CDs, video structures, and proprietary backup sets, use a compatible
extraction or restore workflow. This tool does not perform those operations.

FILE COMPARISON (Python 3.10 or later, no additional packages)
Extract this ZIP. Open a terminal in the extracted folder.
Replace the following example paths with your actual folders:
python verify_files.py "D:/" "C:/Disc-preservation/DISC-001/original-files" --report "C:/Disc-preservation/DISC-001/verification.json"
Use python3 instead of python on systems configured that way.
The destination copy must already exist; the tool only reads the two trees.
The report parent folder must exist. Use a new report filename for every run.
Keep reports outside both trees. Symbolic links/junctions and overlapping roots
are refused. Use stable local folders with files fully available to read.

RESULTS
Exit 0: nonempty source and every file matches by relative name, bytes, SHA-256.
Exit 1: investigate missing, extra, mismatched, read_errors, or empty source.
Exit 2: invalid paths, unavailable folders, or report creation failure.
The JSON retains hashes for both trees. Reports may contain private filenames;
keep them with the preserved collection, not in public posts.
Unreadable files cause failure even if other files match. Empty folders, file
permissions, timestamps, alternate data streams, and extended attributes are
outside the comparison. Files must remain unchanged during the run.
The tool reads the entire disc again: for fragile media, prioritize recovery
and logs before repeated full comparisons. It is not a damaged-sector reader.

NEXT
Open representative files in appropriate applications. Matching hashes establish
byte agreement, not historical authenticity or complete audio/video extraction.
Copy the verified files and notes to separate storage and compare that copy.
Keep originals when making edited or converted access copies.
Record a future check date; check readability and refresh copies as needed.

SOURCE CONTEXT
NIST/CLIR optical-disc care (2003):
https://nvlpubs.nist.gov/nistpubs/legacy/sp/NISTspecialpublication500-252.pdf
Library of Congress photo preservation:
https://www.digitalpreservation.gov/personalarchiving/photos.html
Python hashlib:
https://docs.python.org/3/library/hashlib.html
This kit's workflow and comparison program are original Yenra aids.
