import argparse
import os
import sys
from pathlib import Path
def main() -> int:
p = argparse.ArgumentParser(description="MTP numerical-parity reference dumper")
p.add_argument("model_path", type=Path, help="Path to Qwen 3.5/3.6 MTP-bearing checkpoint dir")
p.add_argument("output_dir", type=Path, help="Where to write .npy dumps")
p.add_argument("--token-id", type=int, default=None,
help="Override token id for embedding (default: ' Paris' token)")
p.add_argument("--hidden-init", type=Path, default=None,
help="Override hidden init from .npy file (default: capture from forward)")
args = p.parse_args()
if not args.model_path.is_dir():
print(f"FAIL: model_path {args.model_path} not a directory", file=sys.stderr)
return 1
config_json = args.model_path / "config.json"
if not config_json.exists():
print(f"FAIL: {config_json} missing", file=sys.stderr)
return 1
args.output_dir.mkdir(parents=True, exist_ok=True)
print("=" * 60)
print("mtp_parity.py — ADR-034 P1 scaffold (NOT YET IMPLEMENTED)")
print("=" * 60)
print(f"Model: {args.model_path}")
print(f"Output dir: {args.output_dir}")
print()
print("STATUS: This is a scaffold. Implementation requires:")
print(" 1. Qwen 3.6 MTP-bearing safetensors on disk")
print(" 2. transformers + torch installation with Qwen 3.5/3.6 trust_remote_code support")
print(" 3. ~200-400 LOC to capture hidden states, run MTP block, dump intermediates")
print()
print("Implementation gates landed in ADR-034 P1 + project_adr034_mtp_loader_moe_bug_2026_05_21.")
print("See scripts/parity/README.md for full design.")
return 2
if __name__ == "__main__":
sys.exit(main())