Lição 5 · Validação independente
O loop de validação: FAIL é a mensalidade
O validador nunca é o construtor. Cada rodada reabriu evidência real, nomeou vazamentos exatos com arquivo:linha, e a regra foi sempre a mesma: uma correção genérica por passe, nunca um id hardcoded, depois re-provamos tudo.
Seis rodadas, com honestidade
| Rodada | Veredito | O que comprou |
|---|---|---|
| Gold set v1 | FAIL | 7 casos substituídos, um receipt revinculado — mesma entidade, nunca mesmo tema |
| Gold set v2 | PASS 40/40 | 62/62 receipts verbatim, certificado por segundo validador independente |
| Pipeline v1 | FAIL | Filtro de scaffold wiki, fronteiras (dor/hate), âncora PT demanda, "me" de autor |
| Pipeline v2 | FAIL | Fronteiras Mythos/captions, guardas de pergunta, remoção de negação, já-era comparativo, "already dead" |
| Pipeline v3 | FAIL | Evolving exige âncora not-dead; trend exige palavra de mercado com fronteira |
| Pipeline v4 | PASS | Gold gate liberado; corrida full de 2.537 pacotes autorizada |
| Final A+B | FAIL | WTP STRICT v3, dedupe de alias cross-package, conflitos compatíveis por sujeito |
O padrão que fez convergir
Reabrir, nunca confiar
Cada validador reabriu citações no raw arquivo:linha — 196/196 receipts byte-exatos e ainda assim FAIL na barra semântica. Integridade e semântica são gates diferentes.
Corrige a classe, não o caso
Cada FAIL nomeou uma classe de falso positivo (substring, falso-amigo, idiom, papel). A correção foi sempre uma regra genérica — hardcode de id seria rejeição instantânea.
Prova nas duas direções
Cada correção rodou a suíte inteira: o vazamento morre E a evidência genuína sobrevive. 10/10 + 10/10 + 1/1, byte-idêntico duas vezes.
"Locators are honest; kind classification is not."Validator A, rodada 1 — a frase que reenquadrou toda a barra