Skip to main content
Um incidente raramente mora numa camada só. O pod não sobe — é o manifesto do Argo? o node group do Terraform? o health check no código? Esta receita indexa as três camadas como knowledge bases separadas com @docs-flatten kind=code e deixa o agente cruzar as bases para achar a causa raiz.

O Problema

O Rollout checkout-api fica preso em Progressing e nunca vira Healthy. Olhar uma camada por vez não resolve: o manifesto parece certo, o Terraform aplicou sem erro, e o código compila. A resposta está na junção — e está espalhada por três repositórios.

Ingredientes

  • O repositório da aplicação (código do serviço).
  • O módulo Terraform da infra (cluster, node groups).
  • O repositório GitOps (manifestos Argo/Kubernetes).
  • ChatCLI com o tool builtin @docs-flatten (já vem incluso).
Nenhuma API key é necessária: o knowledge mode usa BM25 puro-Go por padrão. Embeddings (Voyage/OpenAI/Bedrock) são um boost opcional.

Passo a Passo

1

Indexe cada camada como uma base

kind=code fatia cada repo por estrutura — funções, recursos Terraform, manifestos — com títulos de símbolo/recurso, em vez de um blob de texto:
Ruído (vendor/, .terraform/, lockfiles, binários) é pulado automaticamente, e arquivos acima de 1 MiB são ignorados.
2

Crie e anexe as três bases

Cada attach custa só um index card (~900 tokens, fixo) no prompt — as três juntas continuam baratas, mesmo com repos grandes.
3

Pergunte cruzando as camadas

No /agent (ou /coder), descreva o sintoma e deixe a IA conectar. O @knowledge search faz fan-out sobre as três bases, marcando cada trecho pela base de origem:
Por baixo, o agente investiga iterativamente:
4

Receba o diagnóstico cross-layer

Com trechos das três camadas no mesmo raciocínio, a IA conecta os pontos — por exemplo:
O Rollout/checkout-api (argo) define readinessProbe na porta 8080, mas o serviço (app, server.go) escuta em 8081; e o aws_eks_node_group.workers (infra) tem um taint dedicated=checkout que o Rollout não tolera. Dois fatores compondo: o probe nunca passa e os pods nem agendam nos nós certos.
A base é read-only — ela dá o entendimento. Para aplicar a correção e rodar os testes, use o /coder no repo vivo com @read/@search/@coder.

Por que funciona

Fan-out automático

@knowledge search consulta todas as bases anexadas de uma vez; cada hit vem marcado pela base de origem, então o modelo sabe de qual camada veio.

Fatiamento por estrutura

Recursos Terraform, manifestos K8s e funções viram chunks próprios com títulos (aws_eks_node_group.workers, Rollout/checkout-api) — a busca aterrissa no ponto certo.

Custo fixo

Index card de ~900 tokens por base, não importa o tamanho do repo. Três camadas continuam cabendo no prompt.

Keyless

BM25 puro-Go cobre tudo sem API key; identificadores (getReadiness, checkout_api) são achados por suas partes graças ao split camelCase/snake.
Não precisa dizer “isto é código” para cada repo: o agente escolhe kind=code sozinho pela intenção e por um hint auto-corretivo. Veja Knowledge Base.

Próximos passos

Knowledge Base

Contextos Persistentes

Coder Mode

Monitoramento K8s