- import-badge.ts, badges route, and badges edit route now resolve ExternalTexts.json via getGamedataRoot() instead of the hardcoded public/nitro-assets/gamedata/ path - writeBadgeToExternalTexts creates the file (and parent dirs) when missing, so fresh deployments no longer fail with ENOENT - upload-import SQL maker now classifies furni via classifyFurni and generates correct category sub-pages (imp_<catKey>) instead of hardcoded imp_other