Commit Graph
1987 Commits
Author SHA1 Message Date
Abdessamad Derraz 2a13e3ee11 fix: recount commits touching a path once stale
The commit list behind the triage drift score was cached for good,
so pushes upstream never moved a profile up the triage. It now
expires like the other moving answers.
2026-10-18 03:53:12 +02:00
Abdessamad Derraz 2dcb49fa4c fix: keep a held file in emulator region packs
Emulator mode reduced region groups without knowing which files the
collection holds, so a requested-region image nobody had collected
withdrew the held one and left the slot empty. Platform mode already
kept it; both emulator readers now pass the database.
2026-10-18 03:52:47 +02:00
Abdessamad Derraz a40a68c1f7 fix: group a system once whatever its spelling
The platform's files and the core extras for the Master System sat
in two region groups, sega-master-system and sega-mastersystem,
reduced apart. A US pack kept the declared Japanese BIOS. A core
extra's system group now takes the platform's spelling, in the pack,
the report and the installer's manifest fields alike.
2026-10-18 03:51:57 +02:00
Abdessamad Derraz 97c973c7e2 chore: regenerate manifests and readme 2026-10-18 03:48:26 +02:00
Abdessamad Derraz cab70e16b3 fix: skip the citation checks without jsonschema
The doubled-path tests import validate_schemas, which needs
jsonschema; without it the suite erred instead of skipping, which
the optional dependency check refuses.
2026-10-18 03:24:43 +02:00
Abdessamad Derraz e9da4d72ed fix: write one truth model per target, not alias
generate_truth named a narrowed model's directory after the target
as typed, so three aliases of one target wrote three copies, and
the pipeline rebuilt the slug by hand to diff it. One function now
names the directory from the canonical target for both.
2026-10-18 02:55:45 +02:00
Abdessamad Derraz 44d363e739 fix: name a target the way each platform files it
A target was canonicalised once for the run and kept as typed under
--all when platforms file it differently, so the --all build and a
--platform check named the same Batocera pack two ways. Each pack,
group, manifest and expected name now takes the target as its own
platform files it.
2026-10-18 02:53:33 +02:00
Abdessamad Derraz 78902ccc6a fix: name the flag one-per-slot conflicts with
--platform --system --one-per-slot was refused with a message
asking for --platform, which the command carried. The refusal now
names --system or --emulator, and every refusal in the mode matrix
is checked never to ask for a flag it was given.
2026-10-18 02:52:02 +02:00
Abdessamad Derraz 9ba63e6a54 fix: refuse a platform list where one is taken
generate_pack split --platform on commas to validate it, then used
the whole string as one platform and crashed. Every script takes a
single platform; a list is refused with a message pointing at --all.
2026-10-18 02:50:58 +02:00
Abdessamad Derraz 1bdfb8d75e fix: list passing entries in verbose verify JSON
verify accepted --verbose beside --json and dropped it in every
mode, so the output was the same with or without it. The JSON now
lists every entry with its ground truth under --verbose.
2026-10-18 02:50:18 +02:00
Abdessamad Derraz 8a9d6919d9 feat: record the pin a prose reread confirmed
A prose citation whose text lived under several pins stayed in
read again until the text changed, so fixnes, zesarux and emucorex,
exact at their pins, would have refused every later bump.
prose_written_at names the pin a reader confirmed; it settles the
readings and never overrides a history with one candidate.
2026-10-18 02:49:24 +02:00
Abdessamad Derraz a5f41511cc fix: read a semicolon as a citation separator
lynx-emu cites the mednafen upstream after a semicolon, which the
prose scanner did not treat as a list delimiter, so the citation
was charged to the fork the profile was read from.
2026-10-18 02:47:37 +02:00
Abdessamad Derraz 9802804a9a fix: tell an offline cache miss from absence
Offline, fetch_file answered None for a path the cache never
stored, the same answer as a path known to be absent, and
profile_sync reported existing files as gone. A miss now raises
NotCachedError and the profile is reported unverified.
2026-10-18 02:46:57 +02:00
Abdessamad Derraz b91449590d fix: follow an upstream the port vendors as module
libretro/TIC-80 builds nesbox/TIC-80 through its core submodule
and tic80's upstream_commit is that submodule commit. Compared to
nesbox HEAD, profile_sync reported changes the shipped core never
had, and a bump would have moved the pin past it. When an upstream
pin is a submodule pointer of the source pin, its head is the
pointer at the source HEAD.
2026-10-18 02:45:27 +02:00
Abdessamad Derraz 99d9ac12c2 fix: hold reicast on the commit Recalbox builds
reicast documents the revision Recalbox's reicast.mk pins, far
behind master. Compared to HEAD it reported refs nobody could act
on; pin_frozen now says why the pin is held.
2026-10-18 02:43:50 +02:00
Abdessamad Derraz 0450ab1b72 fix: cite primehack's Realtek loader at its pin
A comment named the Bluetooth directory twice, a path no revision
holds, and every firmware ref sat ten lines above the case it meant.
Each now cites its case and return at the pinned commit. The schema
check reads profiles as text and refuses a citation that repeats
its own directories.
2026-10-18 02:43:06 +02:00
Abdessamad Derraz 35c067fcc0 fix: collect the BAM 1.5-408 build fploader names
The profile documents BAM 1.5-408 but the collection held the
1.5-360 BAM.dll and renderingengine.dll, served by name. ravarcade
still serves BAM_v1.5-408.zip; its two DLLs become the primaries,
with hashes, and the 1.5-360 builds stay as variants.
2026-10-18 02:41:38 +02:00
Abdessamad Derraz 89b22944ef fix: collect the C-BIOS 0.29 notes msx-emu ships
The entry documents the 0.29 notes and declared no hash, so the
0.23 notes in the C-BIOS machine folder were served by name. The
file comes from MSX.emu's res/firmware at the profile's pin.
2026-10-18 02:41:38 +02:00
Abdessamad Derraz 1101c7640b fix: let a primary beat its variant across casing
Only a .variants/ copy matched IPLROM.X1 exactly, so x1 got
Recalbox's second md5 while iplrom.x1, the dump every platform
pins, sat beside it. When every exact-case match is a variant, a
primary in the same directory under its own name joins the
candidates. Another machine's font.rom or an alias pointing at a
different file does not.
2026-10-18 02:36:12 +02:00
Abdessamad Derraz fd6ae1f5c9 fix: strip only a hash suffix off variant names
slots dropped the last extension of any .variants/ name, so a
variant stored under its plain name (63 of them, aes.zip among
them) was not the family of its primary and a platform declaring
both at one path would read as a collision. The database already
stripped an eight-hex suffix only; both now read one function.
2026-10-18 02:33:10 +02:00
Abdessamad Derraz 6448a1ab3d chore: regenerate manifests and readme 2026-10-18 02:31:13 +02:00
Abdessamad Derraz 5fa3f2aebe fix: drop variants whose bytes a file holds
A copy under .variants/ exists to hold a content its primary does
not. 29 held bytes another file already carried, under a second or
third identity: msx.rom and MSX.ROM variants equal to
MSX_8020-20bios.rom, naomi2.zip.da79eca4 whose suffix named the
primary's sha1 rather than its own. dedup now removes such a copy,
keeping one when only variants hold the content. The LaserActive
PAC-S10 BIOS lived only under .variants/ while RetroBat names it
without a hash; it moves beside its siblings.
2026-10-18 02:31:13 +02:00
Abdessamad Derraz d68e5602bd fix: list the ROMs Flycast opens in each archive
naomi_roms.h opens each BIOS archive member by filename, one per
region. Without the names, a copy of hod2bios.zip lacking
epr-21329.ic27 counted as the archive and Japan games had no BIOS.
2026-10-18 02:30:57 +02:00
Abdessamad Derraz 7d1b8435bc fix: rank same-named archives by what they hold
The name step only ranked archive copies by members declared
through archive sub-entries, and the contents an archive entry lists
never reached the resolver, so the first copy indexed won. contents
now ranks copies by crc32, or by member name where the code opens
by name, and the report and both extra passes carry it. With no
layout declared, a primary holding every ROM of the others wins;
two revisions keep the index order.
2026-10-18 02:30:53 +02:00
Abdessamad Derraz da59b20aa6 fix: file the Roland ROMs under Roland
The four MT-32 and CM-32L ROMs had a second copy in the Amiga
tree, and the identity exemption that hid the crossing named a
DOSBox tree instead. The copies move next to the Munt ROMs already
under Roland, and each exemption now names the makers it covers,
so a copy under a third one is reported.
2026-10-18 01:25:50 +02:00
Abdessamad Derraz e4960dd4f8 fix: declare EmuDeck's emulators as standalone 2026-10-18 01:19:52 +02:00
Abdessamad Derraz fad4fa6d7e fix: read core files in verify as the builder does 2026-10-18 01:18:32 +02:00
Abdessamad Derraz 3766588ec1 fix: keep tree entries out of the asset store 2026-10-18 01:16:28 +02:00
Abdessamad Derraz faa8af0800 refactor: annotate every remaining signature 2026-10-18 00:44:20 +02:00
Abdessamad Derraz 5961b6bfe7 refactor: annotate the shared pack and lock api 2026-10-18 00:03:59 +02:00
Abdessamad Derraz 27d119cb7f fix: scrape targets at the pinned platform release 2026-10-18 00:01:36 +02:00
Abdessamad Derraz cdab4e7808 refactor: keep romset build digests between runs 2026-10-18 00:00:04 +02:00
Abdessamad Derraz c507aebfba refactor: index companion files by directory 2026-10-17 23:56:41 +02:00
Abdessamad Derraz 1c280b7b3f refactor: hash each zip member once per run 2026-10-17 23:55:49 +02:00
Abdessamad Derraz 5ae83ba2fa refactor: hash each manifest file once 2026-10-17 23:54:20 +02:00
Abdessamad Derraz 0a2907bd5f feat: describe emulator pages in structured data 2026-10-17 23:52:50 +02:00
Abdessamad Derraz 43af290102 feat: link and list every file on site pages 2026-10-17 23:51:02 +02:00
Abdessamad Derraz bd6617cc6a fix: describe absent claims in the manifest schema 2026-10-17 23:09:46 +02:00
Abdessamad Derraz e1510f94f8 fix: list each file to source on the gaps page 2026-10-17 23:08:40 +02:00
Abdessamad Derraz fd16764e0c fix: keep the gap report readable 2026-10-17 23:06:32 +02:00
Abdessamad Derraz 47a8c418e4 refactor: drop the unused cli mode validator 2026-10-17 23:05:57 +02:00
Abdessamad Derraz 09eb4f4ef3 fix: show exclusions and every verify-packs error 2026-10-17 23:05:48 +02:00
Abdessamad Derraz c4c87a5f7a fix: fetch data directories before CI tests 2026-10-17 23:01:49 +02:00
Abdessamad Derraz 29bb72c7ec chore: regenerate the install manifests 2026-10-17 23:00:32 +02:00
Abdessamad Derraz 0bac022c2b fix: replay absent core claims when narrowing 2026-10-17 22:21:50 +02:00
Abdessamad Derraz 20bdd381ec fix: offer every platform in the missing BIOS form 2026-10-17 21:21:56 +02:00
Abdessamad Derraz 08730575aa fix: pass the installer status through install.ps1 2026-10-17 21:21:41 +02:00
Abdessamad Derraz e089cb86e3 docs: align tools and release pages with the code 2026-10-17 21:20:26 +02:00
Abdessamad Derraz 727d1a2207 fix: derive catalog entries from romset members 2026-10-17 21:19:22 +02:00
Abdessamad Derraz 55631a2fbc fix: end listings quietly when the reader leaves 2026-10-17 20:50:22 +02:00