fix(gate): script de teste que não é runner fazia um repo sem testes chegar a GREEN - #104
Merged
Merged
Conversation
…chegar a GREEN Medido no fixture do eval deste próprio repositório — o do caso chamado yellow-run: manifesto com `"test": "echo ok"`, zero arquivos de teste na árvore, e o gate respondendo `checks=typecheck,test` / GREEN. GREEN é o nível que libera deleção de exports mortos. Nenhum dos detectores de suíte vazia pega isso, e a razão é estrutural: todos leem O QUE UM RUNNER IMPRIME — "No test files found", "tests 0". Um script que não é runner não imprime nada disso. `echo ok`, `true`, `exit 0`, ou um script que roda lint em vez de teste: sai 0, nenhum marcador aparece, a suíte conta. Go, Rust e Ruby já carregam a guarda por arquivo há versões, cada um com a mesma frase no comentário — "counting that as a test is how a suiteless repo gets classified GREEN". JS era o único stack julgando só pela saída. E a tabela de níveis do SKILL.md enuncia a regra em termos de ARQUIVO, "no test file in the stack": a fase JS não estava implementando o contrato que o documento publica. A guarda erra para o lado seguro. Repositório cujos testes moram fora dos padrões conhecidos é rebaixado para YELLOW com a razão impressa — retém autoridade em vez de conceder, e é visível na tela. O limite virou caso em vez de nota de rodapé: `js-placeholder-with-file` fixa que `test: echo ok` COM arquivo de teste presente continua GREEN. Regra por arquivo responde "existe suíte neste repositório", não "este comando a executou", e quem ler a guarda como a segunda coisa está lendo uma garantia que ela não dá. Os 24 fixtures que ganharam arquivo de teste representam repositórios COM suíte — seus scripts `node -e ...` sempre foram substitutos para o caso poder focar em alias, gerenciador de pacote ou outro stack. O arquivo é escrito num laço depois que todos os fixtures existem, e não em cada mkdir, porque vários copiam o manifesto de um irmão e linhas por fixture teriam de ser mantidas em sincronia com essas cópias. Como isto apareceu, porque a cadeia importa: o agente que trabalhava a #75 reportou que o fixture do eval era ambíguo entre YELLOW e RED e pediu decisão entre vendorizar o typescript, trocar o fixture para .js, ou aceitar a ambiguidade. Nenhuma das três — rodar o gate no fixture mostrou que ele dizia GREEN. A ambiguidade era sintoma. É o terceiro mecanismo distinto para o mesmo defeito do milestone 5, depois do #94 e da detecção de --passWithNoTests. Validado: 145/145 casos do gate, 478/478 invariantes, seis suítes verdes. Closes #103
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix(gate): script de teste que não é runner fazia um repo sem testes chegar a GREEN
Medido no fixture do eval deste próprio repositório — o do caso chamado
yellow-run: manifesto com
"test": "echo ok", zero arquivos de teste na árvore,e o gate respondendo
checks=typecheck,test/ GREEN. GREEN é o nível que liberadeleção de exports mortos.
Nenhum dos detectores de suíte vazia pega isso, e a razão é estrutural: todos
leem O QUE UM RUNNER IMPRIME — "No test files found", "tests 0". Um script que
não é runner não imprime nada disso.
echo ok,true,exit 0, ou um scriptque roda lint em vez de teste: sai 0, nenhum marcador aparece, a suíte conta.
Go, Rust e Ruby já carregam a guarda por arquivo há versões, cada um com a mesma
frase no comentário — "counting that as a test is how a suiteless repo gets
classified GREEN". JS era o único stack julgando só pela saída. E a tabela de
níveis do SKILL.md enuncia a regra em termos de ARQUIVO, "no test file in the
stack": a fase JS não estava implementando o contrato que o documento publica.
A guarda erra para o lado seguro. Repositório cujos testes moram fora dos
padrões conhecidos é rebaixado para YELLOW com a razão impressa — retém
autoridade em vez de conceder, e é visível na tela.
O limite virou caso em vez de nota de rodapé:
js-placeholder-with-filefixa quetest: echo okCOM arquivo de teste presente continua GREEN. Regra por arquivoresponde "existe suíte neste repositório", não "este comando a executou", e quem
ler a guarda como a segunda coisa está lendo uma garantia que ela não dá.
Os 24 fixtures que ganharam arquivo de teste representam repositórios COM suíte
— seus scripts
node -e ...sempre foram substitutos para o caso poder focar emalias, gerenciador de pacote ou outro stack. O arquivo é escrito num laço depois
que todos os fixtures existem, e não em cada mkdir, porque vários copiam o
manifesto de um irmão e linhas por fixture teriam de ser mantidas em sincronia
com essas cópias.
Como isto apareceu, porque a cadeia importa: o agente que trabalhava a #75
reportou que o fixture do eval era ambíguo entre YELLOW e RED e pediu decisão
entre vendorizar o typescript, trocar o fixture para .js, ou aceitar a
ambiguidade. Nenhuma das três — rodar o gate no fixture mostrou que ele dizia
GREEN. A ambiguidade era sintoma. É o terceiro mecanismo distinto para o mesmo
defeito do milestone 5, depois do #94 e da detecção de --passWithNoTests.
Validado: 145/145 casos do gate, 478/478 invariantes, seis suítes verdes.
Closes #103