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.
101 lines
11 KiB
Markdown
101 lines
11 KiB
Markdown
# 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).
|