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.
This commit is contained in:
Abdessamad Derraz committed 2026-11-05 19:55:15 +01:00
1 parent 133afc1df6
commit 911dea8e4c
2 files changed
+20 -1

No files matched your search

+15
View File
@@ -1794,6 +1794,21 @@ class ReportExcerptIsTheRun(unittest.TestCase):
self.assertIn(line, printed)
class ClaimRuleNamesTheSizeProof(unittest.TestCase):
"""architecture.md said a file found by its name claims nothing, while
slots.py has counted a name-found copy at the declared size against a
platform file of another size since 2b535525e."""
def test_the_page_states_what_slots_counts(self):
import slots
self.assertIn(slots.SIZE_EXACT, slots.PROVEN_STATUSES)
page = " ".join((ROOT / "wiki" / "architecture.md").read_text(encoding="utf-8").split())
section = page.split("### When both layers claim one destination", 1)[1].split("###", 1)[0]
self.assertIn(f"(`{slots.SIZE_EXACT}`)", section)
self.assertIn("Two files of equal size are revisions", section)
class SkipFlagsNameTheSteps(unittest.TestCase):
"""--skip-packs said "add --skip-docs to stop after verify" while 4d and
4e still ran, and the flag table left 8b out of --skip-docs."""
+5 -1
View File
@@ -180,7 +180,11 @@ A platform and an emulator profile can each name a different file for the same
place in the BIOS folder: RetroBat puts its own `ATARIOSB.ROM` at
`bios/ATARIOSB.ROM`, where atari800 reads another dump. A claim counts only when
it rests on content or on the path. A file found by its name alone claims
nothing. The pack then answers to whoever asked for it:
nothing, unless its copy has the exact size the profile declares and the
platform's file has another size (`size_exact`): RetroDECK's `sgb2.boot.rom` is
the Super Game Boy 2 SNES program ROM where supersnes9x reads a 256-byte boot ROM.
Two files of equal size are revisions, not a conflict. The pack then answers to
whoever asked for it:
- A **platform pack** must leave the frontend's own check green, since a user
reading red concludes the pack is broken. Where the frontend only looks for