Skip to content

Roadmap: Repo2C4 — geração de documentação LikeC4 a partir de repositórios com IA configurável #4

Closed

Description

@rodri-oliveira-dev

Repo2C4 — Roadmap de implementação

Visão do produto

Ferramenta .NET para inspecionar um repositório local, identificar evidências verificáveis de sua arquitetura e gerar documentação LikeC4 revisável. O núcleo de inspeção/emissão é independente de IA e de MCP. No uso por MCP, o modelo é selecionado pelo cliente; o uso direto via CLI com provedor/modelo configuráveis é acrescentado na Fase 5.

Escopo inicial: repositórios locais .NET; C1/C2 primeiro; C3 somente para um container selecionado; LikeC4 como DSL/validador/renderizador existente, sem editor próprio. Não tratar cada projeto .NET como container nem cada classe como componente. Relações/atores não comprovados devem ser marcados como hipóteses para revisão, não inventados como fatos. A Fase 6 acrescenta adoção por terceiros, publicação explícita, onboarding e aquisição opcional de repositório Git HTTPS público em workspace local isolado, sem alterar o pipeline de análise baseado em evidências. A Fase 7 acrescenta um agente local de documentação arquitetural baseado em Microsoft Agent Framework, atuando como cliente do Repo2C4 MCP: o agente orquestra consulta de evidências, proposta, validação, correção limitada e aprovação humana antes de qualquer escrita, sem mover a inteligência para dentro do servidor MCP.

Inicialização concluída e pré-requisitos da Fase 1

  • PR #3 — Initialize Repo2C4 integrado à main em 25/09/2026 (commit 6a843b5). Não desenvolver na branch de inicialização.
  • main inicializada e validada após o merge: CI com restore em locked mode, formatação, build e testes concluídos com sucesso; CodeQL e SonarQube Cloud também concluídos com sucesso.

Fase 1 concluída em 25/09/2026: PR #24 integrado à main no commit 386d76a. Issues #5, #6, #7 e #8 encerradas automaticamente como concluídas. CI, CodeQL e SonarQube Cloud pós-merge concluídos com sucesso.

Fase 2 concluída em 25/09/2026: PR #25 integrado à main no commit 96af051. Issues #9, #10, #11 e #12 encerradas automaticamente como concluídas. CI #60, CodeQL #18 e SonarQube Cloud #18 pós-merge concluídos com sucesso. Fase 3 iniciada na branch phase/03-mcp, criada a partir desta main. A #13 foi implementada e validada; próxima execução: #14.

Regras de execução (obrigatórias em todas as fases)

  1. Criar a branch indicada para a fase somente no início dela, sempre a partir da main atualizada após o merge do PR da fase anterior. A Fase 1 exige o merge do PR Initialize Repo2C4 #3. Não criar agora branches futuras a partir de uma base antiga.
  2. Implementar as issues na ordem das dependências, com commits incrementais na mesma branch da fase. Não abrir PR por issue; não transferir trabalho parcial para main.
  3. Ao terminar todas as issues da fase, executar os testes de saída, abrir um único PR da branch da fase para main, detalhar evidências dos testes e incluir Closes #N para cada issue da fase. Não fazer merge automático.
  4. Revisar e integrar o PR após os checks e aprovações aplicáveis; somente então marcar a fase concluída, atualizar este roadmap com o link real do PR e iniciar a fase seguinte. Se o repositório mudou, reconciliar os contratos existentes antes de implementar; não duplicar funcionalidades já entregues.
  5. Não publicar secrets, arquivos sensíveis, prompt/conteúdo bruto ou logs confidenciais. Scans são locais, com raiz autorizada, limites, exclusões e diagnósticos explícitos. A IA nunca transforma uma hipótese sem evidência em fato confirmado automaticamente.

Porte por issue: S = pequena alteração focalizada, usualmente um contrato, adaptador ou validação; M = uma funcionalidade vertical delimitada com fixture, testes e documentação. Se uma issue crescer além do seu escopo, registrar descoberta e criar issue independente, preservando a meta e o PR único da fase.

Fase 1 — Fundação

Branch: phase/01-foundation · PR: #24, integrado à main em 25/09/2026.

DoR: PR #3 integrado; main inicializada, verde; branch criada da main.
DoD da fase: ✅ Core/MCP/CLI mínimos compilam; snapshot determinístico com contratos e evidências reais em fixtures .NET; controle de escopo/segredos e testes concluídos; PR único #24 integrado à main com fechamento de #5–#8.

Fase 2 — LikeC4 offline

