Abdessamad Derraz
4c5ca17682
feat: judge tag-pinned profiles on their own revision
2026-08-08 13:12:35 +02:00
Abdessamad Derraz
763c159a9f
feat: rewrite annotated refs keeping their prose
2026-08-08 12:35:02 +02:00
Abdessamad Derraz
16331a1712
feat: report external citations as unverifiable
2026-08-08 12:30:37 +02:00
Abdessamad Derraz
dc4b23a883
feat: anchor on declared values when refs miss
2026-08-08 12:24:31 +02:00
Abdessamad Derraz
6b0306b43d
feat: settle ambiguity by file line shift
2026-08-08 12:21:13 +02:00
Abdessamad Derraz
34876ba610
fix: keep refs and pin on the same revision
2026-08-08 12:16:01 +02:00
Abdessamad Derraz
c585452d46
feat: resolve bare and annotated ref paths
2026-08-08 12:05:59 +02:00
Abdessamad Derraz
e39a6c5894
chore: wrap long test lines
2026-08-08 11:52:28 +02:00
Abdessamad Derraz
8ffe30efc8
feat: parse annotated and mode-keyed refs
2026-08-08 11:50:25 +02:00
Abdessamad Derraz
3abeb77a48
fix: match the scoped provenance headline
2026-08-08 11:47:31 +02:00
Abdessamad Derraz
a17945ec66
fix: match source_ref lines by value
2026-08-08 11:47:21 +02:00
Abdessamad Derraz
7f8a277721
fix: retry transient network failures
2026-08-08 11:37:15 +02:00
Abdessamad Derraz
19a69bbd88
fix: treat only quota signals as fatal
2026-08-08 11:27:40 +02:00
Abdessamad Derraz
2ebe29a449
fix: survive a single forge failure
2026-08-08 11:23:49 +02:00
Abdessamad Derraz
8957f86d46
fix: send github token to github only
2026-08-08 11:23:49 +02:00
Abdessamad Derraz
ec51a2d6da
chore: cover commented bios flags in mame
2026-08-08 11:17:21 +02:00
Abdessamad Derraz
ccb9b3e94f
feat: add profile sync against upstream
2026-08-08 11:17:21 +02:00
Abdessamad Derraz
b26a874966
fix: link only system icons upstream serves
2026-08-08 09:59:07 +02:00
Abdessamad Derraz
25f8537a4a
fix: point manifest entries at a fetchable file
2026-08-08 06:19:38 +02:00
Abdessamad Derraz
c51fc233f9
fix: avoid shared scratch path in large-file cache
2026-08-08 06:19:38 +02:00
Abdessamad Derraz
a483ed93b0
refactor: stream zip rebuild instead of buffering
2026-08-08 04:40:07 +02:00
Abdessamad Derraz
69d53c97c9
feat: add launchbox detection to installer
2026-08-08 04:24:17 +02:00
Abdessamad Derraz
45dbc30301
feat: lock pack artifacts during pipeline runs
2026-08-08 04:24:03 +02:00
Abdessamad Derraz
f008568108
feat: publish dump provenance page
2026-08-08 03:23:35 +02:00
Abdessamad Derraz
48b415e0d5
feat: import no-intro and tosec dump catalogs
2026-08-08 02:48:06 +02:00
Abdessamad Derraz
f4b02c2a43
feat: join dump-catalog provenance in database
2026-08-08 02:25:44 +02:00
Abdessamad Derraz
227ad27b15
feat: validate platform input in installers
2026-08-07 16:23:15 +02:00
Abdessamad Derraz
8bd2083e80
feat: report hash proof in existence packs
2026-08-07 16:23:15 +02:00
Abdessamad Derraz
42e2f363ec
feat: audit profile refs against upstream
2026-08-07 16:23:15 +02:00
Abdessamad Derraz
3ecb72d275
fix: deflate manifest on zip append path
2026-08-07 15:45:48 +02:00
Abdessamad Derraz
587aadde08
fix: coerce numeric hashes to strings
2026-08-07 15:30:37 +02:00
Abdessamad Derraz
18c7b31734
fix: honor platform filter in cross-reference
2026-08-07 13:28:15 +02:00
Abdessamad Derraz
8663ec17b7
feat: add misterfpga platform support
2026-08-07 13:28:15 +02:00
Abdessamad Derraz
3a5cbc4c6c
fix: resolve large file assets renamed by github
2026-08-07 11:53:29 +02:00
Abdessamad Derraz
792bad3fd5
fix: align pack checks with builder, purge stale packs
2026-08-06 16:41:47 +02:00
Abdessamad Derraz
966c0e5b59
feat: add torrentzip builder for romset reconstruction
2026-08-06 16:41:47 +02:00
Abdessamad Derraz
69b8ab1434
feat: resolve files by sha256 index
2026-08-06 10:39:58 +02:00
Abdessamad Derraz
36b9b59e2e
fix: match pack zips to declared platform hashes
2026-08-06 05:00:50 +02:00
Abdessamad Derraz
4f6773bcc4
fix: resolve shell values in installer configs
2026-08-06 05:00:50 +02:00
Abdessamad Derraz
e90095abd9
fix: resolve bios case collisions
...
Delete duplicate lowercase variants (identical MD5) of 12 files
that prevented clean checkout on case-insensitive filesystems
(Windows, macOS).
Canonical chosen per upstream source code:
- Atari 2600 KV*.WAV: uppercase (stella2023 hardcode)
- Vectrex VEC_Minestorm.vec: lowercase (BizHawk hardcode)
- MSX MSX{,2,2EXT}.ROM: uppercase (fMSX hardcode, 6/7 platforms)
- Doom DOOM2.WAD: uppercase (matches dir convention)
Add aliases to stella2014 and clk profiles so resolution still
finds the canonical source. Correct retrodeck Vectrex casing to
match upstream. Merge Commodore/Vic-20 into VIC-20.
Add tests/test_no_case_collisions.py as a CI guard.
Closes #49
2026-04-18 10:01:29 +02:00
Abdessamad Derraz
617f5cc364
refactor: hash-anchor truth enrichment
2026-04-18 09:00:31 +02:00
Abdessamad Derraz
06c48e071a
test: update grouping test for flat zip behavior
2026-04-03 12:06:38 +02:00
Abdessamad Derraz
9ba8b02ff1
fix: verify functions handle flat zip extraction
2026-04-03 11:50:26 +02:00
Abdessamad Derraz
0401d058a1
feat: add by_sha256 index, fix reporting attribution
...
generate_db: add by_sha256 index for O(1) variant lookup.
verify: _find_best_variant uses indexed sha256 instead of O(n) scan.
validation: check_file_validation returns (reason, emulators) tuple,
attributing mismatch only to emulators whose check actually failed.
beetle_psx: remove incorrect size field for ps1_rom.bin (code does
not validate size, swanstation is sole size authority).
2026-04-02 00:59:01 +02:00
Abdessamad Derraz
2c1c2a7bfe
feat: add combined source+required variant tests
2026-04-01 14:42:52 +02:00
Abdessamad Derraz
423a1b201e
feat: add source param to generate_pack
2026-04-01 14:39:04 +02:00
Abdessamad Derraz
9c6b3dfe96
feat: add include_all to _collect_emulator_extras
2026-04-01 14:33:54 +02:00
Abdessamad Derraz
b070fa41de
feat: add include_all param to find_undeclared_files
2026-04-01 14:29:31 +02:00
Abdessamad Derraz
0a272dc4e9
chore: lint and format entire codebase
...
Run ruff check --fix: remove unused imports (F401), fix f-strings
without placeholders (F541), remove unused variables (F841), fix
duplicate dict key (F601).
Run isort --profile black: normalize import ordering across all files.
Run ruff format: apply consistent formatting (black-compatible) to
all 58 Python files.
3 intentional E402 remain (imports after require_yaml() must execute
after yaml is available).
2026-04-01 13:17:55 +02:00
Abdessamad Derraz
e5859eb761
refactor: dry pack integrity into cli and update docs
...
Move verification logic to generate_pack.py --verify-packs (single
source of truth). test_pack_integrity.py is now a thin wrapper that
calls the CLI. Pipeline step 6/8 uses the same CLI entry point.
Renumber all pipeline steps 1-8 (was skipping from 5 to 8/9).
Update generate_site.py with pack integrity test documentation.
2026-04-01 12:31:10 +02:00