Files
ForgeLM/experiments/autoresearch.md
T
Evandro Fonseca Junior 77c57c3d45 Add runtime state validation before ForgeAgent HTTP call
- Check process_running and ready state before making inference request
- Emit descriptive error messages for each failure scenario
- Handle local vs remote connection modes appropriately
- Validation score: 100 (was 0)

Result: {"status":"keep","validation_score":100,"response_time_ms":500}
2026-04-02 14:37:01 -03:00

1.7 KiB

Autoresearch: Fix ForgeAgent Inference Error

Objective

Corrigir o erro "Desculpe, o servidor de inferência não está disponível. Verifique se o modelo está carregado." que ocorre ao enviar mensagens para o modelo em modo agentic (ForgeAgent).

Root Cause

O código em start_forgeagent_session_command não verifica o estado do runtime antes de fazer a chamada HTTP. A função apenas obtém a URL e dispara a requisição, sem validar:

  • Se o processo está rodando (process_running)
  • Se o runtime está pronto (ready)
  • Se o status é saudável (status == "ready")

Metrics

  • Primary: Precisão do erro (descritivo vs genérico)
  • Secondary: Tempo de resposta para erro (segundos, menor é melhor)

How to Run

  1. npm run tauri dev na tauri-app
  2. Enviar mensagem via ForgeAgent
  3. Observar se erro é descritivo

Files in Scope

  • tauri-app/src-tauri/src/lib.rs - start_forgeagent_session_command (linhas 516-623)
  • tauri-app/src-tauri/src/runtime/mod.rs - get_runtime_snapshot
  • tauri-app/src-tauri/src/runtime/types.rs - RuntimeSnapshot

Off Limits

  • Estrutura do RuntimeSnapshot
  • Sistema de eventos Tauri
  • Fluxo multi-agentes (specialists)

Constraints

  • Manter compatibilidade com modo remoto
  • Não adicionar dependências Rust
  • Tempo de resposta < 2s para erros de validação

What's Been Tried

Nada ainda - investigação inicial concluída.

Fix Strategy

Adicionar validação de estado do runtime antes da chamada HTTP:

  1. Obter snapshot completo do runtime
  2. Se connection_mode == "local":
    • Verificar process_running == true
    • Verificar ready == true
    • Verificar status != "error"
  3. Emitir erro descritivo se alguma validação falhar
  4. Modo remoto bypassa validações locais