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

53 lines
2.2 KiB
Markdown

# 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