Skip to content

Repo poliglota: a suíte de um stack mascara a que não rodou em outro #25

Description

@CRangelP

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

  • Decidir a granularidade: ran_test/ran_typecheck por stack, ou uma marca de "stack descoberto" que rebaixe o veredito final.
  • Definir o que o veredito imprime quando um stack rodou tudo e outro não — hoje checks= não tem dimensão de stack.
  • Rever se incomplete é o mecanismo certo ou se vira um estado novo (ele hoje significa "toolchain ausente", que é outra coisa).
  • Casos no gate_test.sh para pelo menos duas combinações poliglotas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions