chore: instalar o gate de cobertura de logs no CI - #206
chore: instalar o gate de cobertura de logs no CI#206nicholas-maestrello wants to merge 2 commits into
Conversation
Adiciona um scorer determinístico de cobertura de logs e um workflow que exige, em todo PR que mexe em node/**/*.ts, um relatório atualizado commitado. O score em si não trava o merge: uma regressão vira sinal de review no comentário do PR, porque travar no número convida a burlá-lo. A métrica é de resolução mais baixa que as auditorias julgadas em docs/log-coverage-audits/ — só conta catch e .catch() — em troca de ser reproduzível byte a byte, que é o que permite manter um baseline. Co-authored-by: Cursor <[email protected]>
|
Beep boop 🤖 Thank you so much for keeping our documentation up-to-date ❤️ |
|
Hi! I'm VTEX IO CI/CD Bot and I'll be helping you to publish your app! 🤖 Please select which version do you want to release:
And then you just need to merge your PR when you are ready! There is no need to create a release commit/tag.
|
Log coverageDeterministic proxy metric — 68/93 = 73.1% (missing 25, insufficient 0). The score itself never blocks: a regression is a review signal, not a failure. What blocks is a missing or stale report.
New or regressed (0)none Resolved or removed (0)none Committed reportUp to date — Regenerate with |
Baseline inicial em 68/93 = 73,1%. Os 25 achados ficam registrados como ponto de partida — o gate exige relatório atualizado, não score alto. Co-authored-by: Cursor <[email protected]>
O que é
Instala um scorer determinístico de cobertura de logs e um workflow
Log coverageque bloqueia PRs que mexem em código auditado sem trazer um relatório atualizado.Empilhado sobre #205 (as auditorias julgadas). Revisar aquele primeiro.
Escopo auditado
node/**/*.ts, exceto testes, mocks,dist,buildetypings. Score inicial: 68/93 = 73,1% (25 achadosmissing, 0insufficient).Esta não é a mesma métrica das auditorias de #205
As auditorias de #205 foram julgadas por um modelo e contam também abortos de validação, early returns e contexto que atravessa funções. Este scorer casa estrutura com regex e só enxerga
catche.catch()— resolução mais baixa de propósito, em troca de ser reproduzível byte a byte. Um score não corrige nem substitui o outro.O que trava e o que não trava
scripts/log_coverage/audit.py) sem o relatório atualizado daquele PR.Dependências novas
python3— provisionado no CI viaactions/setup-python, e necessário localmente para gerar o relatório. Sem impacto no runtime do app.Como usar
Depois do merge
O check só passa a bloquear quando for marcado como obrigatório em Settings → Branches → branch protection → Require status checks to pass, selecionando
Log coverage. Até lá ele reporta sem travar.Test plan
scanretorna total plausível, sem testes nem código gerado nos achadosMade with Cursor