Branch: phase/02-likec4-offline · PR: #25, integrado à main em 25/09/2026 no commit 96af051.

Concluída em 25/09/2026: #9–#12 foram implementadas sequencialmente na mesma branch e entregues pelo PR #25. Durante a revisão, os apontamentos de proveniência Worker/RabbitMQ, criação atômica sem --overwrite e drenagem de streams no cancelamento foram corrigidos antes do merge. O PR foi integrado no commit 96af051, fechando #9, #10, #11 e #12. Validação pós-merge da main: CI #60, CodeQL #18 e SonarQube Cloud #18, todos com sucesso.

DoR: PR da Fase 1 integrado; contrato de evidências v1 estável; branch criada da main.
DoD da fase: ✅ fixture .NET → snapshot JSON → modelo arquitetural revisado → arquivos C1/C2 válidos; CLI e testes offline reproduzíveis, sem credenciais de IA; PR único #25 revisado e integrado à main; #9–#12 encerradas; CI, CodeQL e SonarQube pós-merge verdes.

Fase 3 — MCP

Branch: phase/03-mcp · PR: #26 integrado à main em b5dd9a1.

DoR: PR da Fase 2 integrado e main validada; CLI/gerador/contratos estáveis. Criar phase/03-mcp a partir do commit 96af051 ao iniciar a #13.
DoD da fase: cliente MCP consegue inspecionar, obter evidências paginadas, apresentar modelo C1/C2, pré-visualizar, validar e gravar em destino autorizado; sem IA embutida no servidor e sem logs em stdout; integração testada sem credenciais cloud; PR único integrado à main.

Concluída em 25/09/2026: Fase 3 implementada integralmente e integrada à main pelo PR #26, merge commit b5dd9a1. As issues #13, #14, #15 e #16 foram encerradas pelo merge. O fluxo MCP completo cobre inspeção, evidências paginadas, proposta C1/C2 pelo cliente, preview dry-run, validação oficial e escrita explícita sem overwrite; documentação e prompts evidence-first também foram entregues. Os ajustes dos reviews finais foram incorporados antes do merge, mantendo CI, CodeQL, SonarQube Cloud e Dependency Review verdes. Próxima fase: Fase 4 — Revisão e C3; primeira issue #17.

Fase 4 — Revisão e C3

Branch: phase/04-review-and-c3 · PR: #31, integrado à main em 25/09/2026 no commit 2066143.

Concluída em 25/09/2026: #17–#19 implementadas na mesma branch, revisadas e integradas pelo PR #31, merge commit 2066143. O relatório de proveniência e pendências, a proposta C3 seletiva e a regeneração gerenciada com preview, manifesto de hashes, proteção de edições manuais e remoção segura de arquivos gerenciados obsoletos foram entregues. Os apontamentos de revisão foram corrigidos, comentados e encerrados antes do merge. As issues #17, #18 e #19 estão fechadas. Validação final da branch no CI, CodeQL, SonarQube Cloud e Dependency Review com sucesso. Validação pós-merge da main: CI e CodeQL em execução na atualização inicial; SonarQube Cloud concluído com sucesso.

DoR: PR da Fase 3 integrado; modelo C1/C2 e validação MCP disponíveis. Atendido.
DoD da fase: ✅ relatórios rastreáveis; C3 seletivo validado; dry-run/diff e proteção de arquivos editados; testes de conflito e segurança; PR único #31 integrado à main; #17–#19 encerradas.

Fase 5 concluída em 26/09/2026: PR #32 integrado à main no commit baae7c4. Issues #20, #21, #22 e #23 encerradas automaticamente pelo merge. A revisão final teve 10 apontamentos corrigidos, comentados e resolvidos antes da integração. Na validação pós-merge, SonarQube Cloud já concluiu com sucesso; CI e CodeQL estão em execução. Próxima fase: Fase 6 — Adoção e experiência de uso; primeira issue #27.

Fase 5 — Provedores e distribuição

Branch: phase/05-distribution · PR: #32, integrado à main em 26/09/2026 no commit baae7c4.

Progresso em 25/09/2026: #20 implementada na branch phase/05-distribution, partindo de main no commit 2066143; último commit f335733. Foram entregues infer com contrato desacoplado do Core, provedor Ollama local configurável, snapshot sanitizado e limitado, candidato v1 sujeito a revisão, testes HTTP fake e documentação PT/EN. CI #36202515795 verde: restore locked, format, build Release, testes, cobertura, integração LikeC4 real, smoke CLI offline/MCP e governança. A #20 permanece aberta até o PR único da fase. O trabalho de #21 está registrado no progresso seguinte; #22–#23 permanecem pendentes e não houve PR nem merge.

