The final month takes what the months before leave, spread over its days; a disposed asset stops on its disposal day. A skipped month is caught up in the month the run is made; a reversed run un-posts its month. New schedules spread by day; equal-months schedules must start on the 1st. Amounts round to the currency's own minor unit. Kani and Lean proofs; an exhaustive search over runs, reversals and disposals. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
35 lines
1022 B
TOML
35 lines
1022 B
TOML
[package]
|
|
name = "ledger-core"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Canonical double-entry bookkeeping semantics: the engine everything else is built on."
|
|
|
|
[dependencies]
|
|
rust_decimal = { version = "1", features = ["serde"] }
|
|
thiserror = "2"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
# company.timezone: IANA names, with the zone database built in so every
|
|
# computer reads a name the same way.
|
|
jiff = { version = "0.2.35", default-features = false, features = ["std", "tz-system", "tzdb-bundle-always"] }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.8.2"
|
|
proptest = "1"
|
|
# bookspec examples are TOML (tests/bookspec.rs), run on the engine's own
|
|
# store (a dev-dependency only: the store depends on this crate), each in
|
|
# a directory of its own.
|
|
toml = "1"
|
|
ledger-store = { path = "../ledger-store" }
|
|
tempfile = "3"
|
|
|
|
[[bench]]
|
|
name = "books"
|
|
harness = false
|