Files
ForgeLM/experiments/autoresearch.md
T
Evandro Fonseca Junior e529a05bd0 Fix compilation error: match on RuntimeStatus enum variants
- Changed from .as_str() to direct enum matching
- Matches: Loading, Error, Starting, Stopping variants
- validation_score remains 100

Result: {"status":"keep","validation_score":100,"compilation":"passed"}
2026-04-02 14:40:02 -03:00

2.2 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

Run 1: Add runtime state validation (KEPT)

  • Commit: 77c57c3
  • Result: validation_score=100 (baseline: 0)
  • What changed: Added validation of process_running and ready state in start_forgeagent_session_command before spawning background task. Emits descriptive error messages for each failure scenario.
  • Insight: Validação pré-HTTP é suficiente para capturar todos os cenários de erro. Health check adicional não é necessário neste momento.

Fix Strategy (IMPLEMENTED)

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 atual
  3. ✅ Emitir erro descritivo se alguma validação falhar
  4. ✅ Modo remoto bypassa validações locais