Progresso da #21 em 25/09/2026: adaptador OpenAI na CLI com ID de modelo configurável, --allow-external-ai obrigatório, credencial exclusivamente por OPENAI_API_KEY, destino HTTPS fixo e relato apenas da quantidade de evidências sanitizadas/arquivos anonimizados. Limites, timeout, cancelamento, retorno v1 validado e revisão humana obrigatória preservados; testes HTTP fake cobrem autenticação, consentimento, segurança, respostas válidas/inválidas, erros 401/403/429/5xx e falhas de transporte. Documentação PT/EN e comparação MCP/Ollama/OpenAI no README. Implementação até o commit 90da623, com CI #36203306721 verde (restore locked, format, build Release, testes/cobertura, LikeC4 real, smoke CLI/MCP e governança). A #21 permanece aberta até a integração do PR único; a #22 foi implementada e validada na etapa registrada a seguir.

Progresso da #22 em 25/09/2026: workflow manual de PR revisável e script controlado de validação/publicação adicionados para os modos modelo v1 revisado ou inferência externa explicitamente autorizada. A execução é restrita à main confiável; valida restore/build/test, geração segura e LikeC4 real antes de preparar diff; publica somente artefatos gerenciados modificados na branch dedicada com PR para revisão humana, nunca faz merge automático. CI #36204464679 verde no commit 7525588: actionlint, restore locked, formato, build Release, testes/cobertura, integração LikeC4, fixtures de erros/no-op/PR simulado, smoke de documentação real, CLI/MCP e governança. Documentação de permissões, secrets e operação EN e PT-BR. Próxima issue: #23 na mesma branch; nenhum PR ou merge da Fase 5. A execução manual publicadora só estará disponível após integrar o workflow à main; não foi realizada publicação real nesta etapa.

Validação final da #22: commit e803eaf, CI #36204649861 verde: actionlint, restore locked, formato, Release build, suíte .NET/cobertura, LikeC4 oficial, 11 testes de automação com fixture e ferramentas simuladas, smoke real sem publicação e árvore limpa. O último ajuste restringe a herança de OPENAI_API_KEY exclusivamente ao subprocesso de inferência consentida e utiliza URL absoluta para evidence-report.md no texto do PR. O workflow manual poderá ser executado após a integração da Fase 5 à main; não houve PR intermediário, envio real à nuvem nem merge. A #23 foi implementada posteriormente e o PR único da Fase 5 está aberto para revisão.

Progresso da #23 e PR da Fase 5 em 25/09/2026: os pacotes .NET Tool Repo2C4.Cli e Repo2C4.Mcp têm versão compartilhada 1.0.0, comandos repo2c4 e repo2c4-mcp e README embutido; Core permanece não empacotável. Script de distribuição executa pack e instalação isolada a partir de feed local, inspeção/geração/validação LikeC4 e handshake/listagem/inspeção MCP por JSON-RPC. O teste detectou uma dependência de execução ausente no pacote MCP; o adaptador foi corrigido e o lock file de testes regenerado pelo SDK. CI #36207262197 validou o fluxo real de distribuição com sucesso, antes de adicionar README aos pacotes. O workflow de release é manual, executa dry-run por padrão e só cria tag/GitHub Release com opt-in duplo após validar o commit; não publica NuGet.org. Documentação/quickstarts EN e PT-BR, READMEs, exemplos C1/C2/C3 e CHANGELOG atualizados. PR único #32 aberto de phase/05-distribution para main com Closes #20, Closes #21, Closes #22 e Closes #23. Checks do PR no commit 0a4f2ea verdes: CI #36207418287 com restore locked, format, build Release, MTP/cobertura, actionlint, validação LikeC4, smoke de instalação e JSON-RPC MCP; CodeQL #36207418254, Dependency Review #36207418262 e SonarQube Cloud #36207418255 com sucesso. A #23 tem os DoD de implementação/validação marcados, permanece aberta até integração do PR. Revisão arquitetural e merge manual ainda pendentes. Não fazer merge automático, criar tag ou publicar release enquanto a revisão não terminar. A Fase 5 será concluída somente após a integração do PR e a validação pós-merge.

