(input_dir: Path)
| 513 | |
| 514 | |
| 515 | def load_user_metadata(input_dir: Path) -> Dict[str, Dict[str, Any]]: |
| 516 | payload = load_json(input_dir / "users.json") |
| 517 | users = payload.get("users") if isinstance(payload, dict) else [] |
| 518 | metadata: Dict[str, Dict[str, Any]] = {} |
| 519 | if isinstance(users, list): |
| 520 | for item in users: |
| 521 | if not isinstance(item, dict): |
| 522 | continue |
| 523 | user_id = str(item.get("user_id") or "").strip() |
| 524 | if user_id: |
| 525 | metadata[user_id] = item |
| 526 | return metadata |
| 527 | |
| 528 | |
| 529 | def build_user_states( |
no test coverage detected