Math Challenge
Mais

O Math Challenge está aberto: o código, o plano e a pesquisa

O repositório, o plano inteiro e as 47 pesquisas são públicos — inclusive as que contradizem o produto, e a rodada em que a nossa própria frota de auditores errou.

O que está aberto

Dois links. Os dois públicos hoje, os dois verificáveis no navegador sem ter conta.

As 47 pesquisas, inclusive as que contradizem o produto

Quarenta e sete pesquisas, cerca de 157.000 palavras, com fontes numeradas e limitações declaradas. São publicadas inteiras, e isso inclui os trechos em que a evidência vai contra o que estamos construindo: o pedido original queria algo viciante, e a pesquisa passou semanas contradizendo isso.

As afirmações que não conseguimos confirmar em fonte primária ficam marcadas com [unverified] no texto — 18 marcas espalhadas por 14 dos documentos. Elas continuam visíveis em vez de serem apagadas em silêncio, porque uma pesquisa que esconde seus pontos fracos não é evidência, é propaganda.

A frota de auditores, e o que ela tem permissão de dizer

Hoje existem 31 dos 39 auditores planejados. Oito são determinísticos e bloqueiam cada commit; entre eles: os sete locales completos, os segredos, o peso do bundle, a paleta da Ignia, nenhum campo de texto livre em tabela de criança. Os outros vinte e três são adversariais com LLM, instruídos para achar a violação e não para aprovar, e cada um precisa citar a decisão ou a pesquisa que faz cumprir. Um achado que cita um identificador inexistente é descartado mecanicamente.

Os achados são escritos em SARIF 2.1.0, o padrão da OASIS, e enviados ao GitHub code scanning na mão: este projeto não usa CI, e isso é uma decisão, não uma falta. Cada achado chega ancorado a um arquivo e a uma linha que qualquer um pode ler.

O que deu errado na primeira vez que rodamos

A primeira rodada completa da frota adversarial deu dois veredictos bloqueantes. Um deles era fabricado: o auditor citou uma decisão que existe mesmo e depois afirmou que um arquivo dizia versión onde o arquivo diz versão. Citação real, evidência inventada, e saiu classificado como bloqueante. Metade dos achados bloqueantes daquela rodada era ruído.

O conserto não foi um prompt melhor. Foi uma camada determinística que extrai cada trecho que o auditor diz ter visto e confere se ele aparece de verdade no que foi mostrado a ele. Se nenhum aparece, o achado deixa de bloquear.

O que essa camada ainda não consegue fazer, dito antes que alguém suponha: um auditor que parafraseia em vez de citar não deixa trecho nenhum para verificar. Detectamos a fabricação literal, não a interpretação errada — que foi a outra falha daquela mesma rodada, e essa não tem conserto determinístico.

A licença: AGPL-3.0

O repositório traz um arquivo LICENSE com a Licença Pública Geral Affero do GNU, versão 3. É copyleft forte de rede: quem rodar isto como serviço precisa publicar suas mudanças. Esse é o ponto. O banco de itens é o produto — é onde mora o grosso do trabalho real — e a promessa deste projeto é que chegue a quem não pode pagar. Uma licença permissiva deixaria alguém pegar o motor e o banco, fechá-los e cobrar por eles.

O que isso custa, dito na lata: a AGPL afasta empresas que poderiam contribuir, e muitas a proíbem por política interna. Essa troca foi feita de propósito.

Por que isso vale a pena

Publicar a pesquisa é a estratégia, não um gesto de transparência. A parte que custa de verdade é publicar os erros: o quadro ainda carrega a nota de que a fase F0 foi marcada como fechada com um dos seus próprios critérios — o 0-RTT — sem verificação, e isso só apareceu porque alguém perguntou de novo. Um quadro que mostra o próprio erro vale mais do que qualquer declaração de valores.

Confira você mesmo

Clone o repositório e rode a frota. Cada número desta página sai desse comando ou do quadro público. Nenhum foi escrito de memória.

git clone https://github.com/kilowatto/math-challenge
node audits/run.mjs