Commit Graph

5 Commits

Author SHA1 Message Date
Marco Gallegos
519a5ad705 feat: Implement deterministic expense matching using configurable providers and keywords, integrating it into the processing pipeline. 2025-12-18 12:25:48 -06:00
google-labs-jules[bot]
b1f9f8da69 feat: Complete Phase 2 with explicit expense states
This commit finalizes Phase 2 by introducing an `ExpenseStatus` enum to formally define the lifecycle of an expense.

- Adds an `ExpenseStatus` enum in `src/data_models.py` with states like `RECEIVED`, `AWAITING_CONFIRMATION`, and `CONFIRMED`.
- Updates the `ProvisionalExpense` and `FinalExpense` models to use the new enum for their `status` fields, improving type safety and clarity.
- Marks all of Phase 2 as complete in `tasks.md`.
2025-12-16 16:04:37 +00:00
google-labs-jules[bot]
2bd49e8802 feat: Implement input handler and data models
This commit introduces the initial implementation of the input handler and Pydantic data models.

- Adds `src/modules/input_handler.py` with text normalization and stubs for other input types.
- Adds `src/data_models.py` with `RawInput`, `ExtractedExpense`, `ProvisionalExpense`, and `FinalExpense` models.
- Integrates the new modules into the `/process-expense` endpoint in `src/main.py`.
- Updates `tasks.md` to reflect the completion of these tasks.
2025-12-16 01:32:38 +00:00
google-labs-jules[bot]
6fdf363bfa docs: Update tasks.md to a to-do list
Updates the tasks.md file to a checklist format to track progress.
- Marks Phase 1 setup tasks as complete.
- Adds a note clarifying that n8n will be used for webhook handling instead of a direct Telegram integration in the app.
2025-12-16 01:26:50 +00:00
Marco Gallegos
3dea7a3334 Create tasks.md 2025-12-15 17:43:49 -06:00