# Sistema de Avaliação Graduada — morph-spec NLH

## Como funciona

A skill `morph-eval` avalia o output de uma tarefa ou fase usando 4 dimensões.
Cada dimensão tem uma rubrica própria. O score final é ponderado.

| Dimensão            | Peso | Arquivo              |
|---------------------|------|----------------------|
| Arquitetura         | 30%  | architecture.md      |
| Contratos           | 25%  | contracts.md         |
| Qualidade de código | 25%  | code-quality.md      |
| Cobertura de testes | 20%  | test-coverage.md     |

## Escala de scores

| Score | Ação                                                                                       |
|-------|--------------------------------------------------------------------------------------------|
| 9-10  | Aprovado — sem output no contexto, siga para próxima tarefa                                 |
| < 9   | Feedback priorizado — alimenta o loop de correção autônomo do morph-apply (re-implementa, sem pausa humana, até 3 tentativas) |

A barra de aprovação por tarefa é **9**. Abaixo disso o modelo corrige sozinho — não escala ao humano entre tarefas. A escalada humana só acontece quando o loop de correção esgota 3 tentativas sem atingir 9 (ver morph-apply/SKILL.md §3a e MORPH.md §0).

## Como calcular o score composto

```
score = (arquitetura × 0.30) + (contratos × 0.25) + (qualidade × 0.25) + (testes × 0.20)
```

Arredonde para uma casa decimal.

## Formato de output quando score < 9

Produza exatamente este bloco (não mais, não menos):

```
Score: [X.X/10]
  Arquitetura: X | Contratos: X | Qualidade: X | Testes: X
Issues (ordenados por impacto):
  - [descrição do problema mais impactante]
  - [próximo problema]
Ação: [feedback priorizado — alimenta o loop de correção | escalar (só após 3 tentativas)]
```

Quando score ≥ 9: nenhum output. O silêncio é o sinal de aprovação.
