The NID patcher and check_conventions resolve
fstat_nid_disambig1_nid_postfix to fstat. import_audit hashed it as
fstat_nid_disambig1, so a throwing stub with the suffix was keyed under
the wrong NID, and nid_names reported fstat and pwrite as rename-ready
instead of already-implemented.
main() rejected --nid values carrying the #lib#mod suffix that load_db and
import_audit already strip and USAGE.md documents. The suffix is now removed
from each --nid value before validation, so lookup and output use the bare NID.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Add --name / --symbol CLI option to tools/nid_names.py to compute the Sony SHA-1 NID for given symbol names from the command line without requiring a full database download. Support positional chaining and --json output format. Add unit test coverage in tools/tests/test_nid_names.py.
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 <[email protected]>
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 <[email protected]>