- [User Profile](user_jesiel.md) — Dono do SkyMilhas, exige paridade total com sites oficiais - [Server Access](reference_servers.md) — IPs/credenciais servidores + VMs NOVAS (ADV-21 caixa 100.127.165.71 + ADV-23 escritorio 100.79.190.45, senha Skymilhas2026) - [⚠️ Migração VMs 2026-05-28](project_migracao_vms_2026_05_28.md) — VMs velhas MORTAS → novas (samueltelles2022@). Fix Smiles/Azul/Livelo + watchdog cron 2min nas 2 VMs. LER ao mexer em VM/solver - [AA persist+watchdog 2026-06-10](project_aa_persist_watchdog_2026_06_10.md) — AA OK via aa-chrome24 (Chrome real+extensão) 2 VMs. __aaCap agora persiste em disco (aa-cap-raw/) + watchdog 5min. LER antes de mexer na AA - [Smoke geral 2026-06-10](project_smoke_geral_2026_06_10.md) — 16/17 verdes (Qatar VIROU verde 30 voos!). Disco ADV-21 96%→83%. ADV-23 atolada (RAM 6G p/ 14 browsers, subir p/ 12G+). LATAM Pass 0 = lp-chrome24 sem capturas - [Server Access Deploy](server_access.md) — Mesmos servidores: comandos PM2, deploy AA, proxy-seller, paths CodeIgniter - [SkyMilhas Architecture](project_skymilhas_architecture.md) — Servidores, portas, proxy bridges, scrapers, Akamai solver, fluxo completo - [Scraper Rules](feedback_scraper_rules.md) — Regras criticas: duracao TZ, proxy bridges, solver Akamai, Chrome orfaos - [AA Rules](feedback_aa_rules.md) — Regras AA: não afetar outros scrapers, resolver sem parar, economizar proxy, deploy sempre - [Proxy Rotation](feedback_proxy_rotation.md) — Rotacionar proxy após X consultas para evitar IP queimado - [LATAM No Capsolver](feedback_latam_no_capsolver.md) — LATAM não usa capsolver pago - [Livelo Display Rules](feedback_livelo_display.md) — Cards devem ser 100% identicos ao livelo.com.br - [Smiles NÃO MEXER](feedback_smiles_nao_mexer.md) — Smiles 100% corrigido, PROIBIDO alterar sem autorização - [Salvar Memória Sempre](feedback_salvar_memoria.md) — SEMPRE salvar memória após cada conclusão de tarefa - [Sem gastos extras](feedback_sem_gastos_extras.md) — Só proxy-seller; nunca propor solver pago, proxy mobile ou serviço externo - [Deploy Isolation](feedback_deploy_isolation.md) — Deploy de um scraper JAMAIS afeta os demais (pm2 restart específico, nunca all) - [Usar Todas VMs](feedback_usar_todas_vms.md) — Todo solver/scraper roda em adv-22 + adv-23 (+ futuras adv-N) com round-robin. Nunca uma VM sozinha em produção - [Obsidian Vault](reference_obsidian_memoria.md) — Salvar memórias SEMPRE em D:\xampp\htdocs\mente-claude\Mente do Claude\ - [Ferramentas Gerais](ferramentas_gerais.md) — page-optimizer, proxy-fallback, ensure-fresh, limpeza zumbis (todos scrapers) - [AA Scraper Solution](aa_scraper_solution.md) — AA v17 puppeteer-extra+stealth + CAPTCHA solver próprio, 40 voos - [GOL Scraper Solution](gol_scraper_solution.md) — GOL v4 auto-detect bloqueio, fallback proxy, 21 voos, frontend R$ - [Smiles Scraper Fix](smiles_scraper_fix.md) — Camoufox + fetch SPA-mimic + page-optimizer, OW/RT 1ª tentativa 15-40s - [Smiles Akamai Limits](smiles_akamai_limits.md) — Limites Akamai Smiles, comportamentos observados - [Delta Scraper Fix](delta_scraper_fix.md) — puppeteer-real-browser + CDP, fix date picker bidirecional + #findFilghtsCta - [Smiles Fixes 2026-04-10](project_smiles_fixes_2026_04_10.md) — Todas correções Smiles: SW, RT única, boarding tax, tarifas, frontend - [Smiles Fixes 2026-04-07](project_smiles_fixes_2026_04_07.md) — API key, duracao, cidades, agrupamento, PHP duracao - [Azul Fixes 2026-04-07](project_azul_fixes_2026_04_07.md) — Bug rotacao, solver Akamai, proxy bridge 40506, merge APIs pendente - [All Scrapers Fixes 2026-04-08](project_azul_fixes_2026_04_08.md) — Azul Node.js API, GOL usarProxy, PHP/frontend dados reais, gateway fallbacks - [Livelo Fixes 2026-03-30](project_livelo_fixes_2026_03_30.md) — Correcoes scraper RT, frontend destinos, PHP campos voos - [GOL Fixes 2026-04-13](project_gol_fixes_2026_04_13.md) — taxaEmbarque, menorTarifa float, cidades, link deep, taxa real no painel - [GOL Fixes 2026-04-14](project_gol_fixes_2026_04_14.md) — Preços reais da API (bug multiplicadores), benefícios oficiais, formato +R$ - [AA Fixes 2026-04-14](project_aa_fixes_2026_04_14.md) — Tarifas perdidas server.js, multiplicadores removidos - [TAP Fixes 2026-04-14](project_tap_fixes_2026_04_14.md) — BRL pipeline, dedup tarifas, milhas exige login - [LATAM Money 2026-04-13](project_latam_money_2026_04_13.md) — Scraper LATAM BRL: infra 100%, BFF format, seletores, bloqueio Akamai pendente - [AA USD Fixes 2026-04-15](project_aa_fixes_2026_04_15.md) — Locale en_US, moeda condicional, PRODUCT_NAMES oficiais, pipeline USD completo - [LATAM Money Fixed 2026-04-15](project_latam_money_2026_04_15.md) — v9 puppeteer-extra+stealth, proxy bridge 40506, 33 voos funcionando - [TAP Fix Proxy 2026-04-15](project_tap_fix_2026_04_15.md) — Cloudflare bloqueia proxy-seller, fix: conexão direta - [Azul TripStack Fixes 2026-04-20](project_azul_tripstack_fixes_2026_04_20.md) — Origem alternativa (VCP/CGH) não descartada + EventSegments não contam paradas - [Delta Fixes 2026-04-20](project_delta_fixes_2026_04_20.md) — pageOptimizer bug removido, searchUrl com cidades, date-picker não navega meses (pendente) - [Monitor v2 2026-04-22](project_monitor_v2_2026_04_22.md) — Dashboard refeito: 37 serviços corretos, Chart.js, /api/overview consolidado, UI moderna - [Cache Audit 2026-04-22](project_cache_audit_2026_04_22.md) — Auditoria cache: airlines unsorted, fromCache não propagado, Smiles restart 224x em 18h (pendente aumentar RAM limit) - [Proxy Optimization 2026-04-22](project_proxy_optimization_2026_04_22.md) — Cache persistente disco, RAM 400→800M (11 scrapers), gateway sort airlines, block-resources helper (pendente aplicar) - [Sindicância 2026-04-22](project_sindicancia_2026_04_22.md) — Estado dos 10 scrapers: Smiles/AA/Delta/Livelo OK · TAP/Azul TripStack só IDA · Azul TudoAzul bug pageOptimizer · LATAM todos bloqueados · Azul PeloMundo Akamai - [TAP Fixes 2026-04-23](project_tap_fixes_2026_04_23.md) — Bug EXE fare (EXEINT → Executive) + RT completo (retDate URL + listInbound parser + in* offer fields) - [TAP Kasada Block 2026-04-23](project_tap_kasada_block_2026_04_23.md) — TAP blacklistado ~14:00 UTC. Infra pronta (bridge 40508, solver 40520) mas parada, esperando cooldown - [Cache Dedup + Parallel 2026-04-23](project_cache_dedup_parallel_2026_04_23.md) — Gateway dedup (pendingSearches), CACHE_TTL 60min padronizado (AA/Azul), loop JS paralelo concorrência=3 → busca 5 dias de 75s→25s - [Livelo Fixes 2026-04-24](project_livelo_fixes_2026_04_24.md) — API v2 (/v1 é 403), INF "Grátis" no precoPorPassageiro, +8 campos (modalidade, parceiroLogo, expiraEm, clubDiscount etc), sortBy explícito, pipeline scraper→gateway→PHP 100% - [TAP RESOLVIDO 2026-04-24](project_tap_resolved_2026_04_24.md) — Kasada bypassado via Chrome real + CDP no PC Jesiel + reverse SSH tunnel 9090. 187 voos CNF-LIS em 27s. Requer START-TAP-SOLVER.bat rodando no PC. - [Admin Sandbox + Multi-Keys 2026-04-24](project_admin_sandbox_2026_04_24.md) — Painel monitor: sandbox toggle por 29 airlines + CRUD API keys com requests tracking. Endpoints /admin/* protegidos por X-Admin-Key - [Admin Sandbox v2 2026-04-25](project_admin_sandbox_2026_04_25.md) — Iteração admin sandbox: melhorias UI/CRUD/Multi-Keys (consultar arquivo) - [TAP Solver Banner 2026-04-27](project_tap_solver_banner_2026_04_27.md) — Banner ASCII removido do tap-solver.mjs a pedido do Jesiel; janela inicia silenciosa - [TAP Solver DESATIVADO 2026-04-27](project_tap_solver_disabled_2026_04_27.md) — Watchdog tirado do Startup + processos mortos. TAP no servidor fica offline até reativação - [TAP Kasada Deep 2026-04-27](project_tap_kasada_deep_2026_04_27.md) — 4h reverse engineering: confirma que Kasada blacklist é endpoint+IP, pool proxy-seller (8 países) inteiro bloqueado. Sem solução técnica gratuita - [TAP Calendar Server 2026-04-27](project_tap_calendar_server_2026_04_27.md) — TAP 100% no servidor via availability/calendar/ + Chrome real + proxy-seller. PM2 53. Limitação: só preço do dia, sem horário/segmentos - [TAP 21h Marathon 2026-04-27](project_tap_18h_marathon_2026_04_27.md) — 30+ repos GitHub testados, 25+ tentativas bypass. Solução final: Tailscale exit node no celular do Jesiel - [TAP Tailscale PAUSADO 2026-04-27](project_tap_tailscale_pending_2026_04_27.md) — Servidor logado em tailnet zieltelles@, iPhone instalado mas com toggle OFF. Passos 1-6 documentados pra retomar - [Tailscale Exit Node 2026-04-28](project_tailscale_exit_node_2026_04_28.md) — Android exit node funcionando · split tunnel preserva SSH · cal v2 3.6x mais rápido sem proxy · /availability/search confirmado bloqueado por FINGERPRINT Kasada (não IP) — só PC Jesiel resolve - [TAP Android Setup 2026-04-28](project_tap_android_setup_2026_04_28.md) — Setup completo do Android exit node TAP (Tailscale + IP móvel) - [TAP ADV-22 24/7 sem PC 2026-04-30](project_tap_adv22_2026_04_30.md) — VM Ubuntu remota com IP residencial BH passou Kasada via Chrome headless. systemd tap-solver + ts-keepalive · scraper apontado · 194 voos CNF-LIS validado - [Azul Pelo Mundo ADV-22 PARCIAL 2026-04-30](project_azul_pelomundo_adv22_2026_04_30.md) — Solver instalado, Xvfb bypassa Akamai geral mas /catalog/api/v1/availability retorna 403 Access Denied específico. Form fill completo, falta passar Akamai endpoint-specific - [VM Proxy + Smart Bridge 2026-04-30](project_proxy_vm_smart_bridge_2026_04_30.md) — tinyproxy na VM ADV-22 + bridge :40520 com fallback automático. TAP+Delta migrados (zero proxy-seller). Smiles/GOL/LATAM precisam pool rotativo (revertidos) - [Livelo Proxy 40520 2026-05-02](project_livelo_proxy_40520_2026_05_02.md) — Livelo migrada pro smart-bridge VM ADV-22 (saída direta servidor caiu); cache 60min + dedup + maxSockets 60 + safety nets validados OW/RT/multipax/business/intl - [Smiles VM Solver 2026-05-02](project_smiles_vm_solver_2026_05_02.md) — Smiles via Chrome real na VM ADV-22 :9091 (SwiftShader + Xvfb + sem headless); bypassa Akamai com IP residencial; SMILES_USE_VM_SOLVER=1; warm 10s - [GOL Resolved 2026-05-03](project_gol_resolved_2026_05_03.md) — GOL via VM solver :9092 (Chrome real + IP residencial); X-AAT decifrado do oat.js (XOR); fluxo create-token + page.evaluate(fetch) cross-origin; 4 voos em 4s - [GOL Fix Service 2026-05-04](project_gol_fix_service_2026_05_04.md) — gol-solver.service com aspas literais no ExecStart causou crash-loop 23.875x desde 03/05; solver órfão segurando porta 9092 com hasBearer=false; fix: reescrever .service + kill órfãos. SSH na VM via porta 2222 (evita Tailscale SSH auth) - [GOL Otimizações 2026-05-04](project_gol_optimizations_2026_05_04.md) — dedup só marca fromCache se success; watchdog systemd 1min reinicia se hasBearer=false >120s; waitAbckValid 40s→5s acelera multipax 93s→10s (9x) - [AA via VM bridge 2026-05-04](project_aa_vm_bridge_2026_05_04.md) — aa-bridge na VM ADV-22:40504 (multi-país), scraper AA env-driven AA_PROXY_BRIDGE_HOST. AA-solver Chrome desativado (IP BR bloqueado). Pool proxy-seller queimado p/ aa.com (problema separado) - [AA Solver v3 RESOLVIDO 2026-05-04](project_aa_solver_v3_2026_05_04.md) — IP V.tal NÃO bloqueava; era `--enable-automation` injetada por puppeteer.launch. Fix: spawn Chrome puro + playwright connectOverCDP (padrão gol-solver). 23s GRU↔MIA Award. Falta apontar scraper - [Nova VM adv22 2026-05-04](project_adv22_new_vm_2026_05_04.md) — 2ª VM `adv22` (sem hífen, 100.123.139.93) entrou na tailnet pra paralelismo; Tailscale SSH ativo. Stack a replicar do adv-22 - [AA VM Solver completo 2026-05-05](project_aa_vm_solver_complete_2026_05_05.md) — AA passa Akamai com CAPTCHA solver inline (portado do v17) nas duas VMs. Round-robin adv-22+adv22. 39 voos OW 1.3s, 43 voos RT 82s. proxy-seller 407 fallback indisponível - [RT Paralelo 2 VMs 2026-05-05](project_rt_paralelo_2vms_2026_05_05.md) — AA/GOL/TAP/Smiles dividem RT em 2 OW paralelas (IDA adv-22 + VOLTA adv-23 simultâneas). Smiles -59%, AA -40%, TAP -29%. VMs renomeadas adv-22/adv-23 - [Delta VM Solver 2026-05-05](project_delta_vm_solver_2026_05_05.md) — Delta migrado pras 2 VMs via delta-solver :9094 (POST /gql cross-origin fetch). RT paralelo 7s (era ~120s). OW 19s (era 73s). Mantém scraper local como fallback - [Azul TudoAzul V5 2026-05-05](project_azul_tudoazul_v5_2026_05_05.md) — TudoAzul nas 2 VMs via azul-tudoazul-solver :9095 (JWT + fetch v5/availability). API v1→v5. RT 18s 12 voos - [LATAM Pass VM Attempt 2026-05-05](project_latampass_vm_attempt_2026_05_05.md) — Solver puppeteer-extra deployado em adv-22:9096 com Chrome real + IP residencial + sem CapSolver/proxy-seller. Auth0 rejeita em 4s pós-CPF mesmo com WebGL+pre-warm. Próximo: rewrite CDP-spawn estilo smiles-solver pra TLS/JA3 stock - [Livelo só VM (não proxy-seller)](feedback_livelo_via_vm_only.md) — Livelo roda via VM ADV-22 :40520, IP residencial. NÃO citar proxy-seller em diagnóstico/solução - [Testar via gateway 3001](feedback_test_via_gateway_only.md) — Smoke test SEMPRE em :3001/api/search?airlines=x, não nas portas internas dos scrapers - [Livelo Meta Patches 2026-05-06](project_livelo_meta_patches_2026_05_06.md) — 8 patches: scraper meta, PHP campos, frontend, 8 campos 2026-04-24, permite* na raiz, 6 campos crus API, +precos[] raw com priceListId+parceiro. economia/economiaFormatado REMOVIDOS do servidor (frontend calcula). Cobertura 100% API - [AA Cookies Injection 2026-05-07](project_aa_cookies_solution_2026_05_07.md) — Akamai 2.0 da AA bloqueia Chrome Xvfb mesmo com IP residencial. Solução: POST cookies do Chrome real do Jesiel em /set-cookies do aa-solver. adv-22 OK, adv-23 pendente (Tailscale SSH gate) - [AA Persist+Broadcast+Bookmarklet 2026-05-08](project_aa_persistence_broadcast_2026_05_08.md) — Cookies persistidos em /opt/aa-solver/cookies.json (sobrevive reboot), POST /api/aa/cookies-broadcast 1 call→2 VMs, bookmarklet em http://75.119.132.37/aa-broadcast.html. Patchright testado: bloqueado pelo TLS+ausência de GPU - [AA Host Solver Setup 2026-05-08](project_aa_host_solver_setup_2026_05_08.md) — Pacote aa-host-setup em C:\Users\Jesiel\Desktop\. Chrome real no host Hyper-V WIN-TIICDNET3GJ (GPU+TLS Windows). Aguarda Jesiel rodar setup.ps1 via AnyDesk. Resolve sem cookies manuais - [AA Akamai 2.0 apertou 2026-05-08](project_aa_akamai_v2_aperto_2026_05_08.md) — Behavioral CAPTCHA invisível (sec-if-cpt-container display:none). Mesmo Chrome real + GPU + cookies + IP residencial bloqueados. Sem solução automática hoje sem CapSolver pago. Toda infra pronta pra quando Akamai relaxar - [AA RESOLVIDO via Camoufox 2026-05-08](project_aa_camoufox_solution_2026_05_08.md) — Camoufox (Firefox C++ patchado) bypassa Akamai 2.0 em 100% automático. 2 VMs adv-22+adv-23, auto-rotação 30 buscas, cache 60min, backup VMs (diário) + cookies (horário). 15s/búsca, AA 100% ON. - [AA Camoufox COMPLETO 2026-05-08 final](project_aa_camoufox_complete_2026_05_08.md) — Estado final: parcialmente funcional, Camoufox passa intermitente, akamai-solver fallback bloqueado (datacenter IP). Pendente: rodar akamai-solver na VM, user_data_dir Camoufox, +adv-24 - [IP residencial NÃO queima](feedback_ip_residencial_nao_queima.md) — NUNCA dizer "IP queimado". CGNAT + sessão correta resolve sempre - [AA user_data_dir adv-22 2026-05-11](project_aa_user_data_dir_2026_05_11.md) — Patch user_data_dir aplicado (cookies persistem) mas Akamai 2.0 ainda devolve challenge page `/K7oC1_/...`. Backup .bak-pre-userdatadir-1778504337. adv-23 INTOCADO - [Scrapling AA PoC 2026-05-11](project_scrapling_aa_poc_2026_05_11.md) — 3 cenários testados (Fetcher TLS / StealthyFetcher / StealthySession+profile) — TODOS retornam AKAMAI_CHALLENGE. Confirma: stack não é o problema, só cookies frescos passam - [Sindicância 2026-05-11](project_sindicancia_2026_05_11.md) — Smoke 10 scrapers: Livelo/Smiles OK (110+24 voos), GOL+Delta+AA quebrados (causas-raiz identificadas), TAP/Azul/LATAM com 0 voos GRU-MIA (verificar se rota correta). AA monitor 24/7 instalado em adv-22 - [Smiles Capacity 2026-05-11](project_smiles_capacity_audit_2026_05_11.md) — Smiles 100% OW/RT/multipax · cache+dedup+2VMs aguentam 5k usuários distribuídos · pico até 200 simultâneos OK - [TAP Capacity 2026-05-11](project_tap_capacity_audit_2026_05_11.md) — TAP funcional OW+RT+multipax (149-241 voos com preço). adv-23 chrome_down 4d, restart precisa auth Tailscale (URL na memória) - [Sindicância TODOS scrapers 2026-05-11](project_sindicancia_all_scrapers_2026_05_11.md) — Funcionais 5-6 (Smiles, Livelo, TAP, Azul TripStack, GOL parcial). Gateway estável, 20 restarts hoje foram deploys ativos. 14 cias são stubs. AA/Delta/LATAM/Azul Pelo Mundo quebrados - [LATAM Money RESOLVIDO 2026-05-11](project_latammoney_solver_2026_05_11.md) — Solver dedicado adv-22:9097 (Chrome real CDP). 5/5 testes 100% sucesso, 50 voos OW em 22s, RT 100 voos. adv-23 pendente (senha sudo) - [LATAM Pass Bookmarklet 2026-05-11](project_latampass_bookmarklet_2026_05_11.md) — Bypass Auth0 anti-abuse via cookies sessão real. Bookmarklet → gateway → 2 VMs. http://75.119.132.37/latampass-broadcast.html - [Sessão 2026-05-11 PARA CONTINUAR](project_sessao_continuar_2026_05_11.md) — Índice mestre. Estado completo da sessão. Próximos passos. CONSULTAR PRIMEIRO ao retomar - [LATAM diagnóstico 2026-05-11](project_latam_diagnostico_2026_05_11.md) — Causa raiz: puppeteer-extra detectada por Akamai TLS/JA3. Solução = solver VM Chrome real (aplicada Money, pendente Pass) - [Sessão MEGA 2026-05-11](project_sessao_completa_2026_05_11.md) — Exit node Android passa homepage AA mas /booking/search 403. apk-mitm crashou (App Attest). Azul v5→v6. GOL TLS fix fetch. ADB+mitmproxy em Desktop\tools\ - [Sessão Final 2026-05-11 (Livelo+Delta+GOL resolvidos)](project_sessao_final_2026_05_11.md) — **Livelo RT 1029 voos** (HARD_TIMEOUT 90→240s) · **Delta 100 voos** (restart adv-22 solver) · **GOL prewarmCount=3** (pool escala) · Watchdog+Monitor 24/7 em adv-22. 10 patches aplicados, todos revertíveis - [Livelo Capacity 2026-05-11](project_livelo_capacity_2026_05_11.md) — TIMEOUT 180s + MAX_SOCKETS 120 + max_mem 400M + warmup cron top-50. Teto real ~15 únicas paralelas. Gateway max_mem 500M→1500M (leak pré-existente). Fix classe.toUpperCase - [Mirror local 2026-05-12](project_mirror_local_2026_05_12.md) — Espelho servidor em C:\...\skymilhas-site\{server-scraper,server-site,vms\adv-22,vms\adv-23}. 41 MD5 validados, ~407M total. Tarball+pscp re-sync documentado - [WHM/cPanel Server](reference_whm_server.md) — Servidor mail.skymilhas.com (107.150.43.90) port SSH 1907 root. Maildir codigo@, comandos Exim/Dovecot, DNS é Cloudflare - [Email DNS Fix 2026-05-12](project_email_dns_fix_2026_05_12.md) — Causa raiz "email LATAM não chega" era MX faltando no Cloudflare. Fix: A mail + MX. Pipeline Auth0+2FA agora funcional, login solver loggedIn=true - [LATAM Pass FUNCIONANDO 2026-05-12](project_latampass_funcionando_2026_05_12.md) — Pipeline completo 1ª vez: 50 voos GRU-MIA em 32s. Token reuse SPA (search-token JWT + captcha) + URL params reais (outFrom/cabinType/adult). Gateway propaga 50 voos. Pendente: preço em milhas (vem em BRL) - [LATAM Pass COMPLETO 2026-05-12](project_latampass_completo_2026_05_12.md) — Estado final do dia. Gateway 50 voos consistente 5/5 buscas. scraper-latam-miles :3012 é o que faz o trabalho final (VM solver opcional). Headers BFF x-latam descobertos. WHM/cPanel credenciais - [ADV-23 Paridade 2026-05-13](project_adv23_parity_2026_05_13.md) — Replicado xvfb-99 + latammoney :9097 + latampass :9098 + azul-solver/chrome via Tailscale SSH root. Round-robin latam-money/miles ativado. Bookmarklet LATAM Pass pendente - [Camoufox Migration 2026-05-14](project_camoufox_migration_2026_05_14.md) — **Smiles + Azul TudoAzul migrados pra Camoufox** (Firefox patchado C++) bypass Akamai automático. Tinyproxy adv-22 50→500. Bookmarklets Smiles/Azul. Gateway broadcasts. Schema LATAM padronizado AA-style. Auto-harvest cookies. adv-23 replicada - [Sessão FINAL 2026-05-14](project_sessao_final_2026_05_14.md) — **9/11 cias OK**. Camoufox+retry+warmup pesado destravou Smiles 7/7 rotas (incluindo intl GRU-MIA 24/EZE 24/LIM 30). Azul TZ 8/8 (todas rotas Azul opera). AA+Azul PM bloqueados Akamai 3.0 (limite técnico real). Patches+backups todos documentados - [Solver Watchdog Obrigatório](feedback_solver_watchdog_obrigatorio.md) — Trava/freeze de solver é INACEITÁVEL. Todo solver precisa watchdog auto-recuperação nas 2 VMs. Nunca depender de restart manual - [Smiles Watchdog 2026-05-15](project_smiles_watchdog_2026_05_15.md) — Smiles caiu 10h (Camoufox busy travado). Fix /restart-browser + novo smiles-watchdog systemd 1min cobre 2 VMs. Smoke 9/9 - [Watchdog Rollout 2026-05-15](project_watchdog_rollout_2026_05_15.md) — Watchdog replicado p/ todas cias: 6 guards genéricos progress-aware (load-safe, não restart-loop AA Akamai) 2 VMs via HTTP. GOL adv-23 + root adv-23 = gaps - [Next Session Tracker](NEXT_SESSION.md) — Pendências e próximos passos entre sessões (consultar antes de iniciar trabalho) - [LATAM Pass Login Fix 2026-05-15](project_latampass_login_fix_2026_05_15.md) — Login estava 100% quebrado (falso-positivo accounts.latam), CONSERTADO (auth real+2FA+OIDC booking). Mas /offers/search/redemption dá 403 até pra SPA LATAM (Akamai, mesma classe AA) - [LATAM Pass RESOLVIDO 2026-05-15](project_latampass_RESOLVIDO_2026_05_15.md) — Milhas+R$ reais via extensão de captura (VM=403 Akamai imóvel; sessão humana real passa). Pipeline ext→gateway/api/latampass/capture→scraper provado fim-a-fim (72.147 milhas+BRL 260,86) - [Auditoria Cias + Watchdog LATAM Pass 2026-05-15](project_auditoria_e_watchdog_2026_05_15.md) — Auditoria moeda 9 cias (cada uma 1 moeda, milhas+R$ junto NÃO existe por cia) + watchdog robusto 2 VMs (session-keeper auto-relogin + relé gateway, sem SSH cross-VM) - [Azul TudoAzul Parser v5 2026-05-16](project_azul_tudoazul_parser_v5_2026_05_16.md) — "milhas N/A R$ 0,00" CONSERTADO: parser lia campos API v1, fix v5 paxFares → 6000mi+R$102,04 separados. Pontos exigem login membro. NÃO brute-forçar solver Camoufox (agrava Akamai) - [AA RESOLVIDO 2026-05-16](project_aa_RESOLVIDO_2026_05_16.md) — AA Akamai 3.0 VENCIDO: Chrome24+WebGL swiftshader+clearCookies nas VMs. Harvester 24/7→gateway. GRU-DFW 40 voos 65.500mi+R$185 reais de aa.com. Mesma técnica serve Azul PM - [Azul PM availability 403 2026-05-16](project_azulpm_2026_05_16.md) — Pipeline pronto igual AA, MAS /catalog/api/v1/availability=403 endpoint-specific (sibling APIs 200). Tecnica do AA nao vence. Precisa extensao no Chrome humano - [Livelo Max-Memory Fix 2026-05-22](project_livelo_max_memory_2026_05_22.md) — Restart-loop (263×) era max_memory_restart 400M baixo demais (única scraper esquecida); subido 400→1536M e testado sob carga (warmup 50 rotas, 0 restarts). Proxy/VM OK, não era a causa - [AA scraper consertado 2026-05-22](project_aa_down_2026_05_22.md) — CORRIGE o aa_RESOLVIDO de 16/05. service.js reescrito p/ casar c/ index.js novo → porta 3013 reativada (estava zumbi). VMs solver/harvester parados/bloqueados Akamai. AA só mostra voos com captura por browser real (pendência do Jesiel) - [AA Auto-Capture extensão + sessão 2026-05-22](project_aa_extension_2026_05_22.md) — Extensão Chrome MV3 SkyMilhas Auto-Capture v2.0 PASSIVA (DOM-only). 109 voos AA servindo até 22h hoje. aa-harvester confirmado bloqueado (5/5 challenge stealth). 403 Apache pendente. CONSULTAR AO RETOMAR - [Disco cheio 2026-05-25](project_disco_cheio_2026_05_25.md) — Timeout TOTAL em todas cias: disco 100% por 15k perfis Chrome órfãos (/tmp/af-chrome-* sozinho 22G). Fix: limpeza com mtime>60 + restart específico. Pendente fix permanente AF + cron diário - [Não rodar no customer](feedback_nao_rodar_no_customer.md) — Servidor scraper: TODO comando via sudo root, nunca como user customer (PM2 do customer só tem fork zumbi) - [AF cleanup fix 2026-05-26](project_af_cleanup_fix_2026_05_26.md) — Patch Air France index.js (rastreia/limpa user-data-dir) + cron diário /opt/skymilhas/scripts/skymilhas-tmp-cleanup.sh (04:15 UTC). Vazamento que causou disco cheio resolvido na raiz - [Auditoria profile leak 2026-05-26](project_auditoria_profile_leak_2026_05_26.md) — Auditoria dos 5 scrapers com user-data-dir: só AF vazava (já fixado), demais OK (path fixo/pool/cleanup-no-finally). Playwright efêmero coberto pelo cron. Não re-auditar até sinais de regressão - [VM backup no servidor 2026-05-26](project_vm_backup_servidor_2026_05_26.md) — Backup adv-22 (671KB) + adv-23 (281KB) em /opt/skymilhas/vm-backups/2026-05-26/ no scraper. RESTORE.md inclui passo-a-passo. Sobrevive a format das VMs - [Scraper backup 2026-05-26](project_scraper_backup_2026_05_26.md) — Backup /opt/skymilhas (4.3M tarball + PM2 dump + crontab + ecosystem) em /opt/backups/skymilhas/scraper/2026-05-26 e mirror local no PC - [Google Flights fix 2026-05-26](project_google_flights_fix_2026_05_26.md) — GF devolvendo 0 voos 14h: gf-solver adv-22 com Chrome CDP travado, restart resolveu (9 voos GRU-CDG via gateway). Gaps: sem watchdog + adv-23 sem gf-solver - [GF full fix 2026-05-26](project_gf_full_fix_2026_05_26.md) — gf-solver replicado adv-23 (SPOF eliminado) + gf-watchdog 2 VMs (gatilhos: health dead, warmup err CDP, unhandled CDP). Smoke 3 rotas: 9/7/59 voos. Backup vai precisar refresh. - [GF price fix 2026-05-26](project_gf_price_fix_2026_05_26.md) — Bug crítico: valorDinheiro vinha "R$ 0,00" na API porque scraper só setava preco.valor mas gateway lê voo.valorNumero/voo.valorDinheiro no topo. Patch no toFlight() adicionou top-level fields. Validado 9 voos R$ reais - [Scraper backup FULL 2026-05-26](project_scraper_backup_full_2026_05_26.md) — Backup canônico restaurável from-scratch: /opt/skymilhas + PM2 + systemd + /etc + SSH + apt list. 15 arquivos / 4.6MB em /opt/backups/skymilhas/scraper/2026-05-26-full/ e PC. RESTORE.md em 12 etapas - [Parâmetros companhias](reference_parametros_companhias.md) — Pasta parametros-companhias/ (33 .md, 1 por cia) gerada por .tmp/gen-params.cjs. Editar array A + rerun pra atualizar - [Qatar só R$ 2026-06-05](project_qatar_revenue_only_2026_06_05.md) — Qatar=revenue/BRL via solver :9102; Avios exige login Privilege Club (probe provou 401). Jesiel decidiu manter R$ - [Audit + fixes 2026-05-26](project_audit_fixes_2026_05_26.md) — Auditoria automática 29 cias detectou 4 bugs: KLM (searchFn alias), lifemiles/airfrance/delta (campos preço top-level faltando). Todos fixed com marker idempotente. Restos com problemas independentes (proxy/Akamai/rate-limit) - [Capture Bot v4 2026-05-28](project_capture_bot_v4_2026_05_28.md) — Plugin ÚNICO p/ VM Windows: captura AA+LATAM Pass+Azul PM (resposta real → gateway), 1 aba só auto-fecha. Unifica as 3 ext por-cia. extensions/skymilhas-capture-bot/ - [Capture Bot v5 AUTO-UPDATE 2026-05-28](project_capture_bot_v5_autoupdate_2026_05_28.md) — v5.1.x AUTO-UPDATE 70s via PowerShell loop 10s + ext alarm 1min. AA+LATAM 100% live (AA 65.500mi + LATAM 67.790mi+BRL156). Azul okspan+parentAgos parcial. CONTINUAR AQUI - [Smoke test 33 cias 2026-05-29](project_smoke_test_2026_05_29.md) — OW+RT todas cias: 16 entregam (Livelo 277/655 líder, TAP/LATAM/GOL/Delta/Smiles OK), 14 zeradas. United REGREDIU (timeout), Azul TripStack RT falha. Passageiros OK