Concluída em 26/09/2026: #20–#23 foram implementadas na mesma branch, revisadas e integradas pelo PR #32, merge commit baae7c4. A entrega inclui inferência opcional via Ollama/OpenAI com revisão humana obrigatória, automação de documentação por PR, CLI/MCP empacotáveis como .NET tools, instalação isolada testada e release GitHub manual com publicação explícita. Os 10 apontamentos do review final foram corrigidos, comentados e resolvidos; os checks finais do PR ficaram verdes. As issues #20, #21, #22 e #23 estão fechadas. Pós-merge da main: SonarQube Cloud verde; CI e CodeQL em execução na atualização inicial. Próximo passo: iniciar a Fase 6 pela #27 em phase/06-adoption, criada a partir desta main.

DoR: PR da Fase 4 integrado; geração e regeneração seguras testadas; branch criada da main.
DoD da fase: ✅ uso direto opcional com modelo/provedor configurável, sem credencial em CI; integração GitHub cria PR revisável apenas após validação; CLI/MCP distribuíveis e instalação testada; documentação PT/EN, CI, segurança e release dry-run verdes; PR único #32 revisado e integrado à main; #20–#23 encerradas.

Fase 6 — Adoção e experiência de uso

Branch: phase/06-adoption · PR: #33, integrado à main em 26/09/2026 no commit 4872922.

DoR: ✅ PR da Fase 5 integrado; artefatos distribuíveis, instalação em ambiente limpo e release dry-run da #23 validados. phase/06-adoption criada a partir da main atualizada (baae7c4).

Progresso da #27 em 26/09/2026: release pública evoluída para manter gate manual em main, environment protegido release, GitHub Release com pacotes/checksums/instruções e publicação dos dois .NET tools no NuGet.org via NUGET_API_KEY do environment. Um job pós-publicação instala a versão exata diretamente do NuGet.org e executa CLI/MCP como consumidor externo, com retry de propagação e sem exposição de segredo. Documentação EN/PT-BR atualizada. Implementação até 1f7b84b. Nenhum PR aberto e nenhuma publicação real acionada nesta etapa. #28 implementada: quickstarts EN/PT-BR e exemplos copiáveis para stdio portátil, VS Code e Claude Desktop adicionados em examples/mcp-clients/, com validação automática de JSON/segurança no CI, smoke manual documentado e troubleshooting. READMEs agora expõem o caminho curto instalar → conectar → analisar → preview → validar → escrever. Durante a validação, o YAML de release da #27 foi corrigido (d0f598e) para restaurar o gatilho exclusivamente manual. CI #36233258038 em execução. Próxima issue após CI verde: #29, na mesma branch.
DoD da fase: ✅ release explicitamente acionada e consumível por terceiros; instalação pública verificada; quickstarts MCP reproduzíveis; onboarding init/doctor seguro; repositório Git HTTPS público pode ser adquirido em workspace temporário isolado e analisado pelo mesmo pipeline local; nenhuma execução de código do repositório, credencial persistida ou escrita remota; PR #33 integrado à main; #27–#30 encerradas; CI pós-merge, CodeQL e SonarQube Cloud verdes.

Fase 7 — Agente de documentação arquitetural

Branch: phase/07-agent · PR: #46, integrado à main em 01/10/2026 no commit ee986f4.

Arquitetura-alvo: Repo2C4.Agent é um consumidor independente do Repo2C4.Mcp. O Agent usa Microsoft Agent Framework para raciocínio/tool calling e o SDK MCP C# oficial para conectar por stdio; não referencia Core/CLI/MCP como bibliotecas de domínio. O MCP continua determinístico, utilizável por clientes externos e responsável por seus próprios limites e proteções. A escrita final permanece protegida por preview/validação do MCP e por human-in-the-loop no Agent Framework.

Referências técnicas vigentes para implementação: Microsoft Agent Framework para .NET (Microsoft.Agents.AI), integração local com MCP convertendo tools MCP em AITool/function calling, workflows explícitos com WorkflowBuilder e aprovação humana de tool com ApprovalRequiredAIFunction. Conferir a documentação oficial vigente ao iniciar cada issue e fixar versões compatíveis no repositório; não usar versão flutuante.

DoR: ✅ PR #33 da Fase 6 integrado à main; #27–#30 encerradas; validação pós-merge da Fase 6 verde; artefatos CLI/MCP e quickstarts públicos coerentes; phase/07-agent criada a partir da main atualizada.
DoD da fase: ✅ repo2c4-agent executa sobre Microsoft Agent Framework com provider/modelo explícitos; conecta ao Repo2C4 MCP por stdio sem acesso direto ao Core; realiza análise evidence-first; usa workflow limitado para relatório/preview/validação/retry; nenhuma escrita ocorre sem ApprovalRequiredAIFunction/HITL equivalente e aprovação vinculada à chamada; budgets, cancelamento e logs sanitizados são testados; harness determinístico e E2E com MCP real verdes sem cloud obrigatória; pacote/quickstart PT/EN validados; PR #46 integrado à main; #34–#42 encerradas; CI pós-merge, CodeQL e SonarQube Cloud verdes.

