Files
portifolio-evandrodevbr/specs/2026-11-09-ganchos-e-ofertas.md
T
evandro c7d09d63d4
CI / audit (push) Successful in 10m38s
CI / verify (push) Successful in 13m10s
CI / deploy (push) Successful in 1m50s
CI / e2e (push) Successful in 18m48s
feat(site): blocos 3D da marca, novas ofertas e hero mais abrangente
Hero e movimento
- cena 3D em tempo real com os blocos da marca (kit feito no Blender, 3d/blocos.py):
  marca, tela, integrações e dados; segue a rolagem, tem vida em repouso, reage ao
  cursor e, parada no topo, passa sozinha pelos estados com legenda
- três níveis de aparelho (full, lite, static); sem WebGL fica o pôster
- título novo: "Sites e sistemas sob medida para o jeito que a sua empresa trabalha."
- faixa de clientes com o ramo, linha do primeiro passo, hero alinhado às seções
- rótulos digitados, entrada dos blocos, cortina de blocos entre páginas e capa
  compartilhada entre a lista de cases e o case

Ofertas
- atendimento no WhatsApp com IA e nota fiscal para a reforma tributária
  (páginas de serviço, cartões da home, formulário e aviso com data de validade)
- página /ia atualizada, com fontes
- peças 3D em loop nos cartões e topos de página (3d/pecas.py)

Design
- hover por papel (bloco nos botões, barra nos links), rótulos sem caixa alta
- um destino por rótulo: "Falar sobre meu projeto" leva ao formulário,
  "Chamar no WhatsApp" abre o WhatsApp
- logo montado em blocos, 404 redesenhado, grades sem célula vazia
- ícones do PWA e manifesto novos

Specs em specs/, contexto de design em DESIGN.md e PRODUCT.md.
2026-11-10 03:48:25 -03:00

