Duas limitações conhecidas do extrator da seção 6 do scripts/coherence_test.sh, achadas na quarta revisão do lote 3 e deixadas registradas em vez de corrigidas.
1. mkdir -p X && git mv ... numa linha só (falso positivo, direção perigosa)
A regra do mkdir termina em next, então a linha nunca chega à regra do git mv. Pior: todo token não-flag da linha entra no conjunto de diretórios criados, então &&, git, mv e os dois caminhos viram "diretórios cobertos" — e podem isentar um move genuinamente descoberto mais adiante no mesmo bloco.
Nenhuma doc usa essa forma hoje, por isso não morde. Mas é a direção que passa verde estando errado.
2. mkdir -p 'src/q' com aspas simples (falso negativo)
O args() remove só aspas duplas, então made["'src/q'"] não casa com o destino src/q de um git mv j src/q/j — o invariante reprova documentação correta. A fixture do autoteste só exercita a forma com aspas duplas. É autoconsistente com o comentário, que declara só aspas duplas, e falha na direção segura.
Etapas
Duas limitações conhecidas do extrator da seção 6 do
scripts/coherence_test.sh, achadas na quarta revisão do lote 3 e deixadas registradas em vez de corrigidas.1.
mkdir -p X && git mv ...numa linha só (falso positivo, direção perigosa)A regra do
mkdirtermina emnext, então a linha nunca chega à regra dogit mv. Pior: todo token não-flag da linha entra no conjunto de diretórios criados, então&&,git,mve os dois caminhos viram "diretórios cobertos" — e podem isentar um move genuinamente descoberto mais adiante no mesmo bloco.Nenhuma doc usa essa forma hoje, por isso não morde. Mas é a direção que passa verde estando errado.
2.
mkdir -p 'src/q'com aspas simples (falso negativo)O
args()remove só aspas duplas, entãomade["'src/q'"]não casa com o destinosrc/qde umgit mv j src/q/j— o invariante reprova documentação correta. A fixture do autoteste só exercita a forma com aspas duplas. É autoconsistente com o comentário, que declara só aspas duplas, e falha na direção segura.Etapas
&&e;como separador de comando antes de aplicar as regras, em vez de decidir por linha.args().