VIBE IN PUBLIC_

Teste de integração no vibe coding: o PATCH descarta o campo

O teste de integração chamou a função e passou. A rota PATCH descartou o campo. Em 7%, 10 ou 100 o slider de altura não sobe.

Thiago puxou o slider de altura da capa para 7%, depois para 10, depois para 100. O texto ficou onde estava. O teste de integração que o agente já tinha rodado estava verde. A função de gravar a posição existia. Os testes do agente a chamavam direto e passavam. A rota PATCH descartou o campo. O valor do slider nunca chegou no back.

No editor de capa do Autocut, 7%, 10 e 100 deixam o texto no mesmo lugar. O teste de integração já tinha passado chamando a função. A rota PATCH é o buraco.

O slider em 7%, 10 e 100 não sobe

No Autocut, no editor de capa, o controle de altura andava e o número na tela mudava, mas o texto da capa não subia. Ele descreveu o que via:

tanto faz, se tá em 7%, 10, 100, ele não move para cima.

Ele falou o sentido do slider:

a ideia é que quanto menor, mais para baixo fica, quanto maior, mais alto fica. Então, 100 seria lá no topo e zero seria lá embaixo.

Menor para baixo, maior para cima, 100 no topo, 0 embaixo. 7% deveria descer e 100 deveria ir ao topo. Ele testou 7%, 10 e 100 e o texto não saiu do lugar. Isso aparece também em vibe coding para refinar o briefing em vez de rerrolar o mesmo prompt.

O agente leu o front e o front parecia certo. Foi no job e o campo de vertical position não estava salvo. O front mandava o 7%. O job abria sem o campo. Foi o mesmo caminho de opencode vscode.

O teste de integração chamou a função e passou

O agente falou o que tinha feito nos testes anteriores:

Achei o bug. A lista custom case da rota pet não inclui vertical position. Então, quando o front end manda custom vertical position, o back end descarta silenciosamente. O slider nunca chega ao ranger. Meus testes anteriores chamavam a função diretamente, por isso funcionava.

O teste de integração chamava a função diretamente e passava. A rota PATCH tinha uma lista de campos aceitos e vertical position não estava nela. O front mandava vertical position. O back lia a lista, não reconhecia o campo e descartava. O slider nunca era gravado no job. Isso aparece também em identidade visual instagram.

O VERDE

Teste na função

Chama a função direto e passa

Rota PATCH

Descarta vertical position. O slider em 7% nunca chega no back

Na tela o slider passa pela rota PATCH. O dump ainda podia vir verde, porque o teste nem tinha passado por essa lista. Isso aparece também em self hosted.

No vibe coding, o verde da função não cobre a rota

Esse é o jeito do vibe coding quando o agente escreve a função e o teste na mesma sessão. O teste que o agente escolheu chama a função diretamente e deixa a rota PATCH, com a lista de campos, fora do caminho. Foi o mesmo caminho de documentacao tecnica. Vale ver como isso terminou em git reset.

Quando o agente diz que o teste passou, a pergunta é se o teste bateu na rota ou só na função. Se o teste só chamou a função, o campo ainda pode sumir no PATCH. Abra a lista da rota e procure vertical position. Isso aparece também em query params.

O agente já tinha dito que os testes anteriores chamavam a função diretamente. O próximo prompt pede o caminho que passa pela rota PATCH, não outro verde na função.

100 no topo, 0 na base, o back invertido

Depois do descarte, o eixo ainda estava invertido. O agente nomeou os 2 sentidos:

Você quer 100% igual a topo. 0% igual a base. O back end usa zero igual a topo e um igual a base.

Thiago quer 100 no topo e 0 embaixo. O back trata 0 como topo e 1 como base. O campo ainda podia sumir na lista. Se passasse, 7% ia para perto do topo e 100 ia para a base, o inverso do que o Thiago pediu.

7% no sentido do back fica perto de zero, e zero no back é topo. 100 no sentido do back é 1, e 1 é base. O texto que ele queria no alto iria para baixo se o campo atravessasse a rota com o sentido antigo.

O agente disse depois: "Confirmado. Texto move varia." Thiago perguntou "Será que já arrumou?" e mudou de assunto. A live não mostra o slider em 7% subindo depois do conserto.

Amanhã, no vibe coding de um slider que não mexe, abra a rota PATCH antes de abrir a função. Confira se o campo que o front manda está na lista. Se o teste de integração chama a função direto e passa, trate o verde como incompleto. Só depois olhe o eixo: 100 no topo e 0 na base, ou o inverso que o back já tinha.

Dá para assistir à live e ouvir o slider que não sobe e o agente dizendo que os testes chamavam a função diretamente.