Skip to content

Cap de suíte vazia para JVM e política de nível por stack #7

Description

@CRangelP

Problema

Dois defeitos correlatos no controle de autonomia por stack:

  1. O bloco JVM do gate roda mvn/gradle marcando ran_typecheck e ran_test de uma vez, sem procurar evidência de suíte. Um repo Maven/Gradle sem nenhum teste sai GREEN e a fase 1 deleta exports autonomamente sem rede. Go, Rust, .NET e pytest já têm cap para esse caso (scripts/gate.sh:255-292,356-389); JVM não tem.

  2. A tabela de níveis diz que GREEN "runs phases 1 and 3 in full without asking" (SKILL.md:121), mas references/other-stacks.md manda o contrário em quatro stacks: Python "still confirm before deleting" (26-28), JVM "stay at YELLOW by default" (72-74), Ruby só diagnóstico (104-106), .NET "YELLOW by default" (110-126). O executor comum lê só a SKILL.md, então deleta onde a reference manda confirmar. Nenhum teste cobre esse cruzamento.

O que custa errar

Sem o cap, deleção autônoma em stack com reflexão/DI (bean de Spring, task de Celery) apaga código vivo que o gate verde não pega, porque o que quebra é runtime. Com cap agressivo demais, a skill perde utilidade fora de JS/TS e Go.

Etapas

  • Decidir: o rebaixamento por stack vira mecânica do gate ou continua prosa em other-stacks.md? Se continuar prosa, a tabela da SKILL.md precisa apontar para ela.
  • Implementar detecção de suíte JVM no gate.sh (equivalente ao find de #[test] do Rust: src/test/, *Test.java, *Spec.kt etc.) com caso de stub no gate_test.sh.
  • Resolver a contradição GREEN: a tabela de níveis passa a citar os caps por stack, ou os caps saem de other-stacks.md.
  • Invariante no coherence_test.sh amarrando a tabela da SKILL.md ao texto de other-stacks.md.
  • Sincronizar README.md e README.en.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions