The options glance gains a Remove and put back group, the testing guide names test_install_removal, install.py declares _REPARSE_POINT once, and the type baseline drops three errors this change resolved.
--verbose set it and no run cleared it, so a later run in the same process ended its clock message with the raw SSL text. Also: --target named again in its refusal, three names mypy read as another type, a semicolon and a tooling file named in test comments.
Every error outside mypy-baseline.txt is fixed in the code:
- common.py: the CRC32 step reused found, the name the layout branch
gives a resolution tuple, for its list of matches. It now has its own
name. bindings_of annotates its systems.
- launchers.py, retropie_launchers.py, install.py: an Optional value
read before its None check.
- recalbox_launchers.py, rocknix_launchers.py: Launcher calls take
typed keywords, a partial or named parameters, instead of a
dict[str, object] spread. end_lineno falls back to lineno.
- retrobat_launchers.py: the StageRomKey match no longer reuses the
str key, and record values are checked before they are iterated.
- batocera_launchers.py: the value of an assignment is read on an
Assign or AnnAssign only, and the launcher list is annotated.
- emuelec_launchers.py, emuelec_scraper.py, rocknix_scraper.py: import
fallbacks no importer reaches are dropped, a reused name renamed.
- batocera_targets_scraper.py: a submodule answer without a commit is
refused.
The baseline loses the 30 entries these fixes resolved and gains
none.
The name step reused one variable for paths and for (path, md5, size)
tuples, the standalone copies reused targets inside its own loop, and
the WSL state read as object. Ten baseline entries no longer occur.
The data tree record carries the needed flag since 072380c26, and
the manifest test still built the three-part one. profile_sync's triage
lists and _emit's returns, site_insights' GoatCounter answers and
make_demo's blocks are annotated, and the baseline loses the entry
that no longer occurs.
Three site commits pushed to main fail checks CI runs: two prose
semicolons, an untyped signature, and GoatCounter answers read as a
dict without a test. GoatCounter's stats now go through one reader
that refuses an answer that is not an object.
Code moved to sitecollection.py and the triage progress added errors
the baseline did not hold. A reused loop name, two lists without a
type, returns without a value, and a regex match read without a test
for None. Two baseline entries no longer occur and are removed.
Six helpers that write a pack member declared zipfile.ZipFile while every
call site also passes the PackRecord the pipeline builds emulator and
narrowed packs with. mypy reported the 19 call sites as arg-type errors.
With the union in the signature a helper that calls writestr or write
without its isinstance branch is a union-attr error in CI, instead of an
AttributeError in the pipeline's record pass.
Every signature carries annotations and nothing read them. mypy 1.18.2
over install.py and scripts/ reports 993 errors today, among them the
six pack helpers typed zipfile.ZipFile that every caller also hands a
PackRecord. The errors sit in mypy-baseline.txt and the schema job fails
on any error outside it, or on an entry that no longer occurs. Third-party
packages are left out so the result does not depend on the machine: 6 s
locally, run twice and on 3.12 and 3.13 with the same errors.