01 / Produto web · Educação clínica
Diagnostique
Um jogo diário de raciocínio clínico em português. Pistas progressivas, até seis tentativas e um arquivo de casos anteriores.

Decisão 01
Revelar uma pista também é uma decisão de API.
A interface em React e TypeScript acompanha as tentativas. O backend em Fastify decide quais informações a sessão pode receber a cada passo.
A resposta inicial traz as pistas liberadas e o total de pistas. A resposta correta e a explicação ficam fora desse estado.
O que o teste verifica
O teste de serialização compara as pistas retornadas com o recorte liberado e verifica a ausência da resposta, da explicação e de uma pista futura. É uma evidência de contrato no código; não uma métrica de uso.

Decisão 02
O histórico mantém sua referência.
No SQLite, definições de conteúdo têm revisões. Uma publicação referencia uma dessas revisões, preservando o contexto em que uma sessão começou.
Os testes de conteúdo verificam que uma edição cria uma nova revisão sem substituir a definição histórica e que publicações anteriores mantêm sua referência.
A relação preservada
Os testes cobrem tanto a definição histórica quanto o vínculo entre publicação e revisão. A captura do arquivo dá contexto ao histórico; a prova dessa consistência está na implementação e nos testes.
Trade-off. Preservar revisões mantém a consistência, mas exige distinguir definição, revisão e publicação. Atualizar o conteúdo deixa de ser uma simples substituição do registro anterior.
Abrir o Diagnostique · Abre em outra abaCódigo privado
Casos fictícios, com finalidade educativa.