Abdessamad Derraz
597a8ff919
fix: quote rom and core names in yaml
...
YAML 1.1 reads an unquoted 01 as the integer 1 and 81 as 81, so the
manager set stopped naming the file its driver opens and the API
published "cores": [2048] as a number where consumers match strings.
Ground truth from MAME 0.289 at the revision the profile cites:
src/mame/vtech/crvision.cpp:957 loads "01" and "23".
The root cause was the scraper: _hash_merge wrote these names through an
f-string, so quoting the profiles alone would be undone on the next
refresh. _yaml_scalar now quotes every name, archive and description it
writes.
2026-08-10 13:35:42 +02:00
Abdessamad Derraz
5d417c8229
feat: add data contract validation
...
JSON Schemas for the database, install and pack manifests, target
manifests, site API envelopes and stats, plus the semantic invariants a
schema cannot express: declared totals matching their lists, no
destination both installed and omitted, database keys matching their
sha1. validate_site.py checks the rendered HTML for metadata, headings,
image alternatives, duplicate ids and unresolved local links.
Pack manifests are read from inside the generated archives, where
generate_pack writes them, rather than from a dist/ glob that matches
nothing.
Emulator and platform schemas gain additionalProperties: false, and
cores[] plus contents[].name must be strings: an unquoted 81 or 01 in
YAML parses as a number and stops matching the upstream name.
2026-08-10 13:35:33 +02:00
Abdessamad Derraz
45f89cc6c0
feat: add region filters and profiles
2026-08-09 14:15:56 +02:00
Abdessamad Derraz
1c537c3a30
fix: keep mame refresh to profiles on mame's tree
2026-08-08 13:52:25 +02:00
Abdessamad Derraz
731096cf12
chore: refresh mame bios refs from 0.289
2026-08-08 13:50:25 +02:00
Abdessamad Derraz
89211003cb
fix: refresh mame refs when a driver line moves
2026-08-08 13:48:54 +02:00
Abdessamad Derraz
fa6de11133
feat: parse colon continuations and header stems
2026-08-08 13:44:03 +02:00
Abdessamad Derraz
17da2ae76f
feat: follow refs to a unique declared value
2026-08-08 13:39:54 +02:00
Abdessamad Derraz
c8e05013d9
feat: follow a ref when its subject moved with it
2026-08-08 13:38:30 +02:00
Abdessamad Derraz
b00ca4d237
docs: state only what the data supports
2026-08-08 13:16:17 +02:00
Abdessamad Derraz
4c5ca17682
feat: judge tag-pinned profiles on their own revision
2026-08-08 13:12:35 +02:00
Abdessamad Derraz
088caef45e
docs: use one plain vocabulary across surfaces
2026-08-08 12:59:46 +02:00
Abdessamad Derraz
38e39af561
docs: say what each platform actually checks
2026-08-08 12:42:06 +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
344599f7ef
docs: name the wanted list for what it is
2026-08-08 11:57:22 +02:00
Abdessamad Derraz
8ffe30efc8
feat: parse annotated and mode-keyed refs
2026-08-08 11:50:25 +02:00
Abdessamad Derraz
a17945ec66
fix: match source_ref lines by value
2026-08-08 11:47:21 +02:00
Abdessamad Derraz
87c39c877e
fix: scope the provenance ratio to system files
2026-08-08 11:43:50 +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
ccb9b3e94f
feat: add profile sync against upstream
2026-08-08 11:17:21 +02:00
Abdessamad Derraz
eb2c064518
fix: create scratch dir and scope catalog ratio
2026-08-08 11:05:23 +02:00
Abdessamad Derraz
b26a874966
fix: link only system icons upstream serves
2026-08-08 09:59:07 +02:00
Abdessamad Derraz
5c776d19fb
fix: count unsourceable files in the code ratio
2026-08-08 09:04:30 +02:00
Abdessamad Derraz
918d6bc7cd
refactor: fold coverage tables into two ratios
2026-08-08 08:50:16 +02:00
Abdessamad Derraz
3e7805f838
feat: show core requirements in coverage tables
2026-08-08 08:34:23 +02:00
Abdessamad Derraz
c4dbade280
fix: ignore commented flags in mame drivers
2026-08-08 08:11:58 +02:00
Abdessamad Derraz
e4fb173997
fix: state gap scope without a numeric claim
2026-08-08 07:21:21 +02:00
Abdessamad Derraz
1b9acff2ad
fix: reject name hits with contradicting size
2026-08-08 07:09:49 +02:00
Abdessamad Derraz
3a4f8a5111
feat: publish source coverage beyond shipped cores
2026-08-08 07:00:46 +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
b586eddb2a
feat: report pack contents instead of list coverage
2026-08-08 05:42:13 +02:00
Abdessamad Derraz
a483ed93b0
refactor: stream zip rebuild instead of buffering
2026-08-08 04:40:07 +02:00
Abdessamad Derraz
5f60138dce
docs: correct and complete the documentation set
2026-08-08 04:24:08 +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
a741828f3c
feat: show verified dump badges
2026-08-08 02:25:44 +02:00
Abdessamad Derraz
f4b02c2a43
feat: join dump-catalog provenance in database
2026-08-08 02:25:44 +02:00
Abdessamad Derraz
933d258df5
feat: publish collection composition
2026-08-07 20:20:46 +02:00
Abdessamad Derraz
7bb9108892
docs: merge gap analysis pointers in legend
2026-08-07 19:53:18 +02:00
Abdessamad Derraz
0838269c04
feat: split profiled and source-backed counts
2026-08-07 19:39:24 +02:00
Abdessamad Derraz
15b8af64fc
docs: name dump preservation catalogs in faq
2026-08-07 19:04:33 +02:00