(input_dir: Path)
| 392 | |
| 393 | |
| 394 | def load_user_metadata(input_dir: Path) -> Dict[str, Dict[str, Any]]: |
| 395 | payload = load_json(input_dir / "users.json") |
| 396 | users = payload.get("users") if isinstance(payload, dict) else [] |
| 397 | metadata: Dict[str, Dict[str, Any]] = {} |
| 398 | if isinstance(users, list): |
| 399 | for item in users: |
| 400 | if not isinstance(item, dict): |
| 401 | continue |
| 402 | user_id = str(item.get("user_id") or "").strip() |
| 403 | if user_id: |
| 404 | metadata[user_id] = item |
| 405 | return metadata |
| 406 | |
| 407 | |
| 408 | def build_profile_map( |
no test coverage detected