Skip to content

feat(tools): report each converted title's current stop in import_audit - #4606

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
Nixitov:feat/import-audit-stop
Oct 13, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
Nixitov:feat/import-audit-stop

Conversation

@Nixitov

@Nixitov Nixitov commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

What

tools/import_audit.py now reports each converted title's current stop: the first unresolved import in the registry order, which is the import the loader fails on. This is exactly the "line where it stops on current main" that a function PR must quote, and it removes the manual relink-and-run step every contributor currently does to find it (the workflow in #1578).

  • The stop is looked up in the order the registry lists the imports and printed per registry, with none when every import resolves.
  • It is included in the --json result as a stops list (registry, nid, library, name).

Tested

  • python tools/tests/test_import_audit.py passes (39 tests), including two new ones: the stop is the first unresolved import (not the first import, and not a later one), and it is none when every import resolves.
  • On a converted title (SwitchWaker), the report now prints Current stop (first unresolved import, in registry order): EDyhWelj7UY [libkernel.prx], matching the loader line observed when the title is run.
  • python tools/check_conventions.py --base origin/main passes.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes

@Nixitov

Nixitov commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

Thanks bot. This is a same-file overlap only, not duplicated logic:

Happy to rebase after any of them lands; nothing here depends on them.

AI-assisted: yes

@xXPBSXx

xXPBSXx commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Windows test: head 7eae85946 merged onto current main 94d995772, together with 8 other open pull requests in one build (the merges were conflict-free); a failure would have been bisected per PR. Windows 10, MinGW GCC (WinLibs), Ninja Release, -j2: full build 0 errors; ctest for the tests this change adds or touches: import_audit passed; python tools/check_conventions.py --base upstream/main passed for the combined tree. I did not run the new tests against main without the change.

AI-assisted (Claude Code).

@github-actions github-actions Bot mentioned this pull request Oct 13, 2026
10 tasks done
@Nixitov

Nixitov commented Oct 13, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the Windows run across the combined tree (head merged onto main 94d995772) — good to have the audit passing with this change in place. Agreed the new tests are only meaningful with the change applied.

@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the diff, ran import_audit tests locally (29/29 in scope) and confirmed the two new tests fail without the change; Windows run by @xXPBSXx also passed. Merging.

The stop is the first unresolved import in the registry order, the line the loader fails on. Print it per registry and add it to the --json result.
@adriadam10

Copy link
Copy Markdown
Collaborator

Rebased onto current main (conflict in tools/import_audit.py main(): kept main's summarize over module references and the stops line). test_import_audit.py 46 tests OK, scoped ctest 29/29; logic unchanged. Merging once CI is green.

@adriadam10
adriadam10 force-pushed the feat/import-audit-stop branch from 7eae859 to a3a3f3a Compare October 13, 2026 14:53
@adriadam10
adriadam10 merged commit 842766d into boykopovar:main Oct 13, 2026
7 checks 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.

3 participants