Commit Graph
87 Commits
Author SHA1 Message Date
Abdessamad Derraz 2e02c55102 fix: keep the first steps under their ceiling
The record's page text took first-install.md 31 words over its 400. It now says only that one setup opens on Install. RETROBIOS_TUI_RECORDED is an internal marker of the full screen's own runs, like RETROBIOS_TUI_LIST.
2026-11-10 13:42:41 +01:00
Abdessamad Derraz 8e15f94ed1 chore: merge origin/main
# Conflicts:
#	install.ps1
#	install.sh
#	install/launchers/index.json
2026-11-10 07:39:26 +01:00
Abdessamad Derraz c1a018f20d docs: state core resolution as the code reads it
The rule's strategies moved from resolve_platform_cores to
_platform_profiles, and the test read the old function. It now reads
both. The page named ROCKNIX among the lists naming retroarch, which
it no longer does since its list names the libretro cores it
installs, and said nothing of installable_cores: a downloadable core
designates libretro builds and counts under --target only on the
boards whose downloader offers it.
2026-11-10 03:30:55 +01:00
Abdessamad Derraz fcb64e3857 feat: full screen keeps its notes on Details
The plan, Confirm and the result say what happens, its size, where and
the next step. Their counts, free space, backup and save notes, kinds,
reasons a file is left out, per-file failures and commands move to a
Details screen: d on the plan, Confirm and the result, the Details row
on the plan, Y, o or Tab on the result. Opened on the result, they are
also said in the terminal after Exit. Installing lists the files that
went well only with --verbose, and --verbose draws every line in place.
The log line reads Log: so that Details names one thing.

--check prints its count, the folder and the remedy in both modes, so
that --verbose prints every default line. Each golden screen gets a word
budget per size, and a test proves the screen and its Details together
equal the --verbose screen.
2026-11-10 01:09:37 +01:00
Abdessamad Derraz 36745abf10 feat: line mode says details only with --verbose
By default a run prints what it installs, the BIOS folder, the progress
at a terminal, the result and the next step. The steps, the per-file log
lines, the counts and the reasons a file is left out come back with
--verbose. --check gives the count and the folder, and lists each file
with --verbose. The installer page shows the default run and walks
through the --verbose one.
2026-11-10 00:21:37 +01:00
Abdessamad Derraz 045ad9e3af chore: merge origin/main 2026-11-09 10:54:08 +01:00
Abdessamad Derraz 602945faf0 feat: logos, build stamps and exact wording
- The installer says "Every file on the list is in place." where it
  said "Everything is in place.": a check covers the files the
  collection holds, and the required ones it lacks follow.
- The FAQ, first install, legal and home pages state only what the
  code shows (PlayStation 1 and Saturn run without a BIOS on some
  emulators, save files are never touched, records are added).
- MinUI and MyMinUI show their own boot logos, and the Android,
  Linux handheld and iPhone tiles show the Android robot, Tux and a
  plain device icon, each credited in sources.json.
- Each Markdown copy, llms.txt and llms-full.txt name the commit
  they were built from, version.json the current one, and the
  answering rules tell assistants to fetch a stale copy again.
- The deploy lists the pages whose words changed (digests.json) and
  posts them to IndexNow once the site is live.
