AUR-572: ajuda completa por subcomando e parecer sem "No issues found." com inconclusivo
O problema
Os tutoriais do AUR-563 mediram duas coisas: aurumcode --help listava só
review e fix embora sbom, sign e xbom existam (e xbom --help
imprimia uma linha de uso sem flags); e um SAST inconclusivo ainda imprimia
No issues found., com o estado real só nas linhas SAST ... inconclusive
(achados 3 e 5 de docs/specs/AUR-563.md).
O que muda
cmd/aurumcode/subcommands.go: um registro único (subcommands(): nome, resumo, exemplo, construtor doFlagSet, função). O despacho derun, o--helpgeral e o--helpde cada subcomando leem esse registro; não há lista paralela. Cada subcomando declara suas flags em um construtor (newReviewFlagSet,newFixFlagSet,newSBOMFlagSet,newSignFlagSet,newXBOMFlagSet) usado pelo parser e pela ajuda, que imprimePrintDefaultsdo próprioFlagSet: a ajuda não pode listar flag que o parser não conhece nem esquecer uma que ele conhece.- Rodapé comum da ajuda de cada subcomando:
Configuração e referência: docs/configuration.md (seção <título>), gerado uma vez emprintSubcommandHelpa partir do campodocSectiondo registro (sem lista paralela). parseSubcommandFlagsunifica a convenção:--helppedido é stdout e saída 0; erro de uso é stderr e saída 2.internal/render.NoFindingsLine(reason):No issues found.só quando o motivo de inconclusivo é vazio; senãoSem achados nas fontes concluídas; inconclusivo: <motivos>. O motivo égate.Result.Reason, que já junta SAST, Dependency-Track,analysis_data, cobertura parcial e provedor (mesmo vocabulário do gate), sem repetição.docs/getting-started.mdedocs/configuration.mddocumentam as duas coisas.
Fora do escopo: flags novas; formato do parecer além dessa frase; o caminho
--pr (o parecer publicado já traz o estado inconclusivo próprio).
Prova
tests/acceptance/AUR-572.sh all: AC-001 (a ajuda geral lista os cinco; cada
<sub> --help traz toda flag do FlagSet, comparada por VisitAll), AC-002
(SAST inconclusivo -> sem No issues found. e com a frase; caso limpo mantém a
frase), AC-003 (AUR-561..564.sh AC-003 verdes), AC-002-MUT-001 (voltar a
imprimir No issues found. com inconclusivo reprova AC-002).