Sobre o projeto

Falsify aborda um problema específico, porém concreto, na avaliação de ML: uma alegação como "94% de precisão" é frequentemente relatada após o fato, sem registro de qual métrica, conjunto de dados, limite ou semente foi pretendido anteriormente. A resposta da ferramenta é a pré-registro — comprometer a alegação como um manifesto canônico, aplicar hash SHA-256 e verificar o resultado observado contra esse hash bloqueado. O fluxo principal consiste em dois comandos. `falsify lock claim.prml.yaml` canoniciza o manifesto e grava um digest sidecar; `falsify verify claim.prml.yaml --observed 0.934` compara o valor observado com o limite bloqueado. Os códigos de saída são tratados como a API: 0 para PASS, 10 para FAIL abaixo do limite e 3 para TAMPERED quando a especificação foi editada após o bloqueio e o hash não corresponde mais. O CI pode usar esses códigos como gate. O formato do manifesto é PRML (Pre-Registered ML Manifest), com v0.1 estável e v0.2 congelada. O repositório hospeda a especificação, uma suíte de conformidade e quatro implementações de referência — Python (PyPI `falsify`), JavaScript (npm `falsify-js`), além de implementações Go e Rust mantidas apenas no repositório. O README afirma que todas as quatro são byte-equivalentes em 21 vetores de conformidade (13 v0.1 mais 8 v0.2), com uma suíte adicional de 92 vetores de borda derivada da gramática formal. Um job de CI multilíngue executa os vetores a cada push e diariamente. Além do CLI principal, um comando `falsify-engine` incluído fornece um fluxo de trabalho de alegação (`init`, `run`, `verdict`, `guard`, `trend`) sobre especificações `.falsify/<name>/`, incluindo um guard de mensagem de commit e cinco modelos iniciais para precisão, latência, Brier score e concordância de LLM-judge. O README é explícito que esta é uma ferramenta separada do CLI de manifesto PRML, apesar de compartilhar a instalação. A superfície de integração descrita no README inclui um JSON Schema no catálogo SchemaStore para autocompletar no editor, um registro baseado em navegador para aplicar hash em manifestos sem instalar nada, uma GitHub Action composta para CI, um plugin MLflow que marca execuções com hashes de manifesto e exemplos executáveis de pontes para dez harnesses de avaliação (deepeval, lm-eval-harness, promptfoo, opik, langfuse, laminar, mastra, hud, braintrust, lighteval). O README observa quais desses exemplos rodam totalmente offline e quais param em uma fronteira de backend. Há também um exemplo de atestação CycloneDX 1.6 e uma ponte in-toto/ITE-6. O projeto é transparente sobre o escopo: PRML não prova que um resultado de ML é verdadeiro, apenas que uma alegação específica foi comprometida antes de poder ser reescrita silenciosamente. O README também documenta uma previsão pública falha (Lock #2 resolvido em 0/3 contribuidores) e vincula um post-mortem. Licenciamento é MIT para código e Community Specification License 1.0 para a especificação, com reservas de marca registrada observadas. Requer Python 3.11+.