AUR-546: line_comments sai do parser
Medido antes
internal/prompt/templates/review.mdnao ensinaline_comments: o unico exemplo JSON temissuescomo lista de achados, e a palavra so aparecia como parte deinline_comments(configuracao de publicacao).grep -rnw line_commentsfora deinternal/prompt, specs etests/e2e/AUR-459.shso acha o campo legadoLineCommentsdepkg/types.ReviewResult.- Nenhum provedor (
internal/llm), fixture (tests/fixtures), tutorial (demo/tutoriais,docs/tutorials) ou workflow depende deline_comments. O unico produtor era a fixture do propriotests/e2e/AUR-459.sh, etests/acceptance/AUR-459.shja estava aposentado (exit 69, AUR-586). adoptLineComments(parser) convertia cada entrada emtypes.ReviewIssuesemevidence,impactnemverification; o gate de evidencia descartava todas (AUR-541/AUR-542).hasFindingsListaceitavaline_commentscomo lista de achados, entao{"line_comments":[...]}parecia uma resposta valida.- O campo
pkg/types.ReviewResult.LineComments(fora dos paths do card) continuava sendo preenchido pelojson.Unmarshal, einternal/rendere o merge de lotes ainda o liam.
Decisao
line_comments sai do parser. Ensinar o formato com evidencia criaria uma
segunda forma de achado ao lado de issues, que e exatamente o defeito do
AUR-459 (duas formas, o modelo escolhe a errada). Remover e mais simples e
mantem a falha fechada:
internal/prompt/parser_line_comments.gofoi reescrito: a conversao saiu;discardLineCommentslimparesult.LineCommentse anuncia o descarte emMetadata["parse_discard_warning"], que o CLI ja imprime no stderr.parser_validate.go::hasFindingsListso aceitaissues(findingsListKey). Resposta so comline_commentsvira erro de validacaomissing_issues(revisao inconclusiva), nunca "No issues found.".parser.go::acceptedReviewFields==canonicalReviewFields(semline_comments); template e parser concordam.tests/e2e/AUR-459.shaposentado: imprime a justificativa e sai 69 (seletor desconhecido continua 64).- Observacao do AUR-543:
ReviewChangeScopevirou funcao exportada que delega para a var nao exportadareviewChangeScope(seam so dos testes do pacote);aur543_test.gotroca a var nao exportada.
Prova
- AC-001 (
bash tests/acceptance/AUR-546.sh AC-001): spec com a decisao, template semline_comments, nenhumadoptLineCommentseminternal/, e2e 459 sai 69 citando esta spec e 64 em seletor desconhecido, e os testesTestLineCommentsIsNeitherTaughtNorAccepted,TestReviewTemplateMatchesParser,TestAcceptedReviewFieldsAreConsumedverdes. - AC-002 (
... AC-002): testes de unidade (resposta so comline_comments, com e semrule_id, emissing_issues; ao lado deissuesnada chega aIssuesnemLineCommentse o aviso e gravado) e o binario real contratests/fixtures/repos/git-demo: soline_comments-> exit != 0 comvalidation_failed, sem "No issues found." nem o achado; misto -> exit 0, sem o achado no stdout,1 line comment(s) ignoredno stderr. - MUT-001 (
... MUT-001): numa copia,hasFindingsListvolta a aceitarline_commentsediscardLineCommentsvolta a converter as entradas em achados sem evidencia; compila e AC-002 fica vermelho (TestLineCommentsOnlyReplyIsInconclusive,TestLineCommentsBesideIssuesAreDroppedAndAnnounced).
Execucao real
Container compartilhado (.board/bin/go-shared):
bash tests/acceptance/AUR-546.sh AC-001->AUR-546/AC-001/pass(rc 0)bash tests/acceptance/AUR-546.sh AC-002->AUR-546/AC-002/pass(rc 0)bash tests/acceptance/AUR-546.sh MUT-001->--- FAIL: TestLineCommentsOnlyReplyIsInconclusive,--- FAIL: TestLineCommentsBesideIssuesAreDroppedAndAnnounced(eTestAnswerWithoutFindingsListIsInconclusive), depoisAUR-546/MUT-001/pass(rc 0: a mutacao compilou e ficou vermelha)bash tests/acceptance/AUR-546.sh bogus->AUR-546/bogus/unknown-selector(rc 64)bash tests/acceptance/AUR-543.sh AC-001eAC-002-> pass (rc 0) com o seamreviewChangeScopenao exportadogo vet ./... && go test -p 1 ./...-> rc 0;gofmt -lvazio./.board/bin/oci-run --profile go-unit-offline-v1 --card AUR-546->AUR-546/all/pass,exit_code: 0- Tutoriais:
run.sh allnos 21 diretorios com a imagemaurum-tutoriais:aur546(construida desta arvore), todos rc 0, erun.sh --checkrc 0 em todos;scripts/docs/capturas.shregravoudocs/assets/capturas(251 imagens). bash tests/acceptance/AUR-542.sh AC-001->AUR-542/AC-001/infrastructure/e2e-infra:AUR-459:69(rc 79), ver pendencia.
Pendencia fora dos paths
tests/acceptance/AUR-542.sh AC-001 fixa tests/e2e/AUR-459.sh como vermelho
com a tag gate-open-on-converted-finding e trata exit 69 como infra. Com o
e2e aposentado ele passa a sair 79 (e2e-infra:AUR-459:69). O script nao e
path deste card; precisa de um card de acompanhamento que tire o AUR-459 da
lista red_scripts (o AUR-573 executa o AUR-542 no grupo slow).
Rollback
Reverter os commits do card nos paths internal/prompt, tests/e2e/AUR-459.sh,
tests/acceptance/AUR-546.sh e esta spec.