Users record rent/subscriptions/salary by hand every month. Design goal: never auto-insert silently — this codebase's rule is that automated writes go through the approval gate.
Proposed design
- A
recurring table (description, wallet, amount, day-of-month, kind: spend/fund/income)
- When one is due, the Telegram bot proposes it and the user replies YES/NO (see how
maybeSendMonthlyReport schedules in server/src/telegram.js, and how the approval flow works in handleMessage)
- Web UI equivalent: a pending-proposals card
Where to look: server/src/telegram.js, server/src/routes.js, CLAUDE.md (the derived-ledger rules)
Please discuss the design in this issue before building.
Users record rent/subscriptions/salary by hand every month. Design goal: never auto-insert silently — this codebase's rule is that automated writes go through the approval gate.
Proposed design
recurringtable (description, wallet, amount, day-of-month, kind: spend/fund/income)maybeSendMonthlyReportschedules inserver/src/telegram.js, and how the approval flow works inhandleMessage)Where to look:
server/src/telegram.js,server/src/routes.js,CLAUDE.md(the derived-ledger rules)Please discuss the design in this issue before building.