JuanCS-Dev commited on
Commit
97575ef
·
1 Parent(s): 79a6fdc

docs: Add forensic report for production database and auth issues

Browse files
Files changed (1) hide show
  1. docs/production_status_forensics.md +40 -0
docs/production_status_forensics.md ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Forensic Report: Byte Agent Production Status (2026-02-24)
2
+
3
+ ## Atual Situação do Sistema
4
+ - **IRC Runtime**: **OPERACIONAL**. O bot está conectando com sucesso e participando de canais (#gaules confirmado nos logs).
5
+ - **Nebius Inference**: **MIGRADO**. O sistema está usando Moonshot Kimi K2.5 via API compatível OpenAI. Testes de latência indicam prontidão.
6
+ - **Supabase Connectivity**: **CRITICAL FAILURE**. O banco de dados está rejeitando a conexão com `FATAL: password authentication failed for user "postgres"`.
7
+ - **Dashboard Observability**: **UNSTABLE**. Embora o sistema de "Auto-Cura" esteja injetando o token, ainda ocorrem rejeições de 403 em algumas rotas de polling.
8
+
9
+ ---
10
+
11
+ ## 🔬 Diagnóstico: Banco de Dados (Supabase)
12
+ ### O que tentamos:
13
+ 1. **Porta 6543 (Transaction Pooler)**: Falhou (Timeout/IPv6 block).
14
+ 2. **Porta 5432 (Session Pooler)**: Conecta (IPv4 resolvido), mas dá erro de senha.
15
+ 3. **DSN vs Args**: Mudamos para o modo de argumentos explícitos (`psycopg2.connect(user=..., password=...)`) para evitar erros de encoding de string.
16
+
17
+ ### O culpado provável:
18
+ - A senha `VP8olefId8akNqf8` está sendo rejeitada pelo servidor Postgres do Supabase.
19
+ - **Suspeita**: O usuário `postgres` no pooler de sessão (5432) pode exigir o sufixo do projeto (ex: `postgres.utnmldsouwprgstzvszj`) na senha ou no usuário de forma que o nosso `strip()` ou parsing não está capturando perfeitamente.
20
+ - **Ação Recomendada**: Resetar a "Database Password" diretamente no painel do Supabase e atualizar o segredo `SUPABASE_DB_URL` no Hugging Face com o formato DSN absoluto fornecido pelo botão "Connect" do Supabase.
21
+
22
+ ---
23
+
24
+ ## 🔑 Diagnóstico: Dashboard Auth (403)
25
+ ### O que está acontecendo:
26
+ - O servidor loga `Auth rejection for route /api/...`.
27
+ - O dashboard injeta o token via `config.js`, mas o polling de widgets (`observability`, `clips`, `hud`) parece estar disparando antes do token estar disponível no `localStorage` ou ignorando o `window.BYTE_CONFIG`.
28
+
29
+ ### Erro de JS detectado:
30
+ `TypeError: Constructor ArrayBuffer requires 'new'`
31
+ - Isso está pausando o debugger do navegador e pode estar quebrando a execução do `main.js` antes que ele configure os headers de autenticação corretamente.
32
+
33
+ ---
34
+
35
+ ## 📋 Lista de Tarefas para Amanhã
36
+ 1. [ ] **DB**: Resetar senha no Supabase e injetar URL fresca no HF (Porta 5432).
37
+ 2. [ ] **JS**: Corrigir o erro de `ArrayBuffer` no frontend (provavelmente em algum widget de streaming ou HUD).
38
+ 3. [ ] **Auth**: Mudar o `BaseHTTPRequestHandler` para aceitar o Admin Token via Query String como fallback (ex: `?auth=TOKEN`) caso o Header continue sendo dropado pelo Proxy do HF.
39
+
40
+ **Status Final da Sessão**: Sistema online, mas "cego" (sem DB) e com monitoramento instável. 🛸🛰️