teqo/docs/changelog/2026-08-19-ops72.md
Francisco Solla b3261c0dc3 refactor(OPS72): fixes do /simplify — gates e2e do ci-pr apertados para selected; docs alinhadas
- ci-pr.yml: infra e2e (cache/install/build-for-e2e + DB prep) só quando selected — diff high-risk não queima minutos à toa; comentários corrigidos
- engineering-standards.mdc + TESTING.md: política OPS72 (era OPS59/ci.yml stale)
- execution-pipeline/agent-work-issue: mecanismo real da #72 (CI roda famílias em paralelo, não sequencial) + ressalva do diff high-risk no pool
- changelog/impl plan: verificação verdadeira (suíte full local + triagem dos flakes)
2026-08-20 02:12:39 +00:00

2.1 KiB

OPS72 — política de e2e: CI de PR sem e2e full; local afetado como passo da skill; full só antes do deploy. Decisão do gate (2026-08-19): (1) local = discricionário — o agente roda os e2e que criou + os da mesma superfície afetada, decide quais (pnpm test:e2e:affected é a ferramenta, não um gate mecânico; não está no gate:push); (2) CI de PR = blast radius — ci-pr.yml perdeu o step E2E tests (full suite); o e2e roda só em modo selected (specs que o classifier detectou como tocadas); diff high-risk (schema/lockfile/harness) classifica full e o PR simplesmente não roda e2e — deliberado: o espelho local roda full nesse mesmo diff e o verify do deploy roda full antes de publicar; (3) main = full no deploy — inegociável, já existia no deploy.yml (nada mudou lá). Docs: work-issue e agent-work-issue (checklist + Passo 4), execution-pipeline.md (nova seção "E2E local afetado" com o critério + a limitação da #72: --no-deps + projetos paralelos colide no seedTestUser → --workers=1 ou a cadeia padrão de projetos), AGENTS.md (parágrafo OPS59 → política OPS72), docs/AGENT-OPS.md (fluxo do agente + linha do ci-pr.yml na tabela), .agents/rules/agent-pr-workflow.mdc (descrição do gate:push), mensagens informativas do gate-ci.mjs (texto-only — e2e continua fora do gate) e comentários do workflow. Mecânica intocada por escopo (ci-scope.mjs, manifest, run-e2e-affected.mjs); o fix da #72 fica na fila (só documentado). Verificação: format/lint/tsc verdes, unit 2444 + int 791 verdes; o e2e local afetado rodou a suíte full (o diff toca scripts/gate-ci.mjs, HIGH_RISK → modo full — a política em ação): 154 passed em dev mode; 8 falhas de ambiente (timeouts/cold-compile sob carga) triadas — 5/8 passaram em re-run e as 3 restantes passaram em E2E_PROD=1 (o modo do CI/verify; 41 passed + 2 flaky que passaram isoladas), zero regressão de produto; o CI deste PR não roda e2e (modo full por design desta mesma política). Impl plan: docs/plans/ops72-e2e-local-afetado-ci-sem-full-impl.md.