Real double-entry books
Every money event lands as a balanced double-entry posting. The invariant is enforced in one place — the core — so it can't drift between apps.
Adytum platform — the core
Live — runs inside ControllerLedger keeps real double-entry books for the whole Adytum platform. Products don't write those books — each posts its money events through a named RPC, so the double-entry invariant is enforced in one place. Posted entries are immutable, and the books grow by append-only discipline.
Four rules, enforced in one place — not re-implemented in every app.
Every money event lands as a balanced double-entry posting. The invariant is enforced in one place — the core — so it can't drift between apps.
Products post money events through named RPCs — post_sales_receipt, ops_bill_job, and the rest of the spine. Nothing writes the books directly.
Posted entries are immutable, and the books grow by append-only discipline.
Ledger runs inside Controller today — there is no separate sign-in. The core is already under the controller's office.
About Controller →Ledger isn't wired into the platform — it is the platform's center. Everything else is arranged around it.
On the platform diagram, every product's arrow ends at the ledger bar. Money events from five products settle into one set of books.
Each money event arrives through its named RPC — nothing writes the books directly.