check / check (push) Canceled after 0s
year_earnings counted every closing entry dated this year against this year's income, but a close takes all unclosed income through its end, earlier years included. A partnership closing January after an unclosed December printed "Net income (loss)" -969 for a year earning +730, and the closed December as "Undistributed earnings, prior years". The unclosed part is now the income after the last close, from no earlier than the fiscal year's start (closes are cumulative). Unit tests: the 25 MiB upload limit, YYYY-MM periods, config_mentions for every setting naming a code, report members, year earnings before and after a close, and which entries may lose their last receipt. tests/startup.rs: --help, the default data dir under HOME, settings read from beside the books, and a held lock refused after the wait instead of waited on forever. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GWVo7x3UHw5kwCUaWxiejX