diff_truth matched by name with a rank, export_native by path, guarded name and hash: on current data each named files the other did not. Both now read one matcher, which also accepts aliases and sha256.
generate_db wrote a database without the aliases of a profile it could not read, and the MAME and FBNeo refreshes passed without it. Each now names the file and exits non-zero.
The site imported two parsing functions from profile_sync, so every change to the comparison tool redeployed an unchanged site. The grammar now lives in sourceref.py.
A comment after an entry swallowed the closing brace, so gba was rewritten with its emulator gate lost. The entry is now read with literal_eval, which also stops executing the platform's text.
RomM kept hashes the truth contradicts beside the corrected one, RetroDECK kept a cleared md5, Recalbox counted changes on an element it writes back whole, and two record formats counted fills no record could hold.
The scraper skipped RetroArch's own EmuScripts installer, so no libretro core's files reached the EmuDeck pack: np2kai, neocd and every core checkBIOS.sh does not name. RetroArch now stays in the list, as in RetroPie's.
opera-boot.bin, blueMSX's own RS232.ROM, the GameCube IPLs filed under their system, and Triforce's codehandler.bin from the Dolphin Sys tree the pack carries.
GC/EUR/IPL.bin fell through to its bare name and the union of five regions, so a Batocera or standalone Dolphin pack never reduced it. The GameCube IPLs of four Dolphin-family profiles now name their system, as the MMJR profiles do.
The manifest resolved core files without the data directories: blueMSX's pack carried its own MSX2P.rom while the manifest named another dump for the installer.
A multi-system profile shipped every entry: the Lynx system pack carried 34 PlayStation, Saturn and Apple II files from mednafen. The entry's own system decides, as the platform pack and the installer already do.
Upstream reads any .rom/.bin, .fls/.nor, .nand and .nand0 in the model directory and refuses two files in one slot. The pc1000.fls alias described a name that would now stop the PC1000.
Upstream compiles Opera Boot into the core as the default BIOS and reads opera-boot.bin from the system directory. Every retail BIOS becomes optional; opera-boot.bin is collected from the opera-boot release, identical to the embedded image.
The refs described upstream's libretro.c while source_commit named the fork, where the loader moved to src/ and a missing ROM now shuts the core down cleanly. A bump no longer advances a pin no ref resolves in.
xm6typeg took XM6 Utility's synthesized SCSIINROM.DAT while the X68000 dump sat under another casing; blueMSX took a 16 KB RS232.ROM once msx-emu's 8 KB copy was set aside, though data/bluemsx held its own.
The LaserActive v1.05 variant read WONDER-MEGA BOOTROM 1.00W at 0x100, as No-Intro and TOSEC name it. It moves to the Mega CD tree and the catalogued v1.05 (md5 927df773) takes its place.
verify kept the worst verdict on the raw destination, the builder the first one it read. Both now key on the sanitized path and let a declaration that holds a file fill one that finds nothing.