Roadmap de melhorias + reconciliação de docs/documentacao + Onda 1 (frontend)#67
Merged
Merged
Conversation
Reconciliação doc<->código: a varredura estática confirmou 87 arquivos .py em python/packages/ (não 89). Demais contagens (137 .rs, 160 .ts/.tsx, 14 crates, 5 pacotes, 32 ADRs, 11 schemas, 12 templates) conferidas e OK. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
- 09-analise-critica: forgetting.py foi REMOVIDO (não é mais código morto extante); btv-eval segue placeholder vazio descopado. - 02-casos-de-uso: btv_agent::start_squad_task -> squad_agent::start_squad_task (a função vive em btv-cli/src/squad_agent.rs; alinha com 06-sequencia). - 03-pacotes / 10-c4-modelo / 14-modulos: web/src/api 22 -> 21 módulos (real). Demais diagramas (01,04,05,06,07,08,11,12,13) verificados contra o código e já corretos: 14 crates/137 .rs, 5 pacotes/87 .py, 4 serviços gRPC, RunStatus/DomainEventKind(8)/Verdict/Handoff, 12 templates. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
- 11-rust-core-e-llm: FallbackChain descrita como 'era código morto, removida' (alinha com provider.rs:40). - 13 e 16: nota de MemorySummary — 'forgetting.py foi removido' (não 'morto'). - 17-typescript-e-html: web/src/api ~22 -> 21 módulos (contagem exata). Verificado como já correto: 21 kinds de ledger (8 btv.* + 13 instrumentação), 4 serviços gRPC com stubs Unimplemented documentados, max_autonomy_level no wire mas ignorado (ADR 0021), 22 rotas do btv_agent, inventário btv-squad (30 .py, sem forgetting.py), doctor 5 checks (Rust) vs 4 (onboarding TS). Marcadores 'Nada Fake' preservados. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
- 12-typescript-frontend: web/src/api 22 -> 21 módulos; completa listas lib/ (screenComponents, screenMeta) e state/ (useBrand); adiciona hooks/ notando useAsyncAction.ts com adoção zero. Verificado como já correto: 10-rust-crates (14 crates, DomainEventKind 8 variantes, default_set 4 built-ins), 11-python-pacotes (5 pacotes, 5 agentes), 13-contratos (4 serviços gRPC + 11 schemas + 12 templates exatos), 14-endpoints (todas as rotas axum conferidas), 15-adrs (COMPLETO: 32 ADRs, 0030/0032 'proposta'), 16-glossario. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
Frontend — unificação e higiene (itens F1/F2/F3/F4 de docs/ROADMAP-MELHORIAS.md): - F1: novas primitivas nativas em btv-web/src/components/primitives/ (AsyncStatus, Modal/ConfirmModal, Toast/ToastProvider/useToast), espelhando as do console web/ nos tokens do produto. Minhas.tsx passa a usar useAsyncAction+AsyncStatus (idle/loading/error/success unificados, fim dos três estados à mão). +6 testes vitest. - F2: tokens de superfície de feedback no global.css (--ok-bg/--ok-ink, --err-bg/--err-line/--err-ink, --warn-bg/--warn-ink); substituem os hexes hardcoded em comum.tsx (Pill/ErroBox) e Minhas.tsx. Sem terracota — feedback nunca usa a cor de decisão (brand-lint verde). - F3: ensure-bpmn.mjs inicializa o submodule vendor/bpmn automaticamente antes de falhar (clone fresco sem --init não quebra mais o build). - F4: window.alert/confirm eliminados — SquadRunContext usa toast (gate encerrado), Usuarios usa ConfirmModal na remoção de perfil. Docs atualizadas junto (reconciliação viva doc<->código): dados/17, diagramas/14 (cadeia de providers + nó de primitivas) e referencia/12 (useAsyncAction agora adotado; primitives/ listado). Verificação local: vitest 43/43 (inclui brand-lint), tsc -b + vite build limpos, oxlint exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkWvx5G1XqRZwybmCErshc
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.
Contexto
Análise profunda do repositório para estruturar melhorias (backend + frontend), seguida da reconciliação da documentação gerada e da primeira onda de execução do roadmap. Tudo respeitando o rito da campanha e as decisões já registradas (itens gated/adiados-com-gatilho não são reabertos).
O que este PR entrega (6 commits)
1. Roadmap consolidado
docs/ROADMAP-MELHORIAS.md— backlog priorizado com status de governança (🟢 quick-win / 🟡 precisa ADR / 🔒 gated / ✅ já resolvido), cobrindo backend, frontend, testes/CI e loops abertos. Cita a análise crítica existente (§9.2) e cruza com evidência (arquivo:linha).2. Reconciliação de
docs/documentacao(doc ↔ código)Passe de verificação afirmação-por-afirmação nos ~35 arquivos das 4 partes + README:
.py89 → 87.diagramas/:forgetting.pyremovido (não mais "código morto extante");btv_agent::→squad_agent::start_squad_task; contagem api 22→21.dados/: wording de remoção daFallbackChain/forgetting.py; api 22→21.referencia/:12-typescript(api 22→21, listaslib//state//hooks/); confirmado15-adrscompleto (32 ADRs).mapeamentos/: verificado, zero drift.3. Onda 1 do roadmap — frontend (F1/F2/F3/F4)
btv-web/src/components/primitives/(AsyncStatus,Modal/ConfirmModal,Toast/useToast), espelhando as do consoleweb/.Minhas.tsxadotauseAsyncAction+AsyncStatus(fim dos três estados à mão). +6 testes vitest.global.css(--ok-bg/--err-bg/--warn-bg…); substituem hexes hardcoded emcomum.tsxeMinhas.tsx. Sem terracota (brand-lint verde).ensure-bpmn.mjsinicializa o submodulevendor/bpmnautomaticamente antes de falhar (clone fresco sem--initnão quebra mais o build).window.alert/confirmeliminados:SquadRunContextusa toast;UsuariosusaConfirmModal.Docs de
documentacaoatualizadas junto (reconciliação viva):dados/17,diagramas/14,referencia/12.Verificação local
vitest43/43 (incluibrand-lint)tsc -b+vite buildlimposoxlintexit 0Fora deste PR (respeitando governança)
btv-cli) — gated no 2º consumidor do motor.max_autonomy_level) — decisões de produto/ADR do dono.🤖 Generated with Claude Code
Generated by Claude Code