Achado estrutural da segunda revisão do lote 3, deixado fora de propósito: consertar é redesenho do global ran_test, não remendo.
Problema
ran_test e ran_typecheck são globais únicos para todos os stacks. Basta um stack contribuir ran_test=1 para o veredito final dizer checks=typecheck,test e liberar GREEN, mesmo que outro stack detectado no mesmo repo não tenha rodado teste nenhum.
Cenário: package.json com typecheck + test:unit + test:e2e (nenhum promovido, pela regra de fatias) ao lado de um go.mod com *_test.go. O Go contribui ran_test=1, o veredito sai GREEN, e a skill libera deleção de exports e as fases 2 e 3 com a suíte JS inteira sem ter rodado.
Por que não é caso isolado
O no_tests() de Go, Rust, .NET e pytest tem a mesma forma: ele conta como "não é vermelho" sem marcar que aquele stack ficou descoberto. Qualquer combinação em que um stack cai no cap e outro passa produz o mesmo mascaramento. O ramo novo de múltiplas fatias do JS herdou a forma por consistência, e por isso também não seta incomplete.
Etapas
Achado estrutural da segunda revisão do lote 3, deixado fora de propósito: consertar é redesenho do global
ran_test, não remendo.Problema
ran_testeran_typechecksão globais únicos para todos os stacks. Basta um stack contribuirran_test=1para o veredito final dizerchecks=typecheck,teste liberar GREEN, mesmo que outro stack detectado no mesmo repo não tenha rodado teste nenhum.Cenário:
package.jsoncomtypecheck+test:unit+test:e2e(nenhum promovido, pela regra de fatias) ao lado de umgo.modcom*_test.go. O Go contribuiran_test=1, o veredito sai GREEN, e a skill libera deleção de exports e as fases 2 e 3 com a suíte JS inteira sem ter rodado.Por que não é caso isolado
O
no_tests()de Go, Rust, .NET e pytest tem a mesma forma: ele conta como "não é vermelho" sem marcar que aquele stack ficou descoberto. Qualquer combinação em que um stack cai no cap e outro passa produz o mesmo mascaramento. O ramo novo de múltiplas fatias do JS herdou a forma por consistência, e por isso também não setaincomplete.Etapas
ran_test/ran_typecheckpor stack, ou uma marca de "stack descoberto" que rebaixe o veredito final.checks=não tem dimensão de stack.incompleteé o mecanismo certo ou se vira um estado novo (ele hoje significa "toolchain ausente", que é outra coisa).gate_test.shpara pelo menos duas combinações poliglotas.