Implement Categorizer protocol and RuleBasedCategorizer service that
matches transactions against pipe-separated patterns ordered by priority,
with support for tag overrides and household member attribution.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add the data layer for the spending analysis app including models for
household members, accounts, categories, transactions, categorization
rules, and CSV import mappings. All models use SQLAlchemy 2.0 mapped
columns with proper foreign key relationships. Includes db.py with
Base class, engine/session factories, and 6 passing tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>