5 Commits

Author SHA1 Message Date
db06108d2b feat: complete v1 implementation - all services, UI views, and tests
Adds remaining files from parallel development:
- Services: analysis, csv_reader, forecasting, normalizer, recurring
- UI: recurring_view, settings_view, sidebar, themes (dark/light)
- Tests: analysis, csv_reader, forecasting, import_categorize,
  normalizer, recurring, integration
- App entry point (main.py) and CLAUDE.md

52 tests passing across all modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:57:46 -05:00
f538cad6ae feat: cross-account transfer detection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:56:53 -05:00
1e12e563a7 feat: add ImportService for CSV import with duplicate detection
Orchestrates CSV reading, description normalization, and transaction
storage. Uses count-based duplicate detection so legitimate repeated
transactions (same date/amount/description) in a single file are all
imported, while re-importing the same file correctly identifies every
row as a duplicate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:44:58 -05:00
b7746ece4f feat: add rule-based categorization engine with protocol interface
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>
2026-02-10 14:44:16 -05:00
eb4bfda1db feat: project setup with dependencies
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:24:13 -05:00