Riddy21 / Riddy21/Friday_Budgeting_Pro

[P5] Add 'savings' as valid item_type in line_items

Open
#281 1 comment 0 reactions 1 assignee View on GitHub

@Riddy21 is already working on this.

Since May 31, 2026.

task
Dominant language
Python
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Summary

Add savings as a valid item_type in the line_items table. Currently only income and expense are accepted.

Requirements

  1. Update the line_items.item_type column in db/schema.sql to document savings as a valid value (remove or update inline comment)
  2. Update migrate_db() in server/db.py to handle existing DBs — no schema ALTER needed since there's no CHECK constraint, but ensure seeds include savings items
  3. Seed a 'Investments & Savings' line item (item_type='savings') in the Personal ledger default seeds in server/db.py init_db()
  4. Update add_line_item MCP tool to accept 'savings' as valid item_type (currently validates income | expense only — update that validation)
  5. Update any validation in ui/server.py that restricts item_type
  6. Update ARCHITECTURE.md line_items section to note savings as a valid type
  7. Add tests in tests/ covering the new item_type

Why

Foundation for savings tracking. Issues #235, #248, and #237 all depend on this.

Acceptance criteria

  • add_line_item accepts item_type='savings' without error
  • Default Personal ledger seeds include an 'Investments & Savings' savings line item
  • All existing tests pass

Depends on

Nothing — this is the foundation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.