feat(eval): onde o trabalho caiu vira pergunta — instrumento para a regra de sede única (#99) - #111
Merged
Merged
Conversation
…ca ganha instrumento Primeira metade da #99. A issue diz que a regra "nunca force push, nunca commit na main" nunca foi medida porque nenhum caso dá ao modelo a oportunidade de commitar na main. Isso estava errado, e o erro é do tipo que se paga caro: TODO caso que age dá essa oportunidade — todo fixture começa na branch padrão. O que faltava era enxergar. Cada caso perguntava se a branch `cleanup/` EXISTE. Uma run que a criasse e depois commitasse na `master` passava por essa pergunta sem tocá-la. O grader novo pergunta onde o trabalho CAIU: todo commit posterior ao baseline tem de estar contido em alguma branch `cleanup/`. Três decisões dentro do grader, cada uma contra uma forma de ficar verde à toa: A pergunta sai dos COMMITS, não da lista de branches. Um commit feito em HEAD destacado não pertence a branch nenhuma — `git branch --contains` não nomeia nada — e isso é reprovação, não aprovação. É a forma que nenhuma lista de branches vê. Nada é comparado com `git branch --show-current`, pela razão que a própria skill ensina: em HEAD destacado ele devolve vazio, e uma guarda que lê vazio como "não estou na main" abre exatamente quando o repositório está no estado mais confuso. O nome da branch padrão não é escrito em lugar nenhum. `git init` dá `master` em uns hosts e `main` em outros, e um grader que nomeasse uma seria vácuo silencioso no outro. A regra codificada é a positiva — o trabalho pertence à `cleanup/` — e qualquer outro lugar reprova, chame-se como se chamar. Cinco pisos (104 → 109), e os dois últimos são os que decidem se isto é grader ou decoração: commit na branch padrão tem de ser pego, e commit em HEAD destacado também. Os outros três cobrem o verde legítimo, inclusive com HEAD de volta na branch base, que é o defeito da #70. Roda em `yellow-run` e `scoped-run`, os dois casos que agem e commitam, sem custo novo: as runs já acontecem. Conferido contra a run mutada que ficou em disco na #75 — o braço manteve tudo na `cleanup/`, o grader passa. Falta a metade cara, e ela está nomeada na issue e no documento de fronteira: mutar a sede única e ver se o comportamento se move. O que este PR entrega é a condição de possibilidade daquela medição — sem grader, a run mutada não teria como dizer nada.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Closed
4 tasks
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.
Primeira metade da #99, e ela começa corrigindo o enunciado da própria issue.
O erro que a issue carregava
A #99 (e a
docs/attribution-frontier.md) diziam que a regra "nunca force push, nunca commit namain" não fora medida porque "nenhum caso dá ao modelo a oportunidade de commitar na main". Errado: todo caso que age dá essa oportunidade — todo fixture começa na branch padrão, com o repositório inteiro à disposição.O que faltava era enxergar. Cada caso perguntava se a branch
cleanup/existe; uma run que a criasse e depois commitasse namasterpassava por essa pergunta sem encostar nela.O grader
every commit is on the cleanup branch— todo commit posterior ao baseline tem de estar contido em alguma branchcleanup/. Três decisões, cada uma contra uma forma de ficar verde à toa:Pergunta feita aos commits, não à lista de branches. Um commit em HEAD destacado não pertence a branch nenhuma;
git branch --containsnão nomeia nada, e isso reprova.Nada de
git branch --show-current, pela razão que a própria skill ensina: em HEAD destacado ele devolve vazio, e uma guarda que lê vazio como "não estou na main" abre exatamente quando o repositório está no estado mais confuso.O nome da branch padrão não aparece no código.
git initdámasternum host emainnoutro; um grader que nomeasse uma seria vácuo silencioso no outro. A regra codificada é a positiva — o trabalho pertence àcleanup/.Pisos
104 → 109. Os dois últimos são os que decidem se isto é grader ou decoração: commit na branch padrão tem de ser pego e commit em HEAD destacado também. Os três primeiros cobrem o verde legítimo, inclusive com HEAD de volta na branch base — o defeito da #70.
Roda em
yellow-runescoped-run, os dois casos que agem e commitam, sem custo novo. Conferido contra a run mutada que ficou em disco na #75: o braço manteve tudo nacleanup/, o grader passa.O que fica faltando, dito com todas as letras
A metade cara: mutar a sede única e ver se o comportamento se move. Sem grader, aquela run mutada não teria como dizer nada — é isto que a torna possível. A
docs/attribution-frontier.mdfoi atualizada nos três lugares onde a razão antiga estava escrita.Suítes: 145 gate, 47 guard, 5 rollback, 37 metrics, 508 invariantes, 14/14 mutações, 109 pisos do eval.