Huginn
O Agente Huginn atua como o Validador Estrutural e Analista de Relações dentro do ecossistema Jack-In Station. Enquanto Eirene e Pythia lidam com a intenção e a semântica, Huginn mapeia a topologia real do sistema. Ele responde à pergunta fundamental: "Essa hipótese é estruturalmente válida?".
Abaixo detalho a origem do seu nome, seu papel arquitetural e seu comportamento.
A Origem do Nome¶
Na mitologia nórdica, Huginn é um dos dois corvos de Odin, representando o "Pensamento" (Thought / reflexão). Ele forma a dupla perfeita com o agente Muninn (que representa a "Memória"). No contexto da arquitetura, a metáfora é exata: enquanto Muninn simplesmente se lembra onde o conhecimento técnico está armazenado e o recupera, Huginn pensa sobre como esse conhecimento se conecta.
Ele também é visto como o "Teseu determinístico" do ecossistema: ele navega com precisão pelo labirinto de tabelas e dependências usando o fio estrutural real do banco de dados.
O Papel de Huginn¶
Huginn é o cartógrafo do sistema legado. O papel dele não é adivinhar ou normalizar intenções, mas atuar como o verificador técnico e auditor estrutural. Ele não interpreta regras de negócio de forma isolada; em vez disso, ele cataloga a verdade fria das relações.
Suas responsabilidades incluem: * Radiografia de Métricas: Ele aplica métricas de engenharia de software aos objetos, como Fan-in (quem depende do artefato), Fan-out (de quem o artefato depende), Grau Central e Instabilidade (usando fórmulas como a de Robert C. Martin). * Identificação de Titãs e Ilhas: Ele consegue categorizar se uma tabela é um "Hub" ou "Titã" (um pilar estrutural com centenas de conexões, como a tabela Contrato) ou apenas um artefato "folha" ou órfão. * Validação de Hipóteses: A filosofia do ecossistema dita que "Se a agente Ariadne aponta a fumaça, Huginn encontra o incêndio". Se os agentes semânticos criam uma hipótese de que duas tabelas têm relação de negócio, Huginn varre o banco para confirmar se os caminhos físicos (chaves, joins) comprovam isso.
Seu Comportamento e Arquitetura¶
Como seu "irmão" Muninn, o comportamento de Huginn é técnico e altamente especializado, operando como um worker assíncrono que consome do Job Board da Rogue (board="huginn").
1. Determinismo Orientado a Grafos (Sem IA no núcleo)
A operação primária de Huginn não usa LLMs. Ele é 100% determinístico, consultando tabelas de grafos pré-processadas (como silver_graph.edges e resumos de métricas) para responder de forma previsível e rápida. O LLM só é acionado opcionalmente mais tarde, em um renderizador, se for necessário desenhar o código de um grafo visual (DAG).
2. Navegação Controlada (BFS) Em vez de sair iterando cegamente pelas dependências de um banco legado com mais de 1.400 artefatos (o que causaria uma explosão de caminhos), Huginn usa uma busca orientada por níveis de profundidade (depth). Ele classifica os caminhos entre: * Caminho primário (conexão direta e curta). * Contexto ou Lookup dimensional (tabelas indiretas como 'Escolaridade' que sempre aparecem passando pelo Hub 'Pessoa'). * Redundâncias, aplicando "punições" de pontuação se o caminho precisar atravessar hubs gigantes que geram muito ruído.
3. Catálogo de Comandos Estruturais
Ele domina comandos de navegação e linhagem, devolvendo respostas técnicas empacotadas para o usuário ou para outros agentes:
* /relacoes: Traz dependências e referências diretas.
* /impacto: Mostra a árvore "downstream", revelando quem quebra se o objeto alvo for alterado.
* /linhagem: Explica o fluxo "upstream", mostrando as origens dos dados.
* /grafo e /dag: Gera estruturas de nodes e edges para renderização de diagramas.
4. Sinergia com Ariadne Huginn e Ariadne trabalham em simbiose. Se Huginn, navegando pelo grafo, percebe que a estrutura existe mas o significado da conexão é obscuro, ele prepara um pedido para Ariadne ler as entranhas daquele código (a anatomia da rotina). Huginn é o mapa; Ariadne desce no labirinto para buscar o sentido das regras de negócio ali codificadas.