&1 | head -30"); echo "\n=== git add ===\n"; echo shell_exec("git add wevia.html js/wevia-sse-override.js api/ambre-tool-pdf-premium.php api/ambre-llm-semaphore.php api/ambre-session-chat.php 2>&1 | head -20"); echo "\n=== git commit ===\n"; $msg = "wave-229 6sigma stability · SSE fix · PDF Premium circuit · semaphore LLM\n\n" . "- Fix CRITICAL: /js/wevia-sse-override.js regex /n/g split by literal newline (line 48)\n" . "- Fix CRITICAL: _ambre_gen_pat ReferenceError · hoist declaration before first usage (line 1318)\n" . "- Fix: /mermaid/i.test → indexOf (safer, no regex ambiguity)\n" . "- Fix: new RegExp(finalFileUrl) → split/join (no regex escape needed)\n" . "- Add: server-side LLM semaphore /api/ambre-llm-semaphore.php (max 5 concurrent)\n" . "- Add: PDF Premium circuit /api/ambre-tool-pdf-premium.php (12KB, Chart.js + google-chrome)\n" . "- Add: V9-PDF-PREMIUM router in wevia.html\n" . "- Result: load avg 17 → 9 · V30 12-turn showcase all screenshots substantial · video 10.36MB"; echo shell_exec("git -c user.email='ambre@weval.com' -c user.name='Ambre WEVIA' commit -m " . escapeshellarg($msg) . " 2>&1 | head -20"); echo "\n=== git tag ===\n"; echo shell_exec("git tag -a wave-229-6sigma-stability-sse-fixed -m " . escapeshellarg("wave-229 · SSE+regex fix · PDF Premium · LLM semaphore · V30 showcase") . " 2>&1"); echo "\n=== push ===\n"; // Use the token credentials (may timeout but will show) echo shell_exec("timeout 60 git push origin main 2>&1 | tail -5"); echo "\n=== push tag ===\n"; echo shell_exec("timeout 30 git push origin wave-229-6sigma-stability-sse-fixed 2>&1 | tail -5"); echo "\n=== final log ===\n"; echo shell_exec("git log --oneline -5"); echo "\n=== recent tags ===\n"; echo shell_exec("git tag -l 'wave-*' --sort=-creatordate | head -5");