Problema
Dois defeitos correlatos no controle de autonomia por stack:
-
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.
-
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
Problema
Dois defeitos correlatos no controle de autonomia por stack:
O bloco JVM do gate roda
mvn/gradlemarcandoran_typecheckeran_testde 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.A tabela de níveis diz que GREEN "runs phases 1 and 3 in full without asking" (
SKILL.md:121), masreferences/other-stacks.mdmanda 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
findde#[test]do Rust:src/test/,*Test.java,*Spec.ktetc.) com caso de stub no gate_test.sh.