Notas curtas de cada release. Mais recente no topo.
Quando você reconta a mesma história com detalhes diferentes, o app detecta e te enlaça as versões. Você confirma se é a mesma ou as deixa separadas.
A memória é reconstrutiva. A mesma pessoa conta a mesma história três vezes ao longo do tempo e a cada vez lembra algo diferente — um detalhe novo, uma versão mais cuidada, uma contradição consigo mesma. O que se perdia até agora era o rastro de como a memória foi mudando — o app sobrescrevia, ou guardava duas anedotas separadas sem reconhecer que era o mesmo evento.
Quando você salva uma anedota nova, uma passagem de similaridade roda em background (token-bag cosine — sem chamada à IA, ~50ms) contra as últimas 100 anedotas que você escreveu. Se encontra alguma parecida acima do threshold, deixa um link candidato em uma tabela nova (anecdote_links).
Mais tarde, quando volta à anedota, você vê uma seção discreta no rodapé do detalhe:
§ Outras versões desta memória
"As bolachas dos sábados" — 2026-08-12 · 67%
Com dois botões inline: Mesma história ✓ ou São diferentes ✗. A UI espelha a que já temos para validação de themes em entrevistas — confirm/dismiss otimista, link à outra anedota, fade-out ao descartar.
Não precisamos de uma tabela anecdote_versions, nem de um fluxo "salvar como nova versão", nem de um seletor explícito. Você reconta a história (porque lembrou diferente), o app enlaça com a versão antiga, e você confirma. A cronologia emerge de graça dos created_at de cada uma.
Honestidade sobre o escopo:
Um endpoint POST assíncrono disparado fire-and-forget depois de salvar (mesmo padrão do dispatch de AI rate que já existe). Sem cron novo, sem tabela pesada, zero chamadas extras a LLM. A detecção é praticamente grátis em infra; o valor está em dar ao usuário o espaço de reconhecer sua própria memória como um objeto que muda com o tempo.
Paramos de inventar a data de cada anedota. Agora cada uma aparece na linha do tempo com a precisão que você realmente lembra.
Até agora, se uma anedota não tinha data explícita, a linha do tempo a colocava no dia em que você a escreveu, não no dia em que aconteceu. Marcávamos como "inferida" em cinza, mas o ponto continuava sendo uma mentirinha: uma história da sua adolescência caía no mês em que você subiu na app.
Uma história escrita ontem não aconteceu ontem. A data de criação é metadado do sistema, não da memória.
Cada anedota agora é salva com um destes quatro níveis, escolhido a partir do que o usuário disse:
happened_date exato. "14 de março de 1996."No mapa de calor cada nível tem seu tratamento visual: datas exatas são células mensais, anos aprox. são colunas tênues com um ≈ em cima, e épocas são faixas com hachuras diagonais sobre os anos que cobrem. As "sem data" não aparecem no grid — um contador discreto no rodapé mostra quantas são.
O chat editorial (/anecdotes/new) e a entrevista (/biography/interview) já entendem expressões em português/espanhol rioplatense e tiram o nível correto sem perguntar:
Regra de ouro do prompt: preferimos honestidade a precisão inventada. Na dúvida entre "exato" e "aprox.", escolhe aprox.
/anecdotes/[id]/edit agora tem um seletor de precisão ao lado do texto: Dia / Ano / Época / Não sei. Se a extração do chat se enganou, você corrige sem ter que explicar de novo ao modelo.
As funções SQL compute_user_score e evaluate_achievements (conquista five_years) agora leem anecdotes.happened_date como fonte canônica, com fallback para a coluna de origem herdada e para o ano de época quando cabe. As anedotas que você marcou com uma data real não são mais contadas pelo dia em que as escreveu.
Para anedotas antigas cujo único sinal temporal era created_at (agora precisão = "Sem data" após a migração), existe um script one-shot em scripts/backfill-anecdote-dates.mjs que passa pelo LLM e popula os campos quando o texto dá pistas claras. Suporta --dry-run, filtro por --user, e é idempotente.
Círculos fechados nomeados (Família / Trabalho / A turma) + cartas ao futuro com entrega programada.
Você pode criar grupos pequenos de amigos com nome — "Família", "Amigos do bairro", "A turma" — em /dashboard/circulos. Adiciona membros um por um (precisam ser amigos aceitos primeiro). Quando compartilha uma anedota, o diálogo de share agora tem uma seção "Círculos" acima da lista de amigos: marca os círculos que quer e só seus membros podem ler.
A promessa da rede social lenta se torna verificável: "Você decide o que sai, para quem, e quando."
Nova rota /cartas. Você escreve agora uma carta para alguém — sua filha aos 18, sua parceira no próximo aniversário, você mesmo em 10 anos — e escolhe quando entregar:
2035-12-25.Um cron diário acorda as cartas quando chega a data. Se o destinatário tem conta no Anecdotario, a carta se materializa como um baú no /keepsakes dele. Se não tem conta, você recebe uma notificação que diz "sua carta para X está pronta" e a manda manualmente do editor de baús pré-preenchido (auto-envio para externos espera Resend).
Enquanto lacrada você pode cancelar. Uma vez entregue passa pro baú e vive lá.
O que ainda não tem: self-letter (a versão "para você mesmo em 10 anos") e o caminho post-mortem (depende da herança digital). O formulário menciona ambos explicitamente como "em construção" onde aplica — preferimos honestidade a marketing.
Memorialização, leitura silenciosa, datas difíceis e tom por anedota — para que o app saiba quando ficar em silêncio.
Um app que guarda anos da sua vida tem uma responsabilidade rara: aprender quando ficar em silêncio.
Quando você marca a data de falecimento de alguém, deixamos de mencioná-la em sugestões automáticas — sem mais lembretes de aniversário, sem mais "esta semana há cinco anos…", sem mais perguntas alegres. A pessoa continua nas suas anedotas; você pode escrever sobre ela quando quiser.
Somamos um modo de leitura silenciosa — uma tela limpa para reler as anedotas de alguém, uma de cada vez, sem métricas nem ornamentos.
Para datas que você quer reservar além de uma pessoa específica — um diagnóstico, um aniversário difícil — pode marcá-las como datas difíceis (com um lembrete opt-in) ou como dias em silêncio (o app não envia nada automatizado).
E cada anedota pode carregar um tom — alegre, difícil, misto — para que as sugestões saibam quando ficar em silêncio.
Uma leva de melhorias menores: pergunta curada toda segunda, aviso de aniversários com 7 dias de antecedência, Whisper que entende rioplatense, e excluir sua conta sem chatbots.
Uma leva de melhorias menores:
/dashboard/profile, clica, e tudo é removido (anedotas, fotos, áudios, perfil). Sem chatbots de retenção, sem trâmites.Mapa de calor de todas as suas anedotas ao longo dos anos, mini-entrevista ao subir foto que detecta EXIF e sugere pessoas.
Nova rota /timeline com sua vida inteira numa tela. Mapa de calor estilo broadsheet editorial: meses no eixo vertical, anos no horizontal. Cada célula mensal brilha mais quando há mais anedotas naquele mês. Clique numa célula para abrir a anedota destacada.
Sem bibliotecas de viz pesadas — só SVG + matemática.
Quando você sobe uma foto, o chat editorial que já existia agora lê EXIF (data e coords GPS) e sugere pessoas do seu grafo (top 12 por menções, excluindo memorializadas). O LLM recebe isso como contexto e abre com perguntas concretas:
"Isso foi em 2018? Vejo que você menciona muito sua mãe, seu irmão e a Sole — algum deles está nessa foto?"
Em vez de:
"Quem aparece na foto?"
A promessa do showroom ("como uma mini-entrevista, não como um formulário") agora é real, não só aspiracional.
Quando você passa o mouse sobre a linha entre duas pessoas no grafo (/people/graph), aparece um tooltip com os títulos das anedotas em que aparecem juntas. A linha deixa de ser só um peso numérico — é a lista concreta das histórias compartilhadas.
Quando você cancela sua assinatura, sua conta entra em modo museu: você lê e exporta tudo o que é seu, suas composições continuam ali. Sem perder nada.
Os apps que dependem do seu corpus têm um problema feio: quando você deixa de pagar, te bloqueiam o acesso ao que você escreveu. Isso converte o corpus numa jaula.
O Anecdotario funciona diferente. Se você deixar de pagar (porque não pode esse mês, porque se entediou, porque quer voltar mais adiante), sua conta entra em modo museu:
.md, .pdf, .epub. Seu material, em suas mãos, sem cadeados.O que você não pode no modo museu: criar novo (anedotas, baús, composições). Mas o que já escreveu é seu, para sempre, mesmo se nunca mais nos pagar.
Essa é a promessa: sua vida não se aluga.