ops(OPS63): docs-guards no pre-push — changelog append-only, agregado e marcadores de conflito no gate:ci #70

Merged
fsolla merged 2 commits from OPS63-doc-guard-tambem-no-pre-push-changelog-append-only-agr into main 2026-08-18 21:35:24 +00:00
Owner

O que é

Os checks de docs do CI (job docs-guards, OPS44) passam a rodar também no pre-push local: scripts/gate-ci.mjs ganhou os três checks na fase 1 (changelog append-only, agregado sync --check, marcadores de conflito em markdown) como chamadas diretas dos mesmos scripts do CI — falha bloqueia o push com a mesma mensagem acionável, sem ciclar o CI à toa.

Plano de intenção: docs/plans/ops63-doc-guard-no-pre-push.md
Impl: docs/plans/ops63-doc-guard-no-pre-push-impl.md

Closes #60

Contrato da entrega

  • Fast gate local passou: pnpm lint (0 warnings), pnpm exec tsc --noEmit, pnpm test:unit
  • pnpm format:check e pnpm check:cycles limpos
  • Órfãos da mudança deletados na mesma entrega (knip em CI confirma)
  • Sem schema tocado (sem migration)
  • Nenhum DATABASE_URL/ALLOW_REMOTE_DB de prod em script ou workflow
  • AGENTS.md/rules atualizados + entrada docs/changelog/2026-08-18-ops63.md + pnpm changelog:build (agregado insert-only)
  • Changelog sem perda de linha (sem escape changelog-rewrite:)

Notas para review

  • Escopo: scripts/gate-ci.mjs (fase 1, incondicional — espelha o job docs-guards) + docs do fluxo (engineering-standards.mdc, agent-pr-workflow.mdc, AGENT-OPS.md contrato item 4). package.json, .husky/pre-push, git-push.mjs e workflows .forgejo/* intocados.
  • O escape changelog-rewrite: continua CI-only (body do PR): no pre-push, restauração legítima (D8) falha com a mesma mensagem do CI e usa o bypass documentado git push --no-verify — decisão já fixada no gate da intenção.
  • Verificação: três checks green na branch; caminho de falha validado (commit descartável removendo linha do agregado → append-only falha); pnpm gate:ci local full green (docs-guards rodando na fase 1). scripts/gate-ci.mjs é HIGH_RISK — CI roda full nesta PR (unit 2338 + int 791 verdes localmente).
  • Um flake transitório observado localmente em municipalitiesWithoutUpdateTool.unit.spec.ts durante o 1º pnpm push (não relacionado à mudança — rerun da suíte completa passou 2338/2338; PR toca só gate + docs).
## O que é Os checks de docs do CI (job `docs-guards`, OPS44) passam a rodar também no pre-push local: `scripts/gate-ci.mjs` ganhou os três checks na fase 1 (changelog append-only, agregado sync `--check`, marcadores de conflito em markdown) como chamadas diretas dos mesmos scripts do CI — falha bloqueia o push com a mesma mensagem acionável, sem ciclar o CI à toa. Plano de intenção: [`docs/plans/ops63-doc-guard-no-pre-push.md`](docs/plans/ops63-doc-guard-no-pre-push.md) Impl: [`docs/plans/ops63-doc-guard-no-pre-push-impl.md`](docs/plans/ops63-doc-guard-no-pre-push-impl.md) Closes #60 ## Contrato da entrega - [x] Fast gate local passou: `pnpm lint` (0 warnings), `pnpm exec tsc --noEmit`, `pnpm test:unit` - [x] `pnpm format:check` e `pnpm check:cycles` limpos - [x] Órfãos da mudança deletados na mesma entrega (knip em CI confirma) - [x] Sem schema tocado (sem migration) - [x] Nenhum `DATABASE_URL`/`ALLOW_REMOTE_DB` de prod em script ou workflow - [x] `AGENTS.md`/rules atualizados + entrada `docs/changelog/2026-08-18-ops63.md` + `pnpm changelog:build` (agregado insert-only) - [x] Changelog sem perda de linha (sem escape `changelog-rewrite:`) ## Notas para review - Escopo: `scripts/gate-ci.mjs` (fase 1, incondicional — espelha o job `docs-guards`) + docs do fluxo (`engineering-standards.mdc`, `agent-pr-workflow.mdc`, `AGENT-OPS.md` contrato item 4). `package.json`, `.husky/pre-push`, `git-push.mjs` e workflows `.forgejo/*` intocados. - O escape `changelog-rewrite:` continua CI-only (body do PR): no pre-push, restauração legítima (D8) falha com a mesma mensagem do CI e usa o bypass documentado `git push --no-verify` — decisão já fixada no gate da intenção. - Verificação: três checks green na branch; caminho de falha validado (commit descartável removendo linha do agregado → append-only falha); `pnpm gate:ci` local full green (docs-guards rodando na fase 1). `scripts/gate-ci.mjs` é HIGH_RISK — CI roda full nesta PR (unit 2338 + int 791 verdes localmente). - Um flake transitório observado localmente em `municipalitiesWithoutUpdateTool.unit.spec.ts` durante o 1º `pnpm push` (não relacionado à mudança — rerun da suíte completa passou 2338/2338; PR toca só gate + docs).
fsolla added 2 commits 2026-08-18 21:11:29 +00:00
docs(OPS63): status entregue no plano de intenção
All checks were successful
CI (PR) / scope (pull_request) Successful in 31s
CI (PR) / lint (pull_request) Successful in 42s
CI (PR) / format (pull_request) Successful in 59s
CI (PR) / docs-guards (pull_request) Successful in 8s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Successful in 55s
CI (PR) / int (pull_request) Successful in 2m3s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Successful in 4m33s
CI (PR) / e2e (2) (pull_request) Successful in 4m3s
CI (PR) / checks (pull_request) Successful in 1s
PR Ready + auto-merge / ready-automerge (pull_request) Successful in 23m30s
Agent pool supervisor / tick (pull_request) Successful in 31s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 14s
6253758f3f
fsolla scheduled this pull request to auto merge when all checks succeed 2026-08-18 21:11:37 +00:00
fsolla merged commit e6bd1d2688 into main 2026-08-18 21:35:24 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fsolla/teqo#70
No description provided.