Skip to content

Onda 2 — Backend: robustez (B8) + cobertura de falha de rede do Gateway (T3) - #68

Merged
danzeroum merged 1 commit into
mainfrom
claude/doc-repository-analysis-wcg7jb
Jul 14, 2026
Merged

Onda 2 — Backend: robustez (B8) + cobertura de falha de rede do Gateway (T3)#68
danzeroum merged 1 commit into
mainfrom
claude/doc-repository-analysis-wcg7jb

Conversation

@danzeroum

Copy link
Copy Markdown
Owner

Onda 2 do roadmap — backend robustez + cobertura

Segunda onda de execução de docs/ROADMAP-MELHORIAS.md (a Onda 1, frontend, foi mergeada no PR #67).

B8 — tornar observáveis os let _ = que engoliam Result significativo

Auditoria dos ~38 sítios let _ = em btv-cli. Três engoliam silenciosamente uma falha de persistência (o único lugar onde um erro relevante podia sumir); agora logam sem derrubar o caminho:

  • web_agent.rsledger_session.finish (fim da tarefa web).
  • btv_agent.rsstore.set_status (status final do run).
  • squad_agent.rsledger_session.finish (fim do squad).

Os demais são envios de canal/broadcast/oneshot ou eventos de UI (receptor ausente = ok) — auditados e mantidos.

T3 — falha REAL de rede do Gateway (antes só mock)

Dois testes novos em gateway.rs:

  • conexão recusada (porta fechada) → AllFailed, nomeando o provider.
  • servidor que aceita e pendura → o timeout curto do cliente HTTP corta rápido (< 5s), sem esperar para sempre — exatamente o bug de produção (squad "ativa" zumbi) que os timeouts do gateway resolveram.

T4 — consenso→ledger e2e: já estava coberto

A varredura confirmou que o "exercise gap" da Fase 4 já está fechado: consenso_do_stream_e_registrado_no_ledger_com_cadeia_integra (in-process scriptado, sem key) + o gêmeo cross-process com Python real (squad_e2e.rs). Nada a fabricar — só atualizei a doc de cobertura.

Docs

docs/documentacao/mapeamentos/04-cobertura-de-testes.md: linhas do Gateway/btv-llm passam de "mock/médio" para coberto/baixo.

Verificação local

  • cargo test -p btv-cli (93+6+7) e -p btv-llm (28) verdes
  • cargo clippy -p btv-cli -p btv-llm -- -D warnings limpo
  • cargo fmt --all --check OK

🤖 Generated with Claude Code


Generated by Claude Code

Backend — B8 (robustez) + T3 (cobertura); T4 confirmado já coberto.

- B8: torna observáveis 3 `let _ =` que engoliam um Result significativo
  (falha de persistência silenciosa vira log, sem derrubar o caminho):
  - web_agent.rs: `ledger_session.finish` no fim da tarefa web.
  - btv_agent.rs: `store.set_status` do status final do run.
  - squad_agent.rs: `ledger_session.finish` do squad.
  Os demais `let _ =` são envios de canal/UI (sem receptor = ok) — auditados
  e mantidos.

- T3: dois testes de falha REAL de rede do Gateway (antes só mock):
  conexão recusada → `AllFailed`; servidor que aceita e pendura → o timeout
  curto do cliente HTTP corta rápido (o bug de produção da squad "ativa"
  zumbi que os timeouts resolveram), sem pendurar.

- T4 (consenso→ledger e2e): a varredura confirmou que o "exercise gap" da
  Fase 4 JÁ está fechado — `consenso_do_stream_e_registrado_no_ledger...`
  (squad.rs, in-process scriptado) e o gêmeo cross-process com Python real
  (squad_e2e.rs). Nada a fabricar; doc de cobertura atualizada.

docs/documentacao/mapeamentos/04: linha do Gateway e do btv-llm passam de
"mock/médio" para coberto/baixo.

Verificação local: cargo test btv-cli (93+6+7) e btv-llm (28) verdes;
clippy -D warnings limpo; fmt OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
@danzeroum
danzeroum merged commit 30a152d into main Jul 14, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants