Skip to content

fix(squad): run reprovada ≠ concluída, consenso calibrado e honesto, fim do loop de negação - #78

Open
danzeroum wants to merge 6 commits into
mainfrom
fix/squad-outcome-permissions-consensus
Open

fix(squad): run reprovada ≠ concluída, consenso calibrado e honesto, fim do loop de negação#78
danzeroum wants to merge 6 commits into
mainfrom
fix/squad-outcome-permissions-consensus

Conversation

@danzeroum

Copy link
Copy Markdown
Owner

Contexto

Implementa as correções justificadas do relatório PATCH-ANALISE-SQUAD-CICLO-COMPLETO.md (validado contra o código real — todas as alegações de "já corrigido" eram falsas). Nada fake: cada mudança deriva de um bug/mentira reproduzido no código.

Correções

  1. Run reprovada ≠ concluída — derivar_outcome (Rust) decide aprovada/reprovada/incompleta; wire resultado/motivo (serde custom pt-BR), persistência SQLite + migration PG 0002, UI com badge/status/ação honestos (sem artefato = "sem artefato", reprovada mostra o motivo público).
  2. Consenso não exposto como confidence — limiar calibrado max(0.3, min(0.7, max_possible x 0.85)); consenso 2-agent auto-aprova; trio escala 3/7; feed da UI mostra participação real (winner_share vs limiar) com fallback para eventos antigos.
  3. Fim do loop de negação de 600s — denial budget no Developer (2 pedidos idênticos, 4 no total) + recovery_hint específico da causa no mensagem ao usuário.
  4. Veto do auditor vira reprovação — auditor_verdict real (lê assessment aninhado/passed), HITL semântico, RunResult após final_validation.

Validação

  • Rust: cargo test --workspace exit 0, fmt check limpo, clippy -D warnings limpo.
  • Python: 213 testes passando (novos: denial budget, calibração, veto, run_result, HITL honesto).
  • btv-web: vitest 7 arquivos / 51 testes verdes (25 em esteira, incluindo reprovada/incompleta/hitl honesto), tsc -b + vite build ok, oxlint ok.
  • Stubs gRPC regenerados (scripts/gen_proto_py.py).

Notas

  • Protos evoluem só aditivamente; RunResult é oneof novo no stream (sem quebra de contrato).
  • wire_strings.rs ganhou tolerância a CRLF (checkout Windows com core.autocrlf=true quebrava o corte do scanner — falha pré-existente descoberta no caminho).

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