AUR-604 — Changelog em três modos e doc humana
Medido
changelog_check.modeaceitava sóoff(padrão) erequired; qualquer outro valor era recusado com "use required ou off".- A entrada sugerida só aparecia quando o check reprovava (
required). Não havia como pedir só a sugestão, sem travar a PR. - As seções de changelog e de auditoria/SARIF em
docs/configuration.mde os dois tutoriais tinham parágrafos longos, histórico de cards e jargão interno. - O site MkDocs não renderizava Mermaid, e o teste do site recusa qualquer requisição externa (o tema buscaria o Mermaid num CDN).
O que mudou
| arquivo | responsabilidade |
|---|---|
internal/config/changelog_check.go |
ChangelogMode (off, suggest, required) com sinônimos (desligado, sugerir, obrigatorio); ParseChangelogMode recusa o resto listando os três; EffectiveMode, Required, Active. |
cmd/aurumcode/changelog_sides.go |
evaluateChangelog devolve veredito, regra e modo (changelogEvaluation); a regra existe em suggest e required. |
cmd/aurumcode/cmd_changelog.go |
Em suggest, entrada ausente ou fraca: sem entrada útil (...), sugestão e exitChangelogSuggested (0). required sem mudança. |
cmd/aurumcode/changelog_suggestion.go |
O bloco do resumo do job e do parecer usa o texto do modo. |
cmd/aurumcode/pr_changelog_suggestion.go |
review --pr põe a sugestão no parecer em suggest e em required (Active). |
internal/i18n/catalog.yml |
changelog.suggestion.intro_suggest em pt-BR e en. |
mkdocs.yml, docs/javascripts/mermaid.min.js |
pymdownx.superfences com a cerca mermaid; Mermaid 11.4.1 servido pelo próprio site (sha256 no comentário do mkdocs.yml), sem CDN. |
docs/configuration.md |
Seções de changelog e de auditoria/SARIF reescritas: o que é, quando usar, como ligar, exemplo, o que acontece se falhar, com diagrama. |
docs/tutorials/changelog.md, docs/tutorials/auditoria-sarif.md |
Texto curto, diagrama, caso 7 modo-sugerir. |
demo/tutoriais/changelog |
Caso modo-sugerir (base repo-exemplo/base-sugerir com mode: sugerir); linha em tests/fixtures/tutorials/mapa.tsv. |
O modo continua vindo da base da PR e, com política central que declara a
seção, da política. Em suggest, um arquivo de changelog ilegível
(indeterminado) não recebe sugestão e também sai 0.
Provas
tests/acceptance/AUR-604.sh (cópia de go.mod go.sum cmd internal pkg):
| id | prova | última linha |
|---|---|---|
| AC-001 | TestAUR604AC001SuggestModeSuggestsAndPasses: suggest e sugerir saem 0 com a sugestão colável no log e no resumo; política central em suggest decide sobre repositório required; o parecer --pr traz "Suggestion only". |
AUR-604/AC-001/pass |
| AC-002 | TestAUR604AC002RequiredModeUnchanged: exit 1, sugestão e texto de required. |
AUR-604/AC-002/pass |
| AC-003 | TestAUR604AC003OffOrAbsentDoesNothing: off e seção ausente saem 0 sem sugestão nem bloco no parecer. |
AUR-604/AC-003/pass |
| AC-004 | TestAUR604AC004UnknownModeRefused: talvez recusado com off, suggest ou required; sinônimos mapeados. |
AUR-604/AC-004/pass |
| AC-005 | grep nas docs: os três modos, mode: suggest, saída modo-sugerir, --auditoria, --sarif, Code scanning, exemplo JSON, cerca mermaid e superfences no mkdocs.yml. |
AUR-604/AC-005/pass |
| MUT-001 | exitChangelogSuggested = 1 |
AUR-604/MUT-001/rejected (suggest mode failed the check) |
| MUT-002 | parecer só com Required() |
AUR-604/MUT-002/rejected (suggest mode left the suggestion out of the review body) |
Tutorial: AURUMCODE_TUT_IMAGE=aurum-tutoriais:aur604 bash demo/tutoriais/changelog/run.sh all
gravou out/modo-sugerir.log com exit_code=0 e
RESULTADO: modo sugerir: a PR sem entrada passou e o check trouxe a entrada sugerida;
run.sh --check termina em CHECK OK.