Commit Graph

81 Commits

Author SHA1 Message Date
GalaxyGamingFR 8365766e93 fix(conventions): read non-ASCII paths unquoted from git
With git's default core.quotePath=true, paths with non-ASCII characters
were printed quoted and octal-escaped. The checker stored the quoted
string as the path and then failed in git show with a traceback. git()
now passes core.quotePath=false so raw UTF-8 paths are used. A test
covers a diff containing a non-ASCII file name.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:32:41 -07:00
Achraf Reyani ef94a36b90 fix(progress): blank literals and comments in one pass
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 <noreply@anthropic.com>
2026-10-11 17:17:40 +09:00
GalaxyGamingFR f3216874c5 fix(progress): ignore braces in literals and comments when scanning bodies
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-11 17:16:25 +09:00
Blazing Cook 271e31a5a3 fix(conventions): restrict silent stub exemptions to their section 2026-10-11 16:45:35 +09:00
Adrià 8accbdaee0
Merge pull request #3287 from AchrafReyani/carry/conventions-comment-apostrophes
fix(tools): keep apostrophes in comments from opening character literals
2026-10-11 09:26:31 +02:00
Achraf Reyani dd9c78aa1b fix(tools): stop collecting NIDs at abbreviated options and --nid=
Resolve each argument after --nid against the parser's option strings the
way argparse does, so --nid=B, abbreviations such as --j and --d=, and the
-- marker end the NID list instead of being taken as NIDs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:24:35 +09:00
GalaxyGamingFR 3dbcc5f1c7 fix(tools): keep apostrophes in comments from opening character literals
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-10 21:21:07 -07:00
Achraf Reyani 7f9ca519b4 fix(tools): accept NIDs starting with a dash in nid_names --nid
NIDs use the base64 alphabet with '-', so some start with a dash, such as
-nvxBWa0iDs (gethostname). argparse read such a value after --nid as an
option and nid_names.py stopped with "unrecognized arguments". Every
value after --nid up to the next option of the tool is now passed as
--nid=<value>, and --nid collects them with append.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:40:04 +09:00
Adrià cf70000356
Merge pull request #2979 from MarcZX100/fix/progress-nonvoid-stub-wrappers
fix(tools): detect non-void stub wrappers
2026-10-11 01:41:43 +02:00
MarcZX100 02941b8e3f fix(tools): detect non-void stub wrappers 2026-10-10 19:24:18 +00:00
jweidenh 5fcac960e8 fix(tools): honor dependency declarations without a colon 2026-10-10 14:13:04 -04:00
Привалов Александр Владимирович e419096bff fix(tools): ignore test names when checking executable registration 2026-10-10 09:54:44 +02:00
Adrià Franch 507f5707dc fix(progress): link include-shared libraries and label empty ones
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-10 08:49:58 +02:00
Dean 25ca708723
Merge pull request #2134 from MarcZX100/codex/fix-pr-overlap-utf8-output
fix(tools): write overlap reports as UTF-8
2026-10-10 18:36:41 +13:00
darhebkf d440111bee fix(tools): publish NID database cache after download completes 2026-10-10 01:04:19 +02:00
MarcZX100 38baacad0c fix(tools): write overlap reports as UTF-8 2026-10-09 22:36:26 +00:00
Dean 2b62214acc
Merge pull request #2250 from PrintOrb/fix/progress-windows-utf8
fix(tools): preserve UTF-8 in progress comparisons
2026-10-10 10:46:33 +13:00
Dean 879874aedd
Merge pull request #2098 from treuenten/fix/tools-import-audit-exit-two
fix(tools): exit 2 when import_audit cannot read an input or write --json
2026-10-10 10:45:32 +13:00
Dean 103c315f70
Merge pull request #1741 from SleglJan/fix/tools-pr-overlap-declarations
fix(tools): count only definitions as exports in the overlap report
2026-10-10 10:42:27 +13:00
Dean 6882143a80
Merge pull request #1325 from darhebkf/codex/fix-overlap-pagination
fix(tools): check overlap against every open pull request
2026-10-10 10:42:13 +13:00
JohnM c1b4eb2001 fix(tools): exit 2 when import_audit cannot read an input or write --json
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:35:49 +08:00
PrintOrb cf744a3740 fix(tools): preserve UTF-8 in progress comparisons 2026-10-09 08:10:27 -05:00
Jan Šlégl db7666b22c fix(tools): count only definitions as exports in the overlap report
pr_overlap.py took every added line with APS5_VABI before a name and a
parenthesis as an export, so a declaration such as
extern "C" int* APS5_VABI __error_nid_postfix(); made each pull request
that adds it "implement the same function" as all the others. A line
that ends in a semicolon is a declaration and is skipped; every
definition's first line in the tree ends in a brace, a parenthesis or
a comma.

Registers pr_overlap_exports.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 14:43:32 +02:00
darhebkf 357d4d3e8b
fix(tools): check overlap against every open pull request 2026-10-09 13:49:20 +02:00
darhebkf a00559a222
fix(tools): preserve function bodies after line comments 2026-10-09 13:42:24 +02:00
Dean 3bd74c155d
Merge pull request #1989 from yeahboi233/fix/pr-overlap-utf8
fix(tools): decode overlap command output as UTF-8
2026-10-09 22:43:19 +13:00
Dean 6cc0503dac
Merge pull request #1550 from ska2704/fix/progress-exclude-test-sources
fix(progress): exclude library test fixtures from function counts
2026-10-09 21:04:18 +13:00
David d658f73e00 fix(tools): decode overlap command output as UTF-8 2026-10-08 20:40:46 -07:00
abderahmane-ai 9e6a6004a5 feat(tools): add an import audit for converted games
A converted game fails at launch on the first system function that no
built library exports, one function per run. tools/import_audit.py reads
the registry written by relinker --registry and classifies every imported
NID in one pass:

- implemented: a built library exports it
- stub: exported, but the whole function calls NotImplemented_nid_no_patch
- absent: no built library exports it, so the loader fails
- module: the import names a file the title ships itself

Exports are read from the built .prx files (ELF dynsym and PE export
table), the same view the loader has. Stubs come from the source tree
through tools/progress.py, and NIDs through tools/nid_names.py. The report
also lists needed libraries without a file and imports found only in a
different library than the one they name. --names adds names from an
aerolib.csv file and never downloads one; --json writes the full result
stamped with the repository commit.

The test builds ELF and PE libraries byte by byte, checks that every
reference lands in exactly one class, and pins the NID of
sceMsgDialogProgressBarSetValue (wTpfglkmv34) as an external anchor.
Registered in CTest as import_audit.
2026-10-08 15:47:46 +02:00
SK Arin 6e951bd0ed fix(progress): exclude library test fixtures from function counts 2026-10-08 17:30:43 +05:30
Sanjaysrinivas efdbbf1a70 fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00