All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0] - 2025-12-23

Added

  • Core API - new/1, new!/1, update/2, update!/2, validate/1 for character lifecycle
  • LLM Integration - to_context/2, to_system_prompt/2 for direct ReqLLM integration
  • Evolution - evolve/2, evolve!/2 for simulating character aging and memory decay
  • Pipe-friendly helpers for building characters incrementally:
    • add_knowledge/2,3 - Add knowledge items with optional category/importance
    • add_instruction/2 - Add behavioral instructions
    • add_memory/2,3 - Add memory entries with capacity enforcement
    • add_trait/2,3 - Add personality traits with optional intensity
    • add_value/2 - Add personality values
    • add_quirk/2 - Add personality quirks
    • add_expression/2 - Add voice expressions
    • add_fact/2 - Add identity facts
  • use Jido.Character macro for module-based character definitions with:
    • Default attributes
    • Extension configuration
    • Adapter/renderer configuration
    • All generated functions are defoverridable
  • Zoi-based validation schemas with typed sub-modules:
  • Pluggable Renderer behaviour with dispatcher for custom prompt formats
  • Persistence behaviour with Memory adapter using ETS
  • Memory decay model - Importance decreases over time based on decay rate
  • Memory capacity enforcement - Oldest entries dropped when over limit
  • Comprehensive type specifications for Dialyzer compatibility