teqo-backup/docs/changelog/2026-08-23-ops80.md
Francisco Solla 5b4e5ecf22 ops(OOPS80): cutoff fase 1 — desativar acesso pela URL antiga pt.jorgesolla.com.br (congelar a fonte)
- scripts/check-push-chain.mjs: default --site, usage, erro → canônico; prosa Neon/vercel → homeserver
- tests: fixtures unit (WebAuthn, JsonMutation, aiMarkdownLinks) + int (campaignMultiPhones) → canônico, semântica preservada
- campaignMultiPhones: adiciona ensureLeasedConsent para invite consent fixture (fix pre-existente)
- personas (.opencode/agent/designer, solla-comunicacao, skill): canônico + operação homeserver
- docs: intenção + impl plan + changelog entry; CHANGELOG-AGENTS append-only preservado
- Sem migration, sem schema, sem access/Consent, sem UI
- Closes #796
2026-08-23 20:14:59 -03:00

1.5 KiB

OPS80 — cutoff fase 1: desativar o acesso à URL antiga pt.jorgesolla.com.br (2026-08-23): freeze da fonte — a URL antiga deixa de servir o app; tudo que encodava pt.jorgesolla.com.br como verdade canônica é atualizado para jorgesolla1313.com.br. Operação: scripts/check-push-chain.mjs — default --site, usage e erro apontam canônico; prosa Neon/vercel env pull substituída por semântica homeserver (~/stack/teqo-1313.env). Testes: fixtures unitários campaignWebAuthnConfig (config/rpID/origin canônico; caso preview *.vercel.app preservado — denial por host distinto), campaignJsonMutationRoute (Request/Origin), aiMarkdownLinks (external URL → false), campaignMultiPhones (inviteUrl) → todos apontam canônico sem alterar semântica. Personas: .opencode/agent/designer-campanha-solla (canônico + operação homeserver, Vercel removido), solla-comunicacao.md, solla-comunicacao/SKILL.md → canônico. Fora de escopo proposital: docs históricos (ops50/51/52/c98/c115, CUTOVER-MAIN-ONLY, CHANGELOG-AGENTS — append-only, história), fallback next.config.mjs/apoiadores (base WordPress), refs de conteúdo jorgesolla.com.br (origem WordPress, não a URL antiga do app), hosts *.vercel.app no teste WebAuthn (denial intencional). Sem migration, sem schema, sem access/Consent, sem UI. Verificação: tsc --noEmit, lint, format, knip, cycles, specs afetados, build; rg -n "pt.jorgesolla.com.br" = 0 (excl. decisões preservadas); Closes #796.