teqo/docs
Francisco Solla 89bf9d0854 ops(OPS46): e2e local coleta via hook ESM (next/cache + server-only) e allocator de município com registry anti-wrap (Closes #733)
Fase 1: playwright bare (--list, extensão VS Code, runs ad-hoc) quebrava na
coleta — next@15 sem exports não resolve 'next/cache' em ESM nativo e
server-only exige a condição react-server; o script test:e2e carregava ambas
via NODE_OPTIONS (por isso o CI passava). Hook de resolução ESM vitest-free
(e2eEsmResolve.mjs) registrada no main via module.register + propagada aos
workers via NODE_OPTIONS quando invocada bare; path do script intocado.

Fase 2: a sequência persistente campaign_fixture_municipality_alloc nunca é
resetada e um ciclo completo claima ~505 do catálogo de 435 — o wrap em todo
ciclo em DB de worktree fazia dois runs concorrentes receberem o mesmo índice
e purgarem as linhas vivas um do outro. Registry de claims compartilhado
vitest-free (campaignMunicipalityAllocator.ts): INSERT ON CONFLICT DO NOTHING
com skip de slot vivo, steal de claim stale (TTL 2h), release no cleanup dos
dois fixtures, erro claro de exaustão. Guard estático no
testMunicipalityAllocatorConventions + spec int de stress.
2026-08-23 14:02:19 -03:00
..
campanha style(site): formata artefatos da campanha 2026-08-16 00:50:07 -03:00
changelog ops(OPS46): e2e local coleta via hook ESM (next/cache + server-only) e allocator de município com registry anti-wrap (Closes #733) 2026-08-23 14:02:19 -03:00
design-refs Version UX Pilot design refs and map them to roadmap plans 2026-07-18 16:36:09 -03:00
ops docs(OPS76-FOLLOWUP): runbook do backup passivo GitHub→Forgejo (pull mirror teqo-backup) 2026-08-21 09:23:43 -03:00
plans ops(OPS46): e2e local coleta via hook ESM (next/cache + server-only) e allocator de município com registry anti-wrap (Closes #733) 2026-08-23 14:02:19 -03:00
research chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
AGENT-OPS.md ops(OPS76): tracker de Issues migra do Forgejo para o GitHub — GitHub como host único 2026-08-21 08:19:06 -03:00
ARCHITECTURE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
CHANGELOG-AGENTS.md ops(OPS46): e2e local coleta via hook ESM (next/cache + server-only) e allocator de município com registry anti-wrap (Closes #733) 2026-08-23 14:02:19 -03:00
CUSTOMER.md style: prettier-format public-release docs 2026-07-31 13:16:22 -03:00
CUTOVER-MAIN-ONLY.md ops(OPS61): flip de issues pós-merge com PAT + gate do rollup checks + branch protection real no Forgejo 2026-08-18 17:45:54 -03:00
GUARDRAILS.md chore(ci): remove o migration-lock — deadlock de CI com PRs de schema paralelos (checks passa a ser o único required) 2026-08-12 13:42:05 -03:00
IMPROVE-APP-PLAN.md chore: public release tip — All Rights Reserved, sanitize field material 2026-07-31 12:53:12 -03:00
IMPROVE-CODE-QUALITY-PLAN.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
PAYLOAD-REFERENCE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
roadmap.md docs(OPS68): reescreve docs canônicos da era GitHub/Vercel para Forgejo/homeserver 2026-08-19 13:33:05 +00:00
TECH-DEBT.md chore(OPS30): hardening e2e em dev — prewarm completo, login resiliente a compile-frio, fechamento do P4-L 2026-08-12 13:34:42 -03:00
TESTING.md refactor(OPS72): fixes do /simplify — gates e2e do ci-pr apertados para selected; docs alinhadas 2026-08-20 02:12:39 +00:00