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
85 lines
2.6 KiB
TOML
85 lines
2.6 KiB
TOML
# P3 defect 13, named regression 3
|
|
# (an_asset_bought_before_it_is_in_service_is_on_the_register_from_acquisition).
|
|
id = "assets-acquired-before-in-service"
|
|
title = "An asset is on the register from acquisition and depreciates from its in-service date"
|
|
rule = "Depreciation starts on the day the asset is placed in service; the asset is on the register (and the books carry its cost) from the day the company acquired it, the date of the entry that put it on the books."
|
|
status = "CHOICE"
|
|
sources = [
|
|
"ASC 360-10-35-4 (cost allocated over the periods the asset serves)",
|
|
"IRS Pub. 946 (2025), Placed in Service: 'ready and available for a specific use' (for tax depreciation, the CPA's)",
|
|
"wanderbooks docs/spec/rules.md B-15, B-24",
|
|
"DECISION (owner, 2026-10-20; wanderbooks plan/served.md P3, \"Settled in design\"): an asset's acquired date comes from the entry it is linked to (rules.md B-15 rule 7)",
|
|
]
|
|
tags = ["fixed-assets", "dates"]
|
|
|
|
[setup]
|
|
currency = "USD"
|
|
fiscal_year_start = "01-01"
|
|
basis = "accrual"
|
|
rounding = "half-away-from-zero"
|
|
|
|
[[setup.accounts]]
|
|
code = "1000"
|
|
name = "Bank"
|
|
type = "asset"
|
|
|
|
[[setup.accounts]]
|
|
code = "1500"
|
|
name = "Equipment"
|
|
type = "asset"
|
|
|
|
[[setup.accounts]]
|
|
code = "1510"
|
|
name = "Accumulated Depreciation"
|
|
type = "asset"
|
|
|
|
[[setup.accounts]]
|
|
code = "6200"
|
|
name = "Depreciation Expense"
|
|
type = "expense"
|
|
|
|
# A kiln bought 2026-03-10 for 3,000.00, placed in service 2026-04-01, 36
|
|
# months, no salvage.
|
|
[[setup.assets]]
|
|
id = "kiln"
|
|
description = "Kiln"
|
|
cost = "3000.00"
|
|
salvage = "0.00"
|
|
life_months = 36
|
|
in_service = "2026-04-01"
|
|
method = "straight_line"
|
|
cost_account = "1500"
|
|
accumulated_account = "1510"
|
|
expense_account = "6200"
|
|
acquired_by = 1
|
|
|
|
[[events]]
|
|
date = "2026-03-10"
|
|
description = "Kiln bought"
|
|
lines = [
|
|
{ account = "1500", side = "debit", amount = "3000.00" },
|
|
{ account = "1000", side = "credit", amount = "3000.00" },
|
|
]
|
|
|
|
# Hand check: on the register from Mar 10 (its entry's date), nothing
|
|
# accrued before Apr 1 (a March charge from the purchase date would have
|
|
# been 3,000.00 / 36 x 22/31 = 59.14: none is due), and the register
|
|
# carries the cost the books do.
|
|
[[expect]]
|
|
query = "register_row"
|
|
asset = "kiln"
|
|
as_of = "2026-03-31"
|
|
values = { acquired = "2026-03-10", in_service = "2026-04-01", accumulated_scheduled = "0.00", accumulated_posted = "0.00", book_value = "3000.00" }
|
|
|
|
[[expect]]
|
|
query = "register_totals"
|
|
as_of = "2026-03-31"
|
|
values = { total_cost = "3000.00", unregistered_cost = "0.00" }
|
|
|
|
# April: 3,000.00 / 36 = 83.333... -> 83.33.
|
|
[[expect]]
|
|
query = "depreciation_schedule"
|
|
asset = "kiln"
|
|
as_of = "2026-04-30"
|
|
values = { "2026-03" = "0.00", "2026-04" = "83.33" }
|