audit: phase 0 tooling for file-by-file 40250 porting

- refroot.py: one reference-root resolver (MT_40250_SOURCE, then manifest)
  used by every audit script; missing tree or fingerprint input is an error
- port_map.py: per-function inventory of active 40250 units plus the
  40250 Python root, status/queue/init/show/check, 40250: tag scan
- manifest: fix 18 wrong reference paths (Python UI now points at the
  40250 Client/Eternexus/root, not the m2dev assets/root), drop 2 deleted
  implementation files, move 64 prose test entries to evidence.commands
- first port-map entry: PythonPlayerEventHandler.cpp
- roadmap replaced by a batch/unit queue

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-22 17:17:49 +09:00
co-authored by Claude Opus 5
parent 6a175ee293
commit 55f733fda6
16 changed files with 621 additions and 468 deletions
@@ -14,6 +14,8 @@ import json
import re
from pathlib import Path
import refroot # script directory is on sys.path when run directly
def read_array(path: Path, symbol: str) -> bytes:
text = path.read_text(errors="replace")
@@ -41,7 +43,7 @@ def main() -> int:
args = parser.parse_args()
root = args.repo_root.resolve()
reference = root.parent / "40250/Server Client TMP4/ClientVS22/source/EterLib/NetStream.cpp"
reference = refroot.reference_root(root) / "EterLib/NetStream.cpp"
current = root / "extension/src/net/classic/sequence_table.h"
try:
ref = read_array(reference, "s_bSequenceTable")