Fase 7 concluída em 01/10/2026: implementação das issues #34–#42 concluída na branch phase/07-agent e integrada à main pelo PR #46, merge commit ee986f4. O Agent foi entregue como cliente independente do MCP, com fluxo evidence-first, providers configuráveis, validação/correção limitada, HITL antes de escrita, budgets/observabilidade e distribuição como .NET Tool. As issues #34–#42 foram encerradas pelo merge. Pós-merge da main: CI #36833734991, CodeQL #36833734940 e SonarQube Cloud #36833734999 concluídos com sucesso.

Aceite final e exclusões

  • Todas as 32 issues de implementação foram entregues e fechadas pelos respectivos PRs integrados.
  • Links dos sete PRs de fase foram registrados aqui e verificações de build/testes/LikeC4 estão verdes na main.
  • Um repositório .NET de exemplo demonstra C1/C2, C3 seletivo, relatório de evidências e edição segura; o MCP funciona sem credenciais de IA próprias; o modo CLI opt-in suporta escolha de provedor/modelo; instalação pública, quickstarts, init/doctor e aquisição opcional de repositório Git HTTPS público são reproduzíveis; o Agent baseado em Microsoft Agent Framework usa o MCP por stdio, valida/corrige de forma limitada e exige aprovação humana antes da escrita.
  • Sem serviço SaaS, editor/renderer próprio, análise universal de linguagens, inferência de fatos sem evidência, merge automático ou publicação pública sem acionamento explícito.

Regra de conclusão: ✅ atendida em 01/10/2026 com a integração e validação pós-merge do PR #46 da Fase 7.

Roadmap concluído: as sete fases previstas nesta issue foram entregues e integradas. Evoluções posteriores são rastreadas em roadmaps independentes; a Fase 8 foi acompanhada pela #47 e integrada posteriormente pelo PR #59. A evolução de Semantic C3 e geração multi-container está planejada na roadmap #61 (Fase 9).

Progresso da #29 em 26/09/2026: repo2c4 init e repo2c4 doctor implementados na phase/06-adoption. O init cria apenas .repo2c4.json v1 com defaults seguros, suporta interação/non-interactive, preserva configuração existente e exige --force com backup para substituição. Doctor diagnostica configuração, filesystem, .NET, LikeC4 e dependências específicas do modo sem executar análise/build/IA. Testes e documentação PT/EN adicionados. A #28 foi confirmada pelo CI #36233258038 verde. CI final da #29: #36235988369 verde no commit 3072acac, após correção das violações de formatação; build, testes/cobertura, LikeC4, smoke e gate final concluíram com sucesso. Próxima issue: #30, última da Fase 6; somente após ela abrir o PR único para main.

Fase 6 concluída em 26/09/2026: implementação das issues #27–#30 concluída na branch phase/06-adoption e integrada à main pelo PR #33, merge commit 4872922. Os ciclos de revisão incluíram hardening da publicação, configuração/doctor, aquisição Git remota, isolamento de DNS, proteção SSRF, validação de IPv4/IPv6 e opt-in explícito da ferramenta MCP remota. As issues #27–#30 foram encerradas pelo merge. Pós-merge da main: CI #36246588717, CodeQL #36246588721 e SonarQube Cloud #36246588722 concluídos com sucesso.

Progresso da #30 em 26/09/2026: aquisição Git HTTPS pública implementada no Core atrás de abstração testável, integrada ao inspect da CLI e à ferramenta MCP inspect_remote_repository. Ref é resolvido para commit, proveniência fica separada da evidência, e workspace temporário aplica timeout/cancelamento/limites/cleanup. Credenciais, protocolos não HTTPS, configuração Git externa, submódulos e links são rejeitados/desabilitados; nenhum código do repositório é executado. README/quickstarts EN/PT-BR atualizados. CI #36236687904 verde no commit 9b11bcd. PR único da Fase 6: #33, integrado à main com Closes #27–#30.

Activity

  1. rodri-oliveira-dev commented on Oct 2, 2026

    @rodri-oliveira-dev
    OwnerAuthor

    Roadmap concluído.

    Encerrando esta roadmap como concluída.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions