GLMChat V2.2.1 Server Extraction Verification UTC timestamp: 2026-07-22 13:36:27 Archive: GLMCHAT_V2.2.1_SERVER_DIRECT_DEPLOY_22072026133627.zip SHA-256: e0ffe8a5430f6f53e7e2e3084adb83ee4876131bb572c269a740b7dcf8b04dbe ARCHIVE STRUCTURE PASS ZIP integrity PASS 91 archive entries PASS no app/ wrapper PASS no documentation/ directory PASS no absolute paths PASS no path-traversal entries PASS no duplicate entries PASS no symbolic links PASS hidden root .htaccess included PASS third-party licence notice retained DIRECT WEB-ROOT FILES PASS .htaccess PASS index.html PASS index.php PASS manifest.webmanifest PASS sw.js PASS server/.htaccess PASS server/index.php PASS storage/.htaccess POST-EXTRACTION VALIDATION PASS extracted tree matches packaged source byte-for-byte PASS deployment manifest: 81/81 entries verified PASS SBOM file inventory: 80/80 exact coverage PASS PHP syntax: 44/44 files PASS JavaScript syntax: 7/7 files PASS static index.html smoke test: HTTP 200 PASS fresh SQLite migrations: 13/13; integrity OK; 0 foreign-key violations PASS representative upgrade and repeated latest migration NOT RUN / ENVIRONMENT-LIMITED - A successful backend runtime was not claimed. This container lacks PHP curl, mbstring, sqlite3 and zip. The backend returned a controlled HTTP 500 server error and logged ENVIRONMENT_INVALID rather than executing its success path. - LiteSpeed rewrite/header behaviour, HTTPS/session cookies, live Together API calls, and physical Android browser checks require the target environment. FINAL VERDICT READY FOR DIRECT EXTRACTION INTO THE INTENDED WEB ROOT, provided the server meets the documented PHP 8.2+, extension, HTTPS, LiteSpeed and writable-storage requirements. Back up the existing deployment before an in-place upgrade.