# Classic migration staging Target: CMaNGOS Classic, client 1.12.1 build 5875, with CMaNGOS Playerbots. This directory does not implement the runtime connector or authorize a cutover. `stage-data.py --root /path/to/isolated/migration` observes an existing `azerothai-classic-build` container, verifies the transferred MPQs against `client-manifest.json`, and runs the upstream extractor with two worker threads. The manifest maps relative MPQ paths to `size` and `sha256`. Checksums verify transfer integrity against the supplied client manifest, not publisher authenticity. The Docker builder image must be named `azerothai-classic-builder:local`; the installed extractor must be under `run/bin/tools`. The staging directory and container files belong to UID/GID 1000. Containers have a two-core/four-GiB limit. Progress and failures are written to `prerequisites-status.json`. A successful extraction is only a prerequisite: database import, the Classic control adapter, the 50-character roster, account protection, and gameplay validation remain. The script never starts the new realm, changes the old realm, or deletes bots. Migration safeguards: - Preserve the verified Wrath backup and the active-50 identity export. - Maintain 25 Alliance and 25 Horde. Use valid Vanilla race/class combinations. - Start new Vanilla characters at level 1; do not directly import Wrath inventory, talent, spell, or quest tables. Blood Elves, Draenei, Death Knights, Alliance Shamans, and Horde Paladins need explicit compatible replacements. - Retain personalities and historical memories; reset live observations, GUIDs, action queues, and progress baselines when binding the new characters. - Protect human/GM accounts. Inactive managed profiles are cleanup candidates, not proof that corresponding game characters can safely be deleted. - Test native bot login, progress, resurrection, safety rules, read-only visitor access, and current observations before switching the live dashboard or client.