| name | write-fitness-function |
| description | Cria, valida e executa Fitness Functions arquiteturais determinísticas ligadas a objetivos, ADRs, repositórios, Guidelines e Guardrails no Architecture Graph. Use quando o usuário quiser medir aptidão, erosão, tendência, thresholds, características arquiteturais ou transformar métricas em governança executável. |
Write Fitness Function
Transformar um objetivo arquitetural em medição reproduzível. Não usar LLM para
decidir conformidade ou interpretar o resultado da execução.
Fluxo
- Ler o repositório central e resolver Radar, ADRs, Guidelines e Guardrails.
- Formular ou localizar um Architecture Objective justificado por ADR aceita.
- Definir métrica, unidade, threshold e racional com o responsável humano.
- Classificar escopo, camada da pirâmide, cadência e ambiente.
- Reutilizar Guardrails como sinais quando isso evitar lógica duplicada.
- Criar executor que escreva somente JSON em stdout.
- Provar cenário aprovado, reprovado, erro e dados insuficientes.
- Validar definição com
scripts/validate-fitness-function.mjs.
- Pedir aprovação antes de ativar ou alterar threshold.
- Executar com
scripts/run-fitness-function.mjs e apresentar valor, limite,
tendência e evidências sem editar aplicações.
- Gerar visão histórica e da pirâmide com
scripts/summarize-fitness-functions.mjs.
Gates
- Fitness Function ativa exige objetivo ativo, ADR aceita e repositório existente.
- Executor, timeout, métrica, threshold e racional são obrigatórios.
- Erro, timeout, JSON inválido e
insufficient-data nunca passam.
- Resultado real fica no repositório central ou em diretório temporário, nunca no plugin.
- Alteração de intenção ou threshold normativo volta à ADR.
Usar quality-gate.md durante revisão e
fitness-function-template.yaml como base.