2026-11-09 10:47:37 +01:00
Abdessamad Derraz e6c83859d5 chore: merge origin/main 2026-11-09 08:35:52 +01:00
Abdessamad Derraz 16ec5fa2d2 docs: turn the readme into a front page
The README ran 211 lines and 2,000 words: five commands with options,
an 18-row download table, coverage figures and the build commands, all
before the help. It now says what the project does, gives the line that
installs for Windows and for the rest, shows it, lists the six ZIPs and
the setups that install by command, and leads to the site, where the
figures and every option live. The build commands sit in a closed block.
No personal pronoun is left in its text.
2026-11-09 07:28:32 +01:00
Abdessamad Derraz 8328570d1c docs: name uvx retrobios beside the one-liner 2026-11-09 07:07:54 +01:00
Abdessamad Derraz 70f530516d chore: merge pack and resolver fixes 2026-11-07 00:06:15 +01:00
Abdessamad Derraz b9f309940c chore: merge site and docs fixes, fifth pass 2026-11-06 17:15:57 +01:00
Abdessamad Derraz 84cffe3f8d chore: merge origin/main 2026-11-06 16:42:16 +01:00
Abdessamad Derraz a195023d3d chore: run every test class when a file runs alone 2026-11-06 16:01:27 +01:00
Abdessamad Derraz 35be4cf033 fix: compare whole md5 in the folder check
check_platform_folder.py, the script the site publishes, still accepted
a cut md5 by prefix. It now compares whole digests as Batocera does
(batocera-systems:1088), like verify since cut_md5_owner.
2026-11-06 16:01:04 +01:00
Abdessamad Derraz 057fd2d0f6 fix: isolate every test module however it runs
tests/__init__.py keeps a run offline, its scratch under tmp/ and its
installer cache its own, but only discover -s tests -t . imported it.
discover tests ran with RETROBIOS_OFFLINE unset, scratch on the /tmp
tmpfs and the user's real installer cache, the setting in which e2e
fixtures had written into the shared .cache/large. Every test module now
imports the package first, and a test fails on a module that does not.
test_verify_listing.py took its line with the previous commit.
2026-11-06 15:14:05 +01:00
Abdessamad Derraz 093b1b21cf docs: document the commit rules and their hook 2026-11-06 15:00:49 +01:00
Abdessamad Derraz 747d40e988 docs: give the clone command and size for packs 2026-11-06 14:47:47 +01:00
Abdessamad Derraz 7657d4aa02 docs: name where psxonpsp660.bin is not world 2026-11-06 14:43:31 +01:00
Abdessamad Derraz 4d3f589ef4 refactor: drop the archived platform status
RetroPie was the only platform with status: archived, which kept it out
of verify --all, slots, the pipeline and list_platforms unless
--include-archived was typed. release_pack already decides which packs a
release publishes and the installer serves every platform, so the status
set nothing apart. The field, its schema entry and the flag are gone, and
RetroPie is covered by every full run like any other platform.
2026-11-06 11:52:34 +01:00
Abdessamad Derraz 328bfbe53b chore: run the catalog row test from its file
The class sat after unittest.main(), so running test_doc_pages.py on its
own skipped it.
2026-11-06 08:37:16 +01:00
Abdessamad Derraz 5f8205b36b docs: date the Redump DATs instead of judging them
The catalog table called redump.org's DATs stale and said Dat-o-Matic
blocks automation. redump.org serves BIOS DATs dated 2010 to 2022
(Content-Disposition of /datfile/{psx,ps2,gc,xbox}-bios/, read
2026-11-06), and the Redump row named /static/bios links the scraper
replaced with one /bios/<CODE> route per system.
2026-11-06 08:26:22 +01:00
Abdessamad Derraz 302f2a1df9 docs: name launcher records among removal proofs
tools.md listed what keeps a platform entry out of removal_candidates
without the platform's launchers: records, which candidates.py checks
right after a path (_PROOF_ORDER).
2026-11-06 04:07:55 +01:00
Abdessamad Derraz 548a1bc636 docs: regenerate installer samples with manifests
testing-guide listed the generated artifacts without derivable.json and
the run samples of wiki/installer.md, and tools.md gave the manifest
command alone. The nightly's commit rules also had no place for the two
files its offline pipeline rewrites, so autorun stopped on them.
2026-11-06 04:06:45 +01:00
Abdessamad Derraz ffc4632bb1 docs: describe a platform list without judging it
adding-a-platform said a platform's list leaves files out. It now says
the files its list does not name.
2026-11-06 04:05:06 +01:00
Abdessamad Derraz 657e3bc55b docs: say what archived means on the RetroPie page
The RetroPie guide note still tied the archived status to a scraping
schedule no tool runs. The doc test now reads _guides.yml too.
2026-11-06 03:51:05 +01:00
Abdessamad Derraz 7b4c03afc2 docs: say what the archived status changes
The README, the setup pages and adding-a-platform tied archived to a
scraping schedule and a CI matrix that do not exist. Archived keeps a
platform out of the runs that cover every platform unless
--include-archived is passed.
2026-11-06 03:20:01 +01:00
Abdessamad Derraz 55ac3162f5 docs: name the slot function the pack reads
architecture.md said the pack and verify decide through slots.arbitrate(),
while a test forbids them to call it: they read slot_choices() through
pack_overrides(). build_claim_index, the name-keyed index the module
docstring described, had no caller outside its own tests.
2026-11-06 03:13:57 +01:00
Abdessamad Derraz b873c6a9fb fix: skip the report excerpt without the assets
The excerpt quotes verify over the whole collection. The PR workflow
restores none of the release assets, so the run there printed other
counts and failed on every push since the engine batch. The test now
names how many assets are absent and skips.
2026-11-06 02:20:14 +01:00
Abdessamad Derraz 49ff682eda chore: merge origin/main 2026-11-05 23:25:48 +01:00
Abdessamad Derraz 54a3876a8b feat: carry the data trees a platform's cores read
A platform pack carried only the trees its own systems declared, so for_platforms reached RetroArch, Lakka and RetroPie alone and every other platform running blueMSX, FBNeo or Dolphin got no tree. The pack, the install list and the pipeline's tree members now add the trees of the libretro cores the platform runs, below the system directory and build folder the core reads, unless the platform installs or never opens them. A platform entry the manifest resolved into a carried tree becomes that tree's member, which the installer can fetch: AmberELEC and EmuELEC no longer hold 192 blueMSX machine configs back. stonesoup reads its tree beside the content and pcee2 compiles its resources in, so neither tree reaches a BIOS pack.
2026-11-05 23:25:29 +01:00
Abdessamad Derraz 0350f42351 chore: merge site and docs batch 2026-11-05 22:22:37 +01:00
Abdessamad Derraz e9ecef6896 docs: name the committed files over 50 MB
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.
2026-11-05 19:55:59 +01:00
Abdessamad Derraz 71457078e6 docs: state the cross-reference settlement rule
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.
2026-11-05 19:55:39 +01:00
Abdessamad Derraz 911dea8e4c docs: state the size proof slots.py counts
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.
2026-11-05 19:55:15 +01:00
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00
Abdessamad Derraz 6ae9e461bd docs: name the steps the pipeline skip flags skip
--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.
2026-11-05 19:16:32 +01:00
Abdessamad Derraz b90f8bb0b9 chore: merge tooling batch 2026-11-05 15:57:19 +01:00
Abdessamad Derraz 3a36350f5c docs: state the .info hash rule one way 2026-11-05 12:19:58 +01:00
Abdessamad Derraz e835c3862e docs: document every version_basis kind and key 2026-11-05 12:19:42 +01:00
Abdessamad Derraz 964812f977 chore: drop review tags from comments
Comments, docstrings and test texts ended on tags that name private review notes no clone holds. The tags go, the facts stay. Test methods named after a finding number are named after what they hold. test_prose_style refuses a tag that comes back. install.py changes in comments only: its pin and the launcher index follow.
2026-11-05 12:19:12 +01:00
Abdessamad Derraz 9c500ff216 docs: describe how a contested slot is decided 2026-11-05 12:18:51 +01:00
Abdessamad Derraz 832b2890d4 docs: say what the unsourceable count is 2026-11-05 12:17:51 +01:00
Abdessamad Derraz 0d60cc19c9 docs: quote the current verify report 2026-11-05 11:54:22 +01:00
Abdessamad Derraz 8d0ba26a0f docs: show --required-only in the README 2026-11-05 11:53:11 +01:00
Abdessamad Derraz 329fcc0f62 docs: name the installer cache and its variable 2026-11-05 11:52:23 +01:00
Abdessamad Derraz 33add072cb chore: merge installer page refresh 2026-11-04 05:52:02 +01:00
Abdessamad Derraz fa9fbbed9e fix: a cited module may be a package
python -m runs a package by its __main__.py: scripts.scraper.romfolders is one.
2026-11-04 05:51:40 +01:00
Abdessamad Derraz 8848f3e6f6 chore: merge tools page refresh 2026-11-04 05:49:49 +01:00
Abdessamad Derraz 058bb13884 docs: list pipeline step 4e
The games index step came in with main. The installer samples test now reads step 7 in the list form the pipeline steps test holds.
2026-11-04 05:45:29 +01:00