Pular para conteúdo

AUR-615 — Nenhum texto stale no código

Problema

Depois da consolidação do cmd/aurumcode em arquivos por responsabilidade e das camadas de configuração, vários comentários e docs de pacote ainda descreviam o produto anterior: arquivos que não existem (aur520.go, aur551.go, aur515.go, aur536.go, aur537.go, aur549.go, aur550.go, aur521.go), cards tratados como futuros ("until AUR-520 lands", "a future xBOM card", "AUR-471 ISO provider"), contagens erradas ("exactly two things", "all three entries", "closed list of three") e uma versão "que ainda não tem release". Quatro linhas de terminal contavam com plural entre parênteses fora do catálogo de idiomas.

Desenho

arquivo responsabilidade
internal/config/gate.go, config.go, qualitygates.go, provider_files.go, exceptions.go Docs de GateConfig (quatro campos; só fail_on/inconclusive declaram gate; sources aceita skills, analysis e qualquer engine ou categoria registrada), do pacote (os provedores de contexto que existem), de ReviewContextConfig (MCP não é arquivo de texto), de quality_gates (quatro subseções; supply_chain é a assinatura Cosign do cmd_sign.go), de DefaultProviders e das exceções (a comparação vive em gate.MatchException).
internal/render/audit.go, sarif.go, sarif_test.go, finding_identity.go O registro de auditoria tem seções opcionais além das do AC-001 e exceptions_applied é preenchido; Suppressed/Justification vêm da exceção aplicada; a identidade do achado é compartilhada com pr_rounds.go.
cmd/aurumcode/main.go, status_description.go, cmd_sbom.go, cmd_sign.go, codebase_context.go, repo_identity.go, checkout_identity.go, verified_checkout.go e os testes aur5*_test.go, passes_test.go Cada referência a aurNNN.go aponta para o arquivo real da função citada; a versão é carimbada pela imagem (AURUMCODE_VERSION); a linha inconclusiva vem do catálogo (gate.inconclusive_line).
internal/reviewprofile/reviewprofile.go Um perfil declara ênfase, famílias e instruções; o de time é lido de profiles.yml (team.go).
cmd/aurumcode/aur607_test.go, internal/gate/aur607_test.go, internal/i18n/aur607_test.go, redaction_wiring_test.go readJSON único (de aur579_test.go); testes "EnglishUnchanged" renomeados para DefaultLanguageUnchanged (o idioma padrão é o que mantém os bytes antigos); o teste do catálogo também recusa "(is)"; as linhas do subcomando docs removido saem da lista.
cmd/aurumcode/terminal_counts.go (+ _test.go), internal/i18n/i18n.go, catalog.yml i18n.Counted (chave e <chave>_one) sobre o catálogo (<chave> e <chave>_one): falhas de publicação (review), resumo de dependencies, de xbom e de realimentacao. Em en os bytes anteriores, inclusive "(s)"; em pt-BR singular e plural. realimentacao não lê configuração de repositório e imprime o idioma padrão.
internal/feedback/plan.go, internal/gate/exceptions.go, internal/supplychain/signer.go, internal/sbom/generator.go Título da PR da realimentação e aviso "Exceções desativadas" pelo catálogo (bytes anteriores no idioma padrão); aur551.go/aur549.go apontam para cmd_sign.go/cmd_sbom.go.
internal/review/scope.go, reviewer.go Os avisos do gate de escopo (scope_discard_warning) e do gate de regras (discard_warning) contam pelo catálogo (review.scope_discarded, review.rule_discarded e suas razões) no idioma da revisão, que preparedPrompt passa a carregar.
tests/acceptance/AUR-615.sh AC-001 (frases ausentes e textos novos presentes), AC-002 (as linhas contadas pelo catálogo, chaves nos dois idiomas, teste dos bytes), AC-003 (build e vet do módulo; testes completos dos pacotes autocontidos (menos o que lê os config.yml distribuídos) e, em cmd/aurumcode e internal/review, os testes deste card e o teste renomeado do AUR-607; readJSON definido uma vez), MUT-001 (chave pt-BR com "(s)" derruba TestAUR607PortugueseHasNoParenthesizedPlural).

Provas

  • go build ./... && go vet ./... && go test ./... no container compartilhado (o aceite selado não enxerga tests/fixtures, docs nem .board, dos quais dependem testes já existentes de internal/review, cmd/aurumcode e dos scanners; por isso AC-003 selado corre o módulo inteiro só em build e vet).
  • bash tests/acceptance/AUR-615.sh all e ./.board/bin/oci-run --profile go-unit-offline-v1 --card AUR-615.

Limites

  • Com review.language: pt-BR, as linhas de dependencies e xbom mudam de "5 componente(s)" para "5 componentes": o tutorial xbom (expected e página) é regravado com o lote.