All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
kuatia-dashboard: a server-rendered dashboard and REST API for observing a
Kuatia ledger over HTTP. Browse accounts, postings, transfers, and the event
log; inspect per-account balances computed in Rust.001_init.sql.Initial release.
sum(consumed) ==
sum(created)).pay, deposit, withdraw) resolved into concrete
postings by the core, committed through a single reserve → finalize saga
with automatic retry and LIFO compensation.NoOverdraft, CappedOverdraft, UncappedOverdraft,
SystemAccount, ExternalAccount, with append-only versioned accounts and
snapshot pinning to guard against TOCTOU races.Ledger::recover() (roll-forward, not rollback).Store trait split into focused sub-traits, with an in-memory
backend and a SQLite/PostgreSQL backend (kuatia-storage-sql).store_tests!) applied to every storage backend.i64 IDs generated in Rust; the database never assigns IDs.i64 default, i128 via the
i128 feature).kuatia-money — monetary Cent type with swappable integer backing.kuatia-types — domain types: accounts, postings, transfers, books.kuatia-core — pure, sans-IO logic: validation, hashing, posting selection.kuatia-storage — storage abstraction and conformance suite.kuatia-storage-sql — SQLite/PostgreSQL backend.kuatia — async Ledger resource and saga commit pipeline.