Voltar

UI pura na era dos agentes: tornar o estado explícito evita botões que não deveriam aparecer

Aprofundamento CEVIU

Aprofundamento

O texto de Matt Rothenberg parte da ideia de Guillermo Rauch (Pure UI): a interface deve ser, sempre que possível, "uma função pura do estado da aplicação", ou ui = fn(state). A fonte não descreve nenhum projeto chamado expect.element, e o contexto técnico não traz repositório nem autor para ele. Por isso, aqui o foco é o argumento do artigo, não uma ferramenta específica.

O problema: em apps React grandes, o estado que define a tela chega espalhado. O papel (role) vem de uma query, o plano de um contexto, o status de cobrança de um layout que renderiza um banner condicional. No exemplo, um agente adiciona um botão Delete em cada linha da tabela de funções. O dev local estava autenticado como owner, então o agente validou só esse caso. Com o papel viewer, o cabeçalho mostra o selo "View only", mas a tabela continua exibindo o botão, pois nunca houve checagem de papel ali. A solução proposta é mover o estado relevante para a exibição para uma fronteira explícita de página ou view e passá-lo como argumentos aos componentes. No demo, quatro entradas com dois valores cada (role, plan, billing status e a flag de beta de live logs) geram dezesseis telas numa grade. Storybook e Playwright entram como complementos, mas alguém ainda precisa decidir quais combinações importam.

O que mudou

O CEVIU já vinha tratando o tema. Em 15 de outubro de 2026, noticiou "UI como Função Pura do Estado: Essencial na Era dos Agentes de IA". Em 21 de outubro de 2026, veio "UI Pura em Tempos de IA Agente: O Novo Desafio do Desenvolvimento Front-end". Em 23 de outubro de 2026, saiu "UI pura na era dos agentes: estado explícito para inspecionar telas antes do merge", sobre inspecionar combinações de roles, planos, cobrança e feature flags antes do merge. A cobertura de hoje aprofunda o caso concreto do botão Delete visível para quem tem papel viewer e a grade de dezesseis estados.

Por que isso importa

Para quem revisa código gerado por agentes, a leitura é que "feito" não diz quantos estados foram checados. Tornar o estado explícito dá uma lista de entradas que pode virar story ou teste, e olhar uma grade pode ser mais rápido do que ler um diff. Não pega tudo, mas reduz o risco de o cliente achar o problema primeiro.

Linha do tempo

  1. CEVIU noticia UI como função pura do estado na era dos agentes de IA.

  2. CEVIU publica sobre UI pura em tempos de IA agente no front-end.

  3. CEVIU aborda estado explícito para inspecionar telas antes do merge.

  4. Cobertura do caso do botão Delete para viewer e da grade de dezesseis estados.

Perguntas frequentes

O que significa UI como função pura do estado?

Significa que a tela é resultado direto de dados de entrada, ui = fn(state). Dado o mesmo estado, a saída é a mesma. Em vez de pensar em handlers que alteram o DOM, você pensa em um retrato dos dados num momento.

Por que o agente deixou o botão Delete aparecer para o viewer?

O prompt pedia só a alteração no componente da tabela, e ali nunca existiu checagem de papel. O servidor local estava autenticado como owner, e o agente validou só essa conta. O cabeçalho sabia do papel, a tabela não.

Como a grade de estados ajuda na revisão?

Ela renderiza todas as combinações de entrada de uma vez. No demo são dezesseis telas, vindas de role, plan, billing status e a flag de live logs. Comparar cabeçalho e tabela nas telas viewer expõe o erro.

Isso substitui Storybook e Playwright?

Não. O Storybook oferece um lugar para renderizar estados escolhidos, e o Playwright confirma que eles são alcançáveis no app real. Ainda é preciso decidir quais combinações de papel, cobrança, flags e dados importam.

Fontes

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
26 de outubro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser