P3: rename accounts, one set of period defaults, tax categories warn or refuse (defects 15, 16, 8)
check / check (push) Canceled after 0s

books.rename_account; account names trimmed, bounded, refused when a
sibling's or TIN-shaped; books.show refuses what its target ignores. A
report asked for without dates covers this fiscal year so far, everywhere
(one rule for tools, descriptions and the viewer; the IIF and CPA package
keep their own dates). policy.require_tax_category warns or refuses; a
Form 4797 gain is shown apart on every return.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
This commit is contained in:
swaitsandClaude Opus 5.5 committed 2026-10-21 10:41:24 -06:00
1 parent 8255ac2103
commit 9ab003d0d1
69 files changed
+8063 -570

No files matched your search

+32 -6
View File
@@ -838,7 +838,12 @@ fn every_balance_sheet_role_holds_while_its_account_has_a_balance() {
held.push((c, cur));
}
for (i, (c, cur)) in held.iter().enumerate() {
let target = add(&mut l, &format!("{}", 9100 + i), "Target", c.account_type);
let target = add(
&mut l,
&format!("{}", 9100 + i),
&format!("Target {i}"),
c.account_type,
);
assert!(
matches!(
refuses(&mut l, c.key, Some(target)),
@@ -1078,16 +1083,37 @@ fn pool_books() -> (Ledger, Vec<AccountId>) {
.into_iter()
.enumerate()
{
ids.push(add(&mut l, &format!("{}", 8000 + 10 * i), "spare a", t));
ids.push(add(&mut l, &format!("{}", 8001 + 10 * i), "spare b", t));
ids.push(add(
&mut l,
&format!("{}", 8000 + 10 * i),
&format!("spare a {i}"),
t,
));
ids.push(add(
&mut l,
&format!("{}", 8001 + 10 * i),
&format!("spare b {i}"),
t,
));
ids.push(
l.add_account(&format!("{}", 8002 + 10 * i), "group", t, None, true)
.unwrap(),
l.add_account(
&format!("{}", 8002 + 10 * i),
&format!("group {i}"),
t,
None,
true,
)
.unwrap(),
);
}
while ids.len() < POOL {
let n = ids.len();
ids.push(add(&mut l, &format!("{}", 8500 + n), "extra", Expense));
ids.push(add(
&mut l,
&format!("{}", 8500 + n),
&format!("extra {n}"),
Expense,
));
}
assert_eq!(ids.len(), POOL);
(l, ids)