Event sourcing meta-framework for Rails
Where history matters as much as the present. Deep conceptual compression over complex architectural patterns. Built for the "one person framework" philosophy.
Three Core Concepts
Events
Immutable facts of what happened. Historical records that never change, built on ActiveModel with validations.
Streams
Logical grouping of related events. The primary interface that orchestrates changes and ensures consistency.
Projections
Transform events into readable state. Virtual for validation, persistent for fast reads.
Why Funes?
- Complete audit trail of all state changes
- Temporal queries — "what was the balance on December 1st?"
- Multiple read models derived from the same events
- Safe refactoring by rebuilding projections from event log
- Progressive adoption with existing ActiveRecord models