Conceitos

Como o Silex pensa o seu código

Todos os números, nomes e arestas desta página vêm de um scan real do Silex no eShop (app de referência da Microsoft, MIT), executado com o Silex v0.11.35. Nada aqui é mock-up. Esta página também foi escrita para ser lida por agentes de IA (llms.txt).

435
Classes
1,586
Relacionamentos
69
Comunidades
6
Linguagens
53
Arquivos vendor excluídos
14%
Território desconhecido
01

O scan — ler antes de acreditar

O Silex começa lendo seu repositório localmente: parseando cada arquivo-fonte, extraindo classes, métodos e os relacionamentos entre eles — chamadas, herança, rotas HTTP cruzando fronteiras de linguagem, joins SQL crus. Nenhum código sai da sua máquina.

O resultado é um grafo local: nós são símbolos de código, arestas são relacionamentos encontrados no fonte, cada um rastreável a arquivo e linha.

classes: 435
relationships: 1,586
communities: 69
languages: csharp javascript typescript json proto markdown
53 arquivos vendor/gerados excluídos por padrão
02

O mapa de comunidades — a forma real do sistema

O Silex agrupa o grafo de relacionamentos (algoritmo de Leiden) em comunidades: grupos de classes que realmente trabalham juntas — independentemente do layout de pastas. Esta é a arquitetura como ela é, não como a árvore src/ alega que ela é. Clique num nó para ver suas classes-membro reais.

3 4 3 3 2 33Vertical do Basket 8Contrato HTTP do Basket 6Handoff Basket→Order 34Vertical do Catalog 48Aplicação de Order 49Núcleo de domínio de Ordering 9Slice de cancelamento idCostura de Identity 7Saga: confirmação de estoque 6Saga: etapa de pagamento 5Webhooks de status
vertical / núcleo passo de saga contrato de rede costura / egressos largura da aresta = referências entre comunidades

Núcleo de domínio de Ordering

49 classes · coesão 0.067

A superfície de contrato do agregado Order: repositório, eventos de domínio (cancelled/shipped/paid) e os handlers de integration events que colam a saga do pedido.

Membros (nomes reais de classes)

Descrição escrita por um agente de IA lendo o code pack real desta comunidade — o mesmo fluxo orquestrado pelo cliente que você recebe.

Pares de classes mais fortes
Address ↔ Order4
Basket ↔ CustomerBasketResponse4
Basket ↔ CustomerBasket3
CancelOrder ↔ IIdentity3
Order ↔ OrderItem3
CatalogItem ↔ CatalogMock3
Por que isso importa

As sagas aparecem como comunidades próprias — o grafo encontrou os passos da coreografia (confirmação de estoque, pagamento) sem que ninguém dissesse o que é uma saga. O layout de pastas diz "Ordering.API"; o grafo diz "cinco slices independentes e duas pernas de saga".

03

Ancoragem de evidências — sem âncora, sem fato

Toda afirmação do Silex carrega uma âncora: o arquivo e o intervalo de linhas que a prova, com o trecho citado verificado contra o fonte. Uma afirmação que não pode ser ancorada não é armazenada como fato — é marcada como lacuna.

O ciclo de status do pedido é protegido: Submitted → AwaitingValidation → StockConfirmed → Paid → Shipped

96%verifiedOrder.cs:99-131

SetPaidStatus() só dispara a partir de StockConfirmed — o pagamento nunca pula a checagem de estoque

94%verifiedOrder.cs:119-128

GetTotal() ignora o campo de desconto — risco financeiro numa reescrita

88%flagged ⚠OrderItem.cs:48

SetPaymentMethodVerified() grava ids de comprador e pagamento sem guarda de estado

91%verifiedOrder.cs:93-97
0

âncoras alucinadas em 328 submissões de agentes num engajamento enterprise real de 520 classes. O portão é aplicado na entrada: uma regra submetida por agente sem proveniência é rejeitada.

04

Confiança — honestidade em número

A confiança expressa o quanto a evidência sustenta uma afirmação — e carrega proveniência: se veio de análise estática, de um passe de LLM ou do seu próprio agente de IA. Números nunca são inventados: uma regra proposta por agente mostra n/a até um humano revisar, não uma pontuação inventada.

heuristicDeterminístico — AST, call graph, schema. Confiança máxima.96%
llmInferido pelo passe de enriquecimento. Sempre rotulado.72%
agentProposto pelo seu agente — aguardando revisão humana.n/a
05

Território desconhecido — o que o Silex não prova, ele te conta

O inverso da confiança: as partes do código onde a evidência era fina demais. Em vez de chutar, o Silex as marca. Para uma migração ou mudança assistida por IA, saber onde o mapa termina vale tanto quanto o mapa.

86% mapeado com evidências
14%

Scan de referência do eShop: 14% marcado como território desconhecido por gap_analysis.

06

Máquinas de estado — recuperadas do código, não da documentação

Onde o estado vive no código (enums, campos de status, transições guardadas), o Silex reconstrói a máquina — cada transição ancorada. O ciclo de vida real do pedido recuperado do eShop (Order.cs:99-131): Submitted → AwaitingValidation → StockConfirmed → Paid → Shipped, com Cancelled acessível a partir dos estados iniciais.

Submitted AwaitingValidation StockConfirmed Paid Shipped Cancelled depósito confirma pagamento aprovado

Confira com a seção 02: os passos de saga (confirmação de estoque, pagamento) aparecem como comunidades, e as transições que eles dirigem aparecem aqui — duas reconstruções independentes concordando é exatamente a cara da arqueologia baseada em evidências.

07

Código vendor e gerado — classificado, nunca apagado em silêncio

Um código real carrega bundles vendor, assets minificados e migrations geradas. O Silex os classifica para fora do caminho por padrão — fora do mapa, dos packs, das estimativas de custo — mas nunca esconde o fato.

Uma regra protege você: um arquivo com cara de vendor que seu time editou (commits locais no git) é tratado como seu código e permanece no mapa, marcado. jQuery forkado de 2014 com regra de negócio dentro? Continua visível.

# linha real de stats deste scan
53 arquivos vendor/gerados excluídos
do mapa por padrão
→ reinclua via .silexignore
08

Revisão humana — a camada 1.5

Entre a extração bruta e um modelo de domínio canônico fica a camada de revisão: todo fato proposto por LLM ou agente é um candidato até um humano confirmar. Seu agente de IA faz o trabalho pesado via ferramentas MCP — lendo code packs de comunidades, propondo regras com âncoras — e você continua sendo a autoridade. As descrições de comunidades da seção 02 foram produzidas exatamente assim.

CAMADA 1
Extração bruta
Grafo determinístico — classes, relacionamentos, comunidades, máquinas de estado.
CAMADA 1.5
Revisão humana
Regras propostas por agentes com âncoras, mantidas como candidatas até confirmação.
CAMADA 2
Modelo de domínio canônico
Fatos confirmados — aquilo em que seus agentes e seu time confiam.

Gerado de um scan real do Silex no eShop (MIT) com a v0.11.35. O grafo, as tabelas e a máquina de estado são dados, não ilustração.