progress.json and progress.html are the same file and the other reports exist;
the command has to exit with 2 naming the two files, with no traceback, and every
existing report keeps its bytes.
progress.py skips every definition whose name ends in _nid_no_patch or
_nid_no_patch_cut, which are meant to be internal helpers. Some libraries
export such functions with APS5_EXPORT under an explicit NID or name:
libSceAgcVsh (150), libSceNKWebKit (150) and libSceJson2's inventory
(66), all of them calling NotImplemented_nid_no_patch. None of the 366
was counted, so those three libraries showed 151 of 151 functions where
they declare 517, and import_audit, which takes its stub list from the
same scan, reported imports of them as implemented.
A _nid_no_patch definition is now skipped only when no APS5_EXPORT in its
library exports it. The library totals go from 6104 of 12305 to 6104 of
12671 on main.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
test_output_directory_that_cannot_be_written_is_named called progress.main
without a root, so main measured the whole checkout before reaching the
output directory the test checks: 12.8 s of the file's 14.1 s here, and
31 s on windows-latest. It now goes through run_main with
library_snapshot(), like the other progress.main tests in its class;
write_site still runs and fails on the file in place of the directory.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
progress.py <output> raised an uncaught OSError with a traceback when the
output path was a file or sat in a directory it could not create. Report it
as a usage error that names the path, like the other bad arguments.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
`return ::Fail();` and `else ::Fail();` call the global wrapper, but
QUALIFIED took the keyword for a qualifier name and counted the export
as done. The name before `::` must now be an identifier that is not a
keyword, or a template's closing `>`.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
An apostrophe in a block comment paired with a later character literal on
the same line when literals were blanked before comments, exposing a brace
and ending the body early.
Co-Authored-By: Claude Opus 5.5 <[email protected]>