101 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ganchos novos: revisão de IA atualizada, WhatsApp com IA e nota fiscal
**Autor:** Evandro · **Data:** 2026-11-09 · **Porte:** grande · **Status:** concluída
## 1. Objetivo
Dar ao site mais dois pontos de partida além de site, sistema e revisão, e atualizar a página `/ia` com os casos de 2026 e com o Brasil. Hoje qualquer um tira a operação da planilha com IA; o que o dono não consegue sozinho é responder pelo resultado. Base: `~/tmp/reports/Ofertas para empresas com IA.md`.
## 2. Escopo
- Dentro: oferta "Atendimento no WhatsApp com IA sob controle"; oferta com prazo "Nota fiscal pronta para a reforma tributária"; dois casos de 2026 e um bloco brasileiro em `/ia`; cartões da home de 3 para 4, mais uma faixa datada da nota fiscal.
- Fora (não fazer): frase de medo sem fonte ("perderam a empresa", "processo milionário"); preço ou prazo de entrega; depoimento ou caso inventado; página de serviço nova para máquinas e sensores (já existe) ou para aplicativo; blog.
## 3. Critérios de aceite
- CA1: `offerLabels` tem `whatsapp` e `fiscal`, e cada uma aparece na home, em `/servicos`, no tipo de projeto do formulário e na mensagem do WhatsApp → `pnpm test -- offer Contact WorkModalities servicos`.
- CA2: a home mostra 4 cartões (site, sistema, WhatsApp com IA, revisão) em grade 2×2 de 1024 px em diante e a faixa da nota fiscal acima deles; em 390 px nada estoura → inspeção em 1440×900 e 390×844 e `pnpm test:e2e`.
- CA3: a faixa e a página da nota fiscal mostram as datas com link para a publicação oficial, e a faixa some sozinha depois de 2027-03-31 → `pnpm test -- fiscal` (com a data do teste antes e depois).
- CA4: `/ia` conta Lovable (abril de 2026) e RedAccess (maio de 2026) no formato atual (o que foi relatado, o que não foi provado, o cuidado técnico, o link) e um bloco brasileiro com a multa do TST e o prazo de comunicação de incidente → `pnpm test -- app/ia`.
- CA5: nenhum texto novo afirma prejuízo, multa ou processo que a fonte ligada não sustente; toda afirmação com número tem link → revisão linha a linha contra o relatório, registrada na seção 8.
- CA6: `pnpm lint && pnpm typecheck && pnpm test && pnpm build && pnpm test:e2e` verdes.
## 4. Contexto verificado
- `lib/offer-labels.ts:7-20`: três ofertas (`site`, `sistema`, `revisao`), fonte única do nome e do assunto do WhatsApp.
- `lib/site-content.ts:939-990`: `serviceOffers`, com resumo, entregáveis, primeiro passo e prova de cada oferta.
- `app/components/WorkModalities.tsx:31,348-369`: `OFFER_EXTRAS` por oferta e grade de 3 colunas; a descrição diz "Três pontos de partida".
- `app/ia/page.tsx:124-170`: `INCIDENTS` com Lovable, Replit e Base44 de 2025; `:428-455`: cartão "E a LGPD?" com a Resolução 2/2022.
- O identificador da oferta é um tipo fechado usado em cerca de 25 arquivos (formulário, WhatsApp, dados estruturados, testes).
## 5. Desenho
Textos propostos (aprovar ou corrigir):
| Oferta | Nome | Resumo |
|---|---|---|
| `whatsapp` | Atendimento no WhatsApp com IA sob controle | Um atendente automático que responde só com o que está no seu catálogo e na sua tabela de preços, chama uma pessoa quando não sabe e guarda o registro de cada conversa. |
| `fiscal` | Nota fiscal pronta para a reforma tributária | Se o seu sistema ou a sua integração emite nota, ajusto os campos de IBS e CBS e testo a emissão antes de o prazo chegar. |
- Entregáveis do WhatsApp: respostas limitadas ao seu catálogo, preços e horários; passagem para uma pessoa na mesma conversa; registro do que foi informado ao cliente; uso da API oficial do WhatsApp.
- Entregáveis da nota fiscal: levantamento do que o seu sistema emite hoje; campos de IBS e CBS no leiaute novo; teste em homologação com nota real; lista do que depende do seu contador.
- Faixa da home: "Seu sistema emite nota? O Simples Nacional entra na reforma tributária em 01/01/2027. Veja o que muda." Leva à página da oferta.
- Sem case público nas duas ofertas novas: o cartão diz isso em vez de mostrar prova que não existe.
- Decisão: 4 cartões e uma faixa, não 5 cartões. Cinco cartões iguais achatam a escolha, e a nota fiscal tem data para acabar.
- Descartado: seção "por que você precisa de um desenvolvedor" na home. O argumento fica nos entregáveis de cada oferta e em `/ia`, com fonte.
## 6. Restrições, riscos, suposições
- Riscos: as datas fiscais do relatório vêm de portais contábeis; publicar só depois de ler o ato no Diário Oficial. A oferta de nota fiscal envelhece e precisa sair do ar na data.
- S1: você entrega integração fiscal (há um `apolo-nfe` nos seus projetos) e atendente de WhatsApp pela API oficial.
- S2: não há case público para citar nas duas ofertas novas.
- P1 (bloqueia T2): os textos da tabela acima estão aprovados?
- P2 (bloqueia T5): a nota fiscal ganha página própria em `/servicos`, ou a faixa leva direto ao WhatsApp? Resposta recomendada: página própria, porque é onde as datas e as fontes cabem.
## 7. Microtasks
### T1 · Conferir as datas fiscais na fonte oficial · N4
- Serve: CA3, CA5 · Depende de: nenhuma
- Fazer: ler o Ato Conjunto RFB/CGIBS 4/2026 no Diário Oficial ou no portal da Receita e anotar na seção 8 cada data com o link.
- Pronto quando: cada data da faixa e da página tem link oficial; data sem fonte oficial sai do texto.
- [x] feito
### T2 · Acrescentar as duas ofertas aos rótulos e ao conteúdo · N2
- Serve: CA1 · Depende de: bloqueada por P1 · Arquivos: `lib/offer-labels.ts:7-20`, `lib/site-content.ts:939-990`, testes de `lib/`
- Fazer: `whatsapp` e `fiscal` com os textos da seção 5, no formato das três atuais; testes primeiro.
- Verificar: `pnpm test -- lib/site-content lib/offer` → passa; `pnpm typecheck` aponta os lugares que faltam tratar.
- [x] feito
### T3 · Levar as ofertas ao formulário e ao WhatsApp · N2
- Serve: CA1 · Depende de: T2 · Arquivos: `app/components/contact-subject.ts`, `app/components/Contact.tsx`, testes de `Contact*`
- Fazer: as duas ofertas como tipo de projeto e como assunto da mensagem, no padrão das atuais.
- Verificar: `pnpm test -- Contact contact-subject` → passa.
- [x] feito
### T4 · Mostrar 4 cartões e a faixa na home · N3
- Serve: CA2, CA3 · Depende de: T2 · Arquivos: `app/components/WorkModalities.tsx:31,348-369`, `WorkModalities.paths.test.tsx`
- Fazer: grade 2×2 com site, sistema, WhatsApp com IA e revisão; faixa da nota fiscal acima, escondida depois de 2027-03-31; descrição da seção sem o número "três".
- Verificar: `pnpm test -- WorkModalities` → passa; capturas em 1440×900 e 390×844.
- [x] feito
### T5 · Criar as páginas das duas ofertas · N3
- Serve: CA1, CA3 · Depende de: T1, T2, bloqueada por P2 · Arquivos: `lib/site-content.ts` (`servicePages`), `app/servicos/[slug]/page.test.tsx`
- Fazer: uma página por oferta no formato das páginas de serviço, com entregáveis, primeiro passo e, na fiscal, as datas com link oficial.
- Verificar: `pnpm test -- servicos sitemap` → passa.
- [x] feito
### T6 · Atualizar a página `/ia` · N2
- Serve: CA4, CA5 · Depende de: nenhuma · Arquivos: `app/ia/page.tsx:124-170,428-455`, `app/ia/page.test.tsx`
- Fazer: dois itens em `INCIDENTS` (Lovable de abril de 2026, com a resposta da empresa; RedAccess de maio de 2026, com a contestação das plataformas); no cartão da LGPD, o prazo de 3 dias úteis (6 para pequeno porte) da Resolução CD/ANPD 15/2024 e a multa do TST de março de 2026, cada um com link.
- Verificar: `pnpm test -- app/ia` → passa.
- [x] feito
### CP1 · após T1–T6 · N0
- Verificar: CA5 linha a linha, suíte, build, e2e e as capturas da home.
## 8. Registro
2026-11-09 — rascunho escrito depois da aprovação dos três ganchos recomendados.
2026-11-09 — T1 adiantada (só leitura): Ato Conjunto RFB/CGIBS nº 4, de 30/07/2026, publicado no DOU de 31/07/2026 (edição 143, seção 1, página 25). Texto oficial: https://www.cgibs.gov.br/upload/arquivos/202607/31091735-20260730-16h30-ato-conjunto-rfb-cgibs-na-c2-ba-4-260731-090909.pdf . Nota da Receita: https://www.gov.br/receitafederal/pt-br/assuntos/noticias/2026/julho/receita-federal-e-comite-gestor-do-ibs-publicam-o-cronograma-de-implementacao-dos-documentos-fiscais-eletronicos-da-reforma-tributaria-do-consumo . Datas: 03/08/2026 (NF-e, NFC-e, CT-e, MDF-e e outros); 01/10/2026 (NFCom, DIR e NFS-e da maioria dos prestadores); 01/12/2026 (NFGas, NFAg, NF-e ABI e NFS-e de plataformas, locações e condomínios); 01/01/2027 (optantes do Simples Nacional, art. 1º, § 1º). Lido pelos trechos do PDF oficial devolvidos na busca; falta abrir o PDF inteiro antes de publicar.
2026-11-09 — aprovada pelo usuário ("prossiga com o que falta"): P1 = textos da seção 5; P2 = página própria para a nota fiscal; S1 e S2 aceitas.
2026-11-09 — T1: PDF oficial do Ato Conjunto lido por inteiro. As datas valem como anotado acima. O ato não fala de rejeição nem de tolerância para nota sem os campos: isso saiu de todos os textos.
2026-11-09 — correção de fato: o incidente da Lovable de 2026 durou de 3 de fevereiro a 20 de abril (relato da própria empresa), e expôs histórico de conversa e código-fonte de projetos públicos. O relatório dizia "48 dias" e "código e dados"; foi corrigido.
2026-11-09 — T6: `/ia` tem cinco episódios, o prazo de comunicação de incidente (Resolução CD/ANPD 15/2024, arts. 6º e 9º) e o cartão do TST. A fonte da RedAccess é o Security Boulevard, lido por inteiro; o Axios bloqueia leitura automática e entra como segundo link.
2026-11-09 — a faixa da nota fiscal na home cita só a data do Simples Nacional (01/01/2027), que é a que falta chegar.
2026-11-09 — T2 a T5: as duas ofertas estão nos rótulos, no conteúdo, no formulário, no assunto do WhatsApp, nos dados estruturados, em `/servicos`, no mapa do site e em duas páginas novas. A home tem a faixa (`FiscalNotice`, função pura de data) e 4 cartões em 2×2. As páginas novas não têm esquema no topo (nenhum dos existentes servia) e ganharam o bloco `official` (regras ou datas com link), mostrado por `ServiceOfficial.tsx`.
2026-11-09 — CA5, revisão linha a linha: o texto dos subitens da LC 116 estava errado (1.09 é conteúdo de áudio e vídeo pela internet, não hospedagem; hospedagem está no 1.03). Corrigido em `lib/site-content.ts` depois de conferir a lista da LC 116/2003. As demais frases batem com o Ato Conjunto, a política do WhatsApp e as fontes de `/ia`. Um teste falha se a página fiscal ganhar "rejeição", "multa" ou "tolerância".
2026-11-09 — o rodapé passou a listar 8 serviços.
2026-11-09 — CP1: `biome check`, `pnpm typecheck`, `pnpm test` (152 suítes, 1631 testes) e `pnpm build` verdes. Na suíte e2e, 55 de 57 passaram de primeira; os dois de teclado falharam porque a home ganhou três paradas de Tab (o link da faixa, o botão e o link do cartão novo). O limite do caminho linear subiu de 37 para 40, com o inventário atualizado em `e2e/keyboard.spec.ts`, e os três testes de teclado passaram.
2026-11-09 — fechamento: CA1 passa (testes de oferta, formulário e serviços); CA2 passa (home vista em 1440×900 e 390×844, sem estouro); CA3 passa (`fiscal-notice.test.tsx`, datas antes e depois de 2027-03-31); CA4 passa (`app/ia`, 13 testes); CA5 passa depois da correção dos subitens; CA6 passa (biome, tipos, 152 suítes e 1631 testes, build, 57 testes e2e).