check / check (push) Canceled after 0s
Split kernel::entry_flows into entry_movements and flows_of so the reversal-mirror proof fits CI; prove runs the fast harnesses, prove-slow the 8 slow ones (own job in scheduled CI), prove-all both. Laws in verification.md renumbered 1-31 with a table of all 55 harnesses. MCP docs checked against the 115 tools (about 60 fixes) with a test that every tool is documented; rules.md cross-references fixed; bookspec statuses and loader tightened; viewer notes wrap and accounts sort by code; STATUS.md says P3 is built, cutover pending. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
134 lines
3.7 KiB
TOML
134 lines
3.7 KiB
TOML
id = "members-close.odd-cent-across-closes"
|
||
title = "An odd cent split cumulatively across closes, a close to retained earnings between"
|
||
rule = "Each close to the members MUST give each member their largest-remainder split of everything closed to the same members and shares so far, to the minor unit, less what earlier closes gave them; a close to retained earnings allocates nothing to the members and MUST NOT restart the count."
|
||
status = "CHOICE"
|
||
sources = [
|
||
"26 U.S.C. §704(a)",
|
||
"Treas. Reg. §1.704-1(b)(2)(iv)(b)",
|
||
"DECISION (owner, 2026-10-13: largest remainder; D-10, 2026-10-16: counted from the first close) (wanderbooks rules.md B-13)",
|
||
]
|
||
tags = ["partnership", "close", "rounding", "book", "us"]
|
||
|
||
# The regression this example comes from (wanderbooks P3 defect 17, audit
|
||
# F52, anonymized): a net loss of 287.53 at 50/50, closed in January and
|
||
# again in March, with February closed to retained earnings. Restarting the
|
||
# count at March gave A the tied cent twice (A −287.54, B −287.52).
|
||
#
|
||
# By hand, from the rule:
|
||
# January: −287.53 × 0.5 = −143.765 each; rounded toward zero, −143.76
|
||
# each, one cent short; the remainders tie (0.005), so the cent goes to
|
||
# the member listed first: A −143.77, B −143.76.
|
||
# February: 10.00 to retained earnings; the members' count skips it.
|
||
# March: the count's running total is −575.06, −287.53 each exactly;
|
||
# less January's −143.77 / −143.76, March gives A −143.76, B −143.77.
|
||
# Each member ends at −287.53, their exact share.
|
||
|
||
[setup]
|
||
currency = "USD"
|
||
fiscal_year_start = "01-01"
|
||
basis = "accrual"
|
||
rounding = "largest-remainder" # odd cents to the largest remainders, ties
|
||
# to the member listed first, cumulatively
|
||
|
||
[[setup.accounts]]
|
||
code = "1000"
|
||
name = "Cash"
|
||
type = "asset"
|
||
|
||
[[setup.accounts]]
|
||
code = "3000"
|
||
name = "Capital, A"
|
||
type = "equity"
|
||
|
||
[[setup.accounts]]
|
||
code = "3001"
|
||
name = "Capital, B"
|
||
type = "equity"
|
||
|
||
[[setup.accounts]]
|
||
code = "3999"
|
||
name = "Retained earnings"
|
||
type = "equity"
|
||
|
||
[[setup.accounts]]
|
||
code = "6000"
|
||
name = "Fees"
|
||
type = "expense"
|
||
|
||
[[setup.members]]
|
||
name = "A"
|
||
capital_account = "3000"
|
||
share = "0.5"
|
||
|
||
[[setup.members]]
|
||
name = "B"
|
||
capital_account = "3001"
|
||
share = "0.5"
|
||
|
||
[[events]] # event 1
|
||
date = "2026-01-15"
|
||
description = "January's fees"
|
||
lines = [
|
||
{ account = "6000", side = "debit", amount = "287.53" },
|
||
{ account = "1000", side = "credit", amount = "287.53" },
|
||
]
|
||
|
||
[[events]] # event 2: the closing entry
|
||
date = "2026-01-31"
|
||
description = "Close January to the members"
|
||
close = { start = "2026-01-01", to = "members" }
|
||
|
||
[[events]] # event 3
|
||
date = "2026-02-15"
|
||
description = "February's fees"
|
||
lines = [
|
||
{ account = "6000", side = "debit", amount = "10.00" },
|
||
{ account = "1000", side = "credit", amount = "10.00" },
|
||
]
|
||
|
||
[[events]] # event 4
|
||
date = "2026-02-28"
|
||
description = "Close February to retained earnings"
|
||
close = { start = "2026-02-01", to = "retained_earnings" }
|
||
|
||
[[events]] # event 5
|
||
date = "2026-03-15"
|
||
description = "March's fees"
|
||
lines = [
|
||
{ account = "6000", side = "debit", amount = "287.53" },
|
||
{ account = "1000", side = "credit", amount = "287.53" },
|
||
]
|
||
|
||
[[events]] # event 6
|
||
date = "2026-03-31"
|
||
description = "Close March to the members"
|
||
close = { start = "2026-03-01", to = "members" }
|
||
|
||
[[expect]]
|
||
query = "entry"
|
||
entry = 2
|
||
|
||
[expect.values]
|
||
"6000.credit" = "287.53"
|
||
"3000.debit" = "143.77"
|
||
"3001.debit" = "143.76"
|
||
|
||
[[expect]]
|
||
query = "entry"
|
||
entry = 6
|
||
|
||
[expect.values]
|
||
"6000.credit" = "287.53"
|
||
"3000.debit" = "143.76"
|
||
"3001.debit" = "143.77"
|
||
|
||
[[expect]]
|
||
query = "balances"
|
||
as_of = "2026-03-31"
|
||
|
||
[expect.values]
|
||
"3000" = "-287.53"
|
||
"3001" = "-287.53"
|
||
"3999" = "-10.00"
|
||
"1000" = "-585.06"
|