Onda 4 (L2) — remove max_autonomy_level do SquadTask (quebra de wire ASSINADA, ADR 0033)#70
Merged
Merged
Conversation
BREAKING CHANGE (wire assinada — buf breaking acusa por design, como ADR 0030). Onda 4 do roadmap, item L2 (decisão do dono: remover). O campo `max_autonomy_level` do `SquadTask` trafegava no wire mas era ignorado ponta-a-ponta (ADR 0021) — a autonomia real é por agente (`ProgressiveAutonomyManager`/`agent_trust_scores`, hitl.py). Remover tira a mentira do contrato, sem mudar comportamento observável (nada lia o campo). - schemas/proto/squad.proto: `reserved 4; reserved "max_autonomy_level";` (impede reuso da tag/nome). - Stubs regenerados: Rust (tonic-build) e Python (gen_proto_py.py). - Sítios Rust que setavam o campo removidos (squad.rs, squad_agent.rs, squad_e2e.rs x3). Comentários do console web/ atualizados. - ADR 0033 (proposto) documenta a quebra assinada; supersede o débito do 0021. - docs/documentacao reconciliadas (09-analise-critica RESOLVIDO; dados/13,14,16,17; referencia/13,15; README — 32→33 ADRs). Governança: contrato = merge do dono. O job `buf` do CI fica VERMELHO por design (sinal de quebra intencional). NÃO auto-mergear — requer sign-off. Verificação local: cargo build + test (squad 20, sidecar compila) verdes; clippy -D warnings limpo; fmt OK; pytest 200/200. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
Owner
Author
|
CI: 12/13 verdes — só o Confirmação da evidência para o sign-off (run #169):
A mudança é limpa em todas as outras dimensões: Pela regra contrato = merge do dono, este PR aguarda seu aval — não foi auto-mergeado. Ao aprovar, o merge pode ser feito apesar do Generated by Claude Code |
This was referenced Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item L2 do roadmap, conforme sua decisão (remover o campo). Diferente das Ondas 1–3 (que mergeei com CI verde), este PR não fica verde: o job
bufdo CI acusa a quebra por design (categoriaFILE,--against main), exatamente como o ADR 0030. Pela regra do projeto (contrato = merge do dono), ele aguarda seu sign-off.O quê
O campo
max_autonomy_leveldoSquadTasktrafegava no wire mas era ignorado ponta-a-ponta (ADR 0021) — a autonomia real é decidida por agente (ProgressiveAutonomyManager/agent_trust_scores,hitl.py). Remover tira a mentira do contrato sem mudar comportamento observável (nada lia o campo).schemas/proto/squad.proto:reserved 4; reserved "max_autonomy_level";(impede reuso da tag/nome).tonic-build) e Python (gen_proto_py.py).squad.rs,squad_agent.rs,squad_e2e.rs×3); comentários do consoleweb/atualizados.docs/documentacaoreconciliadas (09-analise-critica marca RESOLVIDO; dados/13,14,16,17; referencia/13,15; README 32→33 ADRs).Verificação local (tudo verde exceto o buf, que é vermelho por design)
cargo build+cargo test -p btv-cli squad(20) verdes;squad_e2e.rscompilacargo clippy -D warningslimpo;cargo fmt --all --checkOKpytest200/200 (stubs regenerados)Por que não é
.v2Um
squad.v2.protoduplicaria o serviço inteiro para remover um campo morto — desproporcional. A quebra assinada +reserved+ deploy Rust+Python coordenado (mesmo repo, local-first) é o caminho do ADR 0030, aqui repetido.🤖 Generated with Claude Code
Generated by Claude Code