Skip to content

chore: aplicar drift safe-only do precisa sync - #5

Merged
rlueder merged 3 commits into
mainfrom
chore/sync-templates
Apr 22, 2026
Merged

chore: aplicar drift safe-only do precisa sync#5
rlueder merged 3 commits into
mainfrom
chore/sync-templates

Conversation

@rlueder

@rlueder rlueder commented Apr 22, 2026

Copy link
Copy Markdown
Member

Resumo

Resultado de rodar `pnpm dlx @precisa-saude/cli doctor && precisa sync` em datasus pela primeira vez. A maior parte do output do sync precisou ser revertida porque os templates compartilhados em `tooling/templates/` estão defasados/divergentes em relação ao estado atual dos repos OSS — aplicar como-está regrediria.

Aplicado (5 arquivos)

Arquivo Mudança
`.editorconfig` reordena chaves (semanticamente igual)
`.prettierignore` adiciona CHANGELOG.md (gerado pelo semantic-release)
`.husky/commit-msg` bloqueio mais amplo de AI attribution (anthropic/gpt/copilot além de claude)
`.husky/pre-push` estrutura mais granular, `--prefer-offline` no install
`.github/ISSUE_TEMPLATE/config.yml` NOVO — desabilita issues em branco, roteia security para email privado

Revertido (template regride o repo)

Workflows:

  • `.github/workflows/ci.yml` — template faria downgrade de `actions/checkout@v6` → `@v4`, trocaria `pnpm turbo run` por `pnpm -r` (perde caching), removeria o job `review`, e renomearia o workflow.
  • `.github/workflows/review.yml` — template tem markers diferentes (`AUTOMATED_REVIEW_ROUND_1` vs `CLAUDE_REVIEW_ROUND_1`), o que re-dispararia round 1 em todos os PRs em flight.
  • `.github/workflows/release.yml` (NEW) — conflitaria com o job `release` que vive dentro do `ci.yml` atual.

Issue templates: o template criaria `bug.md`/`feature.md` ao lado dos existentes `bug_report.md`/`feature_request.md`, gerando entradas duplicadas no GitHub UI.

Docs em pt-BR: `SECURITY.md`, `SUPPORT.md`, `CITATION.cff` e `PULL_REQUEST_TEMPLATE.md` no template estão em inglês genérico e perderiam o conteúdo datasus-specific (escopos de pacote no PR template, seção "Escopo" do SECURITY.md, etc.). CLAUDE.md do datasus exige docs em pt-BR.

Implicação

O sub-item urgente da PRE-199 §5 ("workflow drift audit") agora tem dados concretos: o problema não é só drift, é que o template canônico em `tooling/templates/` está atrás do estado real dos repos. O fix correto é:

  1. Atualizar `tooling/templates/` para refletir o canonical (versões do medbench/fhir-brasil que evoluíram)
  2. Re-rodar `precisa sync` em todos os repos
  3. Considerar i18n nos templates (ou política explícita: templates em inglês + repos OSS sobrescrevem para pt-BR como preserve-strategy)

Enquanto isso, este PR limita-se ao subset que é safe drop-in.

Test plan

  • Pre-push verde
  • CI verde

Rodei \`pnpm dlx @precisa-saude/cli doctor && sync\`. A maior parte do
output requeria reversão porque os templates compartilhados em
\`tooling/templates/\` estão defasados/divergentes em relação ao
estado atual dos repos.

Aplicado deste sync:
- .editorconfig: reordenação de chaves (semanticamente igual)
- .prettierignore: adiciona CHANGELOG.md (gerado pelo semantic-release)
- .husky/commit-msg: bloqueio mais amplo de AI attribution
  (agora inclui anthropic/gpt/copilot além de claude)
- .husky/pre-push: estrutura mais granular, --prefer-offline no install
- .github/ISSUE_TEMPLATE/config.yml: NOVO — desabilita issues em branco
  e roteia reports de segurança para security@

Reverti deste sync (templates regridem o repo):
- .github/workflows/{ci.yml, review.yml, release.yml NEW}: o template
  faz downgrade de actions/checkout v6 -> v4, troca pnpm turbo por
  pnpm -r (perde caching), remove o job 'review', e cria release.yml
  com auth diferente. ci.yml/review.yml já são mais avançados que o
  template; release.yml conflitaria com o job release dentro do ci.yml.
- .github/ISSUE_TEMPLATE/{bug.md, feature.md NEW}: cria duplicatas
  ao lado de bug_report.md/feature_request.md já existentes.
- SECURITY.md, SUPPORT.md, CITATION.cff, PULL_REQUEST_TEMPLATE.md:
  template está em inglês e genérico — substituiria conteúdo pt-BR
  e datasus-specific (escopos de pacote no PR template, seção 'Escopo'
  do SECURITY.md, etc).

Drift remanescente está documentado em PRE-199 §5 — fix real é
atualizar tooling/templates para refletir o estado canônico atual
(que evoluiu além dos templates), não rodar sync com os templates
antigos.
@github-actions

Copy link
Copy Markdown

Claude Review - Round 1

Summary

Housekeeping PR that alphabetizes .editorconfig properties, adds a GitHub issue template config, hardens the commit-msg hook (quoting args, broader AI attribution detection), replaces turbo-based pre-push with individual pnpm -r commands, and ignores CHANGELOG.md in Prettier.

Changes

  • Reordered .editorconfig properties alphabetically
  • Added .github/ISSUE_TEMPLATE/config.yml disabling blank issues and adding contact links
  • Quoted $1 in commitlint invocation and expanded AI attribution regex to cover anthropic/gpt/copilot
  • Rewrote pre-push hook: dropped shebang, replaced pnpm turbo run with individual pnpm -r commands, added --prefer-offline to install
  • Added CHANGELOG.md to .prettierignore

🔍 Found 2 suggestions (see inline comments)

Automated review by Claude Opus 4.6 - Round 1 of 2 | 1,520 in / 509 out | $0.0203

Comment thread .husky/commit-msg Outdated
Comment thread .husky/pre-push Outdated
Endereçamento direto dos comentários de review do PR — sincroniza
com a versão atualizada do template em tooling#14.

- commit-msg: pattern AI-attribution extraído para variável
- pre-push: detecta turbo e usa \`pnpm turbo run\` (paralelismo + cache);
  fallback para \`pnpm -r --parallel\` quando não tem turbo
@github-actions

Copy link
Copy Markdown

Claude Review - Round 2 (Final)

Summary

Two changes: (1) Extract duplicated AI attribution regex pattern into a variable in the commit-msg hook, and (2) Add turbo support to the pre-push hook with a fallback to parallel pnpm execution.

Changes

  • Extracted duplicated grep pattern in commit-msg hook into a named variable to avoid repetition
  • Pre-push hook now detects turbo and uses it for parallel lint/typecheck/test runs with caching, falling back to pnpm -r --parallel

🔍 Found 1 suggestions (see inline comments)

Automated review by Claude Opus 4.6 - Round 2 (Final) - No further reviews will be performed | 1,155 in / 289 out | $0.0130

Comment thread .husky/pre-push Outdated
@rlueder
rlueder merged commit 1d677d4 into main Apr 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant