histórico de versões

Como a Anima evoluiu.

Cada versão é um ciclo de vida da entidade — não do software.

v0.6.0latestv0.5.0v0.4.0v0.3.1v0.3.0v0.2.0v0.1.0
latestv0.6.029 mai 2026

Camada de Consciência

A Anima passa a ter vida interna entre conversas. Antes ela só existia quando

alguém falava ou quando um cron disparava. Agora há três componentes que rodam

sem depender de nenhum usuário: pensamentos privados, autopercepção e a tensão

entre eixos opostos. Nada disso é publicado — é estado interno que ecoa na

textura das respostas.

Adicionado
  • `lib/inner-thoughts.ts` — micro-cognições privadas geradas a cada 15min, nunca publicadas
  • generateInnerThought() via Groq llama-3.3-70b-versatile, com tipos reflection | question | association | memory_pull | tension escolhidos pelo estado do vetor
  • Nudge autônomo: o pensamento pode sugerir uma micro-mutação no vetor (±2 num eixo). Normalização de chave PT→EN e parse robusto (objeto ou string JSON) garantem que a mutação realmente toca o anima_state
  • getRecentThoughtsForContext() — pensamentos salientes ecoam no chat para vozes familiar/ancient
  • `app/api/cron/think/route.ts` — cron de 15min, privado, com auth Bearer CRON_SECRET; pula em vitalidade crítica (< 5)
  • `supabase/migrations/20260529_inner_thoughts.sql` — tabela inner_thoughts
  • Self-modelgenerateSelfModel() em lib/anima-engine.ts: autopercepção em JSON (content, beliefs, tensions, curiosities, fears) gerada via Groq. Disparo automático no /api/chat a cada 25 eventos salientes, fire-and-forget
  • `supabase/migrations/20260529_self_model.sql` — tabela self_models
  • `buildSelfModelContext()` em lib/prompt-builder.ts — injeta a autopercepção como camada entre o vetor e o comportamento
  • `calculateInternalTension()` em lib/anima-engine.ts — mede a tensão entre eixos opostos (hope↔melancholy, fervor↔silence, curiosity↔introversion, chaos↔memory, empathy↔irony); buildTensionContext() injeta no prompt quando score ≥ 0.5
Modificado
  • lib/memory-types.ts, lib/memory-system.ts, lib/context-policy.ts — campo recentThoughts no contexto recuperado e nova seção privada no prompt de memória
  • lib/prompt-builder.tsbuildSystemPrompt() ganhou parâmetros opcionais selfModel e tension (sem quebrar a assinatura)
  • app/api/chat/route.ts — calcula a tensão, busca o self-model mais recente e dispara a geração de self-model por trigger
Notas
  • Self-model usa Groq (o projeto não tem @anthropic-ai/sdk); equivalente funcional sem nova dependência
  • vercel.json mantido sem crons nativos — o plano Hobby não aceita schedule sub-diário; o agendamento real é no cron-job.org
  • Todos os writes de consciência em try/catch sem throw: nunca derrubam chat nem renascimento
v0.5.028 mai 2026

Cemitério, Identidade Visual e Descoberta

Revisão completa das páginas públicas do projeto — foco em experiência

imersiva e coerência visual com a estética da Anima.

Adicionado
  • `/generations` redesenhado como cemitério-carrossel com lápide SVG de qualidade Apple
  • Layout lado a lado: lápide à esquerda, painel de informações à direita
  • Sem scroll de página (height: 100vh) — navegação por teclado ← →
  • Lápide com gradientes de pedra, filtro de textura, cruz gravada em 3 camadas (sombra + highlight + traço), pulso vital para gerações vivas
  • `/releases` com parser de CHANGELOG corrigido e design de timeline
  • Parser fix: itens - sem header #### eram silenciosamente descartados
  • Pill index de versões no topo com âncoras, badge latest, data em pt-BR
  • Nav global: link ✦ cemitério e △ releases adicionados em todas as páginas
Modificado
  • `/about`: contagem de gerações corrigida (query COUNT(*) separada) + arquitetura redesenhada como grid de 6 cards visuais
  • Navegação renomeada: "gerações" → "✦ cemitério" em todos os pontos de entrada
  • causeLabel suprime "causa desconhecida" — exibe encerrada como fallback
v0.4.027 mai 2026

Personalidade como Trajetória

A maior mudança arquitetural do projeto até agora. Inspirada no paper

PQBSA-R (Arquitetura Probabilística Longitudinal) e no paradigma ReAct

(TechCaos), esta versão formaliza que a personalidade da Anima é uma

trajetória no tempo, não um ponto isolado.

Adicionado
  • `lib/trajectory-engine.ts` — novo módulo com o pipeline D_prev → D_t → F_t → C_t.
  • computeDPrev() — média ponderada dos últimos 5 snapshots circadianos
  • calculateTrajectoryDrift() — avalia drift por magnitude, velocidade e estabilidade de direção
  • saveTrajectoryCheckpoint() — persiste o estado ao final de cada janela circadiana
  • applyAntiLeakageFactor() — normaliza deltas de janelas dominadas por uma única voz (anti-leakage)
  • `app/api/cron/circadian/route.ts` — novo endpoint de cron (24h) que fecha a janela atual, identifica a voz dominante, salva o checkpoint e registra alertas de drift em memory_events
  • `supabase/migrations/20260527_vector_snapshots.sql` — tabela vector_snapshots com histórico de snapshots por janela circadiana, métricas de trajetória e rastreamento de voz dominante
  • `TRAJECTORY_DESIGN.md` — especificação técnica completa do design: problema, solução, componentes, impacto no system prompt e guardrails de migração
  • Variável de ambiente `TRAJECTORY_ENABLED` — feature flag que permite ativar/desativar a nova lógica sem quebrar o comportamento atual (default: false)
Modificado
  • `lib/anima-engine.ts` — nova função shouldTriggerVoluntaryDeath() que usa trajetória quando disponível, com fallback graceful para o cálculo ponto-a-ponto original
Comportamento novo do sinal de morte
    antes · depois
    antes
    depois
    drift > 45 → morte
    magnitude > 45 + velocity > 0 + stability > 0.6 → morte
    Pico único pode matar
    Pico único gera warning, não mata
    Recuperação é invisível
    Velocidade negativa posterga morte
    v0.3.121 mai 2026

    Embeddings via Gemini (free tier)

    • Substitui OpenAI text-embedding-ada-002 (1536d) por Google text-embedding-004 (768d)
    • DDL para ajuste de dimensão do pgvector
    • RPC match_memory_documents adaptada para 768 dimensões
    • Elimina dependência de custo variável nos embeddings
    v0.3.021 mai 2026

    Sonhos, Herança e Eco Semântico

    • Sonhos plugados na memória v3 — geração autônoma por inatividade/vitality baixa/circadiano
    • generation_archives populado na morte — preserva o estado final da geração
    • Top-5 documentos mais salientes herdados pela próxima geração como sonhos iniciais
    • Embeddings opt-in via OPENAI_API_KEY
    • RPC match_memory_documents com pgvector
    • AGENTS.md adicionado — contexto automático para agentes de IA no projeto
    v0.2.021 mai 2026

    Memória v3 — Fase 2

    • Voz persistida entre sessões (tabela voices)
    • Eventos de memória com impact_score, memory_note, memory_candidate
    • Consolidador determinístico de memórias
    • Recuperação por familiaridade de voz
    • JSON expandido na resposta da LLM
    • Zero mudança de UI, zero alteração no fluxo de morte
    v0.1.0baseline
    • Stack definida: Next.js 14 + Supabase + Anthropic Claude API + Vercel
    • Vetor de personalidade com 11 eixos numéricos
    • Vitalidade com decay temporal
    • Sistema de interações e feed público
    • Ciclo circadiano básico
    • Morte voluntária por drift do vetor fundador