Skip to content

Latest commit

 

History

History
45 lines (37 loc) · 2.33 KB

File metadata and controls

45 lines (37 loc) · 2.33 KB

Budget Buddy Demo Quick Reference

Commands

.\setup_demo.ps1
.\.venv\Scripts\Activate.ps1
python main.py
pytest
pytest --cov=. --cov-report=term-missing

Baseline

  • App should run successfully.
  • Starter tests should pass.
  • Coverage should be around 30%.
  • The demo objective is 90%+ coverage after Copilot assistance.

High-Value Demo Targets (by GH-300 module)

Module Capability File Prompt
1 Run the app main.py python main.py to prove it works.
2 Explain codebase Workspace Explain this app and identify the core flow.
2 Inline Chat / security prompt file_handler.py Review file handling for path traversal risks.
3 Refactor performance data_processor.py Refactor inefficient transaction processing while preserving behavior.
3 DevOps snippets Dockerfile, .github/workflows/ci.yml Finish the Dockerfile and CI workflow to run pytest.
4 Generate tests tests Use the generate-tests prompt and raise coverage toward 90%.
4 Fix bugs calculator.py Find edge cases in BudgetCalculator and fix them with tests.
5 Agent mode Multiple files Add CSV export with tests, docs, and changelog updates.
5 AGENT.md / Skills AGENT.md, .github/skills Show the agent operating manual and a SKILL.md playbook.
5 PR summary Git diff Summarize this diff as a pull request description.

Intentional Issues

  • BudgetCalculator.average_expense() fails on empty expense lists.
  • BudgetCalculator.category_percentage() divides by zero when total expenses are zero.
  • BudgetCalculator.savings_rate() divides by zero when income is zero.
  • TransactionProcessor.group_expenses_by_category() uses inefficient nested loops.
  • TransactionProcessor.find_duplicate_transactions() uses O(n^2) duplicate detection.
  • TransactionProcessor.validate_transaction() accepts negative amounts and unknown types.
  • BudgetFileHandler.read_transactions_json() does not block path traversal.
  • CSV parsing lacks clear errors for malformed rows.
  • TODOs are present for forecasting, budget alerts, CSV export, safe path resolution, sorting, merchant summaries, and spending alerts.