AUR-568: falha ao gravar auditoria ou SARIF nunca termina como sucesso
O que entrega
internal/gate/artifacts.go: ArtifactFailure, os motivos audit_write_failed e
sarif_write_failed e ApplyArtifactFailures, que dobra a falha na decisao do gate
(inconclusivo pelo modo da politica quando gate esta declarado; aprovacao retida).
cmd/aurumcode/compliance_artifacts.go: writeComplianceArtifacts (uma funcao para
--base e --pr) grava antes da publicacao e do exit, nomeia o caminho em stderr,
aplica a falha ao gate e regrava o arquivo gravavel com a decisao final; devolve as
falhas. --base e --pr retornam exitArtifactNotWritten (1) quando nenhum codigo do
gate ja fecha a execucao.
Testes em cmd/aurumcode/aur568_test.go: pai e arquivo regular (ENOTDIR) e diretorio
inexistente, para --auditoria e --sarif, com block, warn e sem gate, em --base
e --pr, mais a regressao com caminho gravavel.
Tutorial auditoria-sarif (caso falha-caminho-invalido) regravado com a execucao real.
Decisoes
Exit sempre diferente de 0, tambem em warn: o modo da politica decide o status
(failure ou inconclusivo) e o codigo (block: 1 pelo gate; demais: 1), nao se o
artefato faltante e aceitavel.
Sem gate o status --check segue o de achados graves; so o exit muda.
Nao muda o formato da auditoria nem grava em lugar alternativo.