Pular para conteúdo

AUR-573: CI verde e aceites de cards done voltam a rodar no main

Causa medida do CI vermelho

Testes que compilam o binario por exec go build (tests/benchmark/aur523.go, internal/artifacts/artifacts_test.go e os harnesses de tests/unit e tests/integration) falhavam com error obtaining VCS status: exit status 128 no container do CI: o go-shared injeta -buildvcs=false localmente, o CI nao. Todo go build/go test disparado por teste passa -buildvcs=false; o job de build exporta GOFLAGS=-buildvcs=false e o de race recebe o mesmo. Prova: env -u GOFLAGS GIT_DIR=/nonexistent go test ./tests/benchmark ./internal/artifacts passa; sem a flag no harness do benchmark falha com a mensagem acima (AC-001-MUT-001).

Observacao sobre a varredura

O container go-shared tem 3 GiB: duas ou mais compilacoes de github.com/odvcencio/gotreesitter em paralelo morrem com compile: signal: killed (visto em 450, 504, 557). A verificacao final foi serial.

Suspeita de regressao de produto (AUR-441 -> AUR-541) -- NAO ajustada

tests/e2e/AUR-441.sh falha com cold-run-must-send-both-files:got:0. Medido: no review --base HEAD~1 da fixture git-demo, config/demo-tokens.txt e NOTES.txt agora saem como "vimdoc" (arquivos de documentacao), o prompt enviado ao modelo tem a secao ## Code Changes vazia e a cobertura diz "Code files in this diff: 0". Causa: AUR-522 trocou a tabela de extensoes pelo runtime de gramaticas (AUR-559) e .txt casa com a gramatica vimdoc. O passe deterministico de seguranca ainda acusa o segredo, mas o modelo nao ve o arquivo. Isso nao e ajustado no teste: precisa de decisao de produto.

Causa medida de cada aceite (varredura de 2026-10-03, all, no main)

Script Causa medida Conserto
AUR-468, AUR-473, AUR-479 (+ e2e 468/479) build_failed: copia enumerada de pacotes; cmd/aurumcode passou a importar internal/dtrack, grammar, sbom, supplychain, xbom, reviewprofile, gate copiar cmd, internal, pkg inteiros (como AUR-547); GOCACHE do chamador respeitado. AUR-468 MUT-001: a ancora matches(cp string) ganhou o parametro langs *Languages (AUR-559); ancora atualizada
AUR-441, AUR-459 (acc + e2e) unexpected-red-but-invoked/build_failed chamados por AUR-541/542: ainda exigiam internal/documentation, internal/pipeline e cmd/regenerate-docs (removidos em 670c7f6) pacotes inteiros, sem os removidos
AUR-450 AC-001 (invocado por AUR-473 AC-003): build_failed por lista enumerada; depois provider-stdout-changed pacotes inteiros; hash repinado 905075cc... -> 9c0f18c2...: diff da saida do commit que fixou o pin contra a base mostra UMA unica diferenca, **Verdict:** Unknown -> **Verdict:** Changes requested. A fixture nao tem veredito; o AUR-519 deixou de prender o veredito ao campo do modelo e o deriva dos achados. Mudanca intencional
AUR-491 o verificador tratava flags de cosign verify-blob/trivy/semgrep como do produto e so lia o help de review/fix; depois, docs/configuration.md:1046 (AUR-552) citava AURUMCODE_LLM_FIXTURE, variavel de teste que o AUR-491 proibe na doc de consumidor blocos cercados so contam se forem aurumcode ...; flags de terceiros listadas; help de sbom/sign/xbom entra na checagem (amplia). A doc agora diz "modo offline por fixture dos testes", sem o nome da variavel; o verificador de hooks nao foi tocado
AUR-493 missing-v2: d3b50e74 (main unica branch) trocou @v2 por @main nos exemplos aceite exige review.yml@main e rejeita @v2/@dev; mutacao troca para @v2
AUR-496 runs-pr-code: passos novos (AUR-549/551/555) usam working-directory: .aurumcode-target e o upload de *.sigstore.json, e rodam o binario do produto, nao codigo do PR descarta so linhas inteiras ancoradas; novo teste rejeita execucao de caminho relativo; nova mutacao G
AUR-497 a saida real de review --seguranca agora imprime ### Suggestions (AUR-453, 2026-10-02); o bloco observado de docs/site/index.html (2026-09-14) nao tinha a secao. Mudanca intencional bloco regravado com a saida atual; o diff do HTML e so a insercao da secao Suggestions (12 linhas). Spec do card antigo intocada; script nao afrouxado
AUR-500 teste unitario fixava 3 perfis built-in; product_owner entrou (AUR-502) exige o conjunto exato performance,product_owner,seguranca,solid
AUR-504 MUT-001 reescrevia commitID = headSHA em pr.go; a instrucao foi movida para review_pr_publish.go (AUR-558); falhas posteriores de compile: signal: killed eram OOM do container (3 GiB) com varios builds do gotreesitter em paralelo alvo da mutacao atualizado; all rc 0 rodando sozinho
AUR-505 copia enumerada de pacotes; MUT-001 virou erro de sintaxe (p.qualityDegraded = true virou campo de *prReview e degradeUnparseable nao retorna valor, entao o return 1 nao existe mais); MUT-002 perdeu a ancora (result.Limitations -> p.result.Limitations); o cd root-shared: No such file foi so o timeout de 420 s apagando o run_dir internal/pkg inteiros; MUT-001 retorna cedo (return), MUT-002 mira p.result; all rc 0
AUR-540, AUR-541, AUR-542 error obtaining VCS status em scripts que compilam em $repo_root com GOFLAGS proprio; 541/542 chamam 441/459. AUR-542: a ancora da MUT-001 (main.go) foi movida para review_base_analysis.go (AUR-558) -buildvcs=false em todo go build feito em $repo_root; ancora da MUT-001 do 542 atualizada. 540 e 542 rc 0. AUR-541 segue RED (AC-001, tests/e2e/AUR-441.sh): suspeita de regressao de produto, ver abaixo
AUR-547 falhou durante varredura concorrente (detail-wrong-exit AUR-481 E2EAUR481) enquanto 450/468... estavam quebrados e sem -buildvcs=false passa apos os consertos acima
AUR-534 missing_baked_dockerfile: exige /opt/aurum-a006 do perfil selado; no go-shared e infraestrutura (79) por desenho nao e regressao; roda no oci-run selado
AUR-557, AUR-558 meta-aceites que reexecutam dezenas de aceites aninhados; estouram 420 s (a trap apaga o run_dir e aparece No such file) nao e regressao; rodam com timeout 900 s
AUR-561, AUR-562 AC-004/url-real: o tutorial dados-de-analise (AUR-563) usa um falso api.github.com em loopback fora deste card: o AUR-564 passa a usar uma lista unica de dominios que inclui api.github.com; estes dois scripts nao foram alterados aqui. O SIGPIPE intermitente (141) tambem e do AUR-564 (| head -n1 em $(...) sob pipefail)

Scripts sem selector all (exit 64) nao foram exercitados pela varredura e nao sao regressao; AUR-450 e invocado por AC-001 dentro do AUR-473.