Skip to content

fix: pair boot serial normalization with the selected runtime - #1

Merged
Alexbeav merged 1 commit into
mainfrom
fix/paired-boot-serials
Nov 9, 2026
Merged

Alexbeav merged 1 commit into
mainfrom
fix/paired-boot-serials

Conversation

@Alexbeav

@Alexbeav Alexbeav commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

SYSTEM.CNF boot names such as SLUSP012.06 and SLUSP013.46 must produce the same canonical serial in the builder and the runtime's mounted-disc report. Normalize them to SLUS-01206 and SLUS-01346 after a known territory prefix. Reject the unusual-name build when the selected runtime does not declare normalization version2; ordinary names continue to work with older runtimes. Both CHD and extracted-disc admission paths apply the check before generating a roster.

The public producer capability is in RetroPortingToolKit/psxrecomp#868 . This PR changes no supported-version defaults, core selection or release artifact. An older selected reader remains unsuitable for those unusual names and receives an explicit error.

Validation on current main4b4f1d05f9e7634e4b44a52e15b29c92bf34527c, Windows/Python3.14:

  • The exact new normalization/capability tests fail before and pass after: both unusual names, case/path handling, ordinary US/PAL/Japanese names, nonserial/unknown/six-letter forms, mounted-report agreement and missing/version1/version2 runtime declarations.
  • Full repository unittest discovery:40tests, zero failures, two existing optional-package skips. All inputs are synthetic; no title or disc-swap pass is claimed.
  • Source diff/whitespace checked; existing line endings retained. No media, BIOS, saves, binaries or dependency payload changes.

Developed with AI assistance; validated as described (test evidence in PR body). AI writes the code and the PR, but I always test before I send something up. Happy to iterate on this process with your feedback.

@Alexbeav
Alexbeav merged commit f3b3daa into main Nov 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant