release-process.md listed tbblue.mmc, removed from bios/ on 2026-10-20, and left out uqm-remix-disc1.uqm. A test now reads the list against git ls-files.
reading-reports.md said the cross-reference checks whether a profile's files appear in the platform config, a rule by name. Since 2026-10-10 declaration_settles counts a declaration only at the core's slot or at a size the core accepts, and an alias only where the core reads it.
architecture.md said a file found by its name claims nothing. Since 2b535525e slots.py counts such a copy (size_exact) when it has the exact size the profile declares and the platform's file another size, as RetroDECK's sgb2.boot.rom shows.
Since fed03c3db _add_zip_to_pack copies every archive of the collection as is. architecture.md and tools.md still said MAME and FBNeo romsets were rebuilt deterministically, so a third party rebuilding neogeo.zip to compare would read a sound pack as corrupt.
pcsx1, rustation and np2kai called a project abandoned, dead or never completed. Each now gives the date of the last commit or the project's own words, and a test refuses the verdicts yabause and gearboy carried too.
"abandoned fork frozen at v2.6.0 from 2018" was a verdict, and the fork took a commit on 2026-09-04. The note now says it is archived, quotes its description and the version its src/definitions.h states.
"Upstream project is dead" was a verdict published on the emulator page. The note now gives the date of the last commit on Yabause/yabause master, 2018-07-07 (7e38821d).
The get pages told a reader on another setup version to run `--check` after copying, with no command and no link, to someone holding a ZIP and no installer. The line now links the setup page's How to check section.
142 tab bars held one tab, most of them "On the device" under a heading saying so. One item now stands alone, led by its label unless it names the place the text around already gives. The network route drops "Run the command on the computer" under the heading "From your computer", which keeps RetroPie in its word budget.
The glossary's capitalised terms matched mostly inside product names and paths: Free Unix Spectrum Emulator, Windows Terminal, Documents/Dolphin Emulator, on 35 pages. A capitalised term after a capitalised word or a slash is now left alone. Acronyms keep their tooltip.
The meta description of each platform page was its summary followed by the label of a link, "ROCKNIX website.", and never said the page gives the BIOS files, their folder and the install command.
A profile whose every file comes with the app was titled "<X> BIOS files" and described by its system alone. The title now reads "<X> emulator" and the description says every file it reads comes with the app.
The Data page said a SHA1 lookup was enough because MD5 and CRC32 declarations are filed under the collection file's SHA1 too. That holds only for a file the collection holds: 702 platform MD5s and 18 CRC32s are filed under their own value alone.
The Version cell printed the file a version is read from, or its tag, as bare text beside a pinned Revision link. The file now links at the pin where the recorded tree holds it, and the tag links to its tree. cited_paths records the version files so the record can confirm them.
The emulator page showed the reason for pin_frozen and never the one for upstream_frozen, which 11 profiles record: mupen64plus read as left behind HEAD.
FBNeo reads sm1.sm1 inside neogeo.zip. The site resolved each member entry by its crc32, credited loose copies FBNeo never opens, and no neogeo.zip card named FBNeo. A member entry now resolves through archive_entry as the pack does, and its card names the archive.
The report named the folder of each file and left the copy to the contributor, one file and one .variants/ name at a time. --place copies each recognised file from outside bios/ to its folder under the name the lists declare, or to the .variants/ slot of a name already held, never over a file. A hash with two names or two folders is not placed.
validate_pr said all checks passed for random bytes and for a copy of a held file, and sent the copy to the folder that already holds it. Each now reads REVIEW with its next step, the status line counts them, and a held copy gets no placement hint. A copy inside a tree kept out of dedup is still accepted.
A remote named upstream added as CONTRIBUTING said and never fetched made validate_pr --changed compare with the fork's main and exit 0 on nothing. It now fetches the project's main when the remote does not hold it. profile_sync names the fetch when --base is absent, and CONTRIBUTING adds git fetch upstream.
CONTRIBUTING sent any file over the browser's 25 MB through a clone, which GitHub refuses past 100 MB, and named a release only a maintainer can write to. It now gives the route validate_pr.py prints: an issue with the hashes.
CONTRIBUTING named the checks CI runs on a pull request and left out the npm build, validate_site.py, vermin and the pip packages the test job installs. A wiki-only change passed every listed check and failed CI.
--skip-packs said --skip-docs would stop after verify while 4d and 4e still run, and the tools.md flag table left 8b out of --skip-docs. The help, the usage and the flag table now name the steps the step table marks.
_REGION_WORDS was bound twice in generate_site. The second table won at import, so the first, read by _region_word, was never used. The region lines now read the one table through _region_words.
comes_with_app kept an entry narrowed by mode as required and missing, while verify and the pack read it as installed with that build (validation.installed_with_emulator). The four other site checks of bundled now go through the same function.
plan_emulator_pages names systems, and siterender then fell back to the repository's database.json and emulators/ whatever --db and --emulators-dir gave.
The tooling merge took its own install.sh and install.ps1, which only
moved the pin, and dropped the bootstrap checks of the installer
batch. The ported checksum test calls the TypeScript node helper of
its merged module, and the retrodeck excerpt follows the run.
The excerpt and the source tree record follow the merged batches:
the pack counts two more core files, the held-but-not-packed line
names each reason, and the hatariB upstream tree is recorded.
A RomM row printed the served copy's sha1 under the same SHA1 it
had just declared, 313 times on the page. The note stays where the
copy is not one the row declares.
The resolver now keeps a name inside its own emulator tree and the retail Xbox dashboard files moved to bios/Microsoft/Xbox/C/, so the install lists, README counts, installer samples and games index are rebuilt from the merged tree. Built twice, identical.