siddharthd
  • Joined on 2026-02-14
siddharthd pushed to main at siddharthd/finance-app 2026-08-22 12:35:12 +10:00
258fe3b617 intake: the needs-header card names what is missing and gives the right advice for it
siddharthd pushed to main at siddharthd/finance-app 2026-08-22 11:46:13 +10:00
0823244e4a intake: the word "Image" is not a receipt, and the prompt must not be data
siddharthd pushed to main at siddharthd/finance-app 2026-08-21 19:22:14 +10:00
d88ca2a24c intake: a duplicate card that refuses a purchase must say what to do instead
91586ce4a4 test(intake): the second review pass, and CLAUDE.md for the rules it set
4b09d4136f intake: lock the purchase, not the batch, and hold on both write paths
4f0f0dd285 intake: escape the currency and the button label too
b788b4e8fa line-items: snapshot before writing, and stop reporting writes that did not happen
Compare 18 commits »
siddharthd pushed to feat/intake-router at siddharthd/finance-app 2026-08-21 18:27:55 +10:00
d88ca2a24c intake: a duplicate card that refuses a purchase must say what to do instead
siddharthd pushed to feat/intake-router at siddharthd/finance-app 2026-08-21 18:23:59 +10:00
91586ce4a4 test(intake): the second review pass, and CLAUDE.md for the rules it set
4b09d4136f intake: lock the purchase, not the batch, and hold on both write paths
4f0f0dd285 intake: escape the currency and the button label too
b788b4e8fa line-items: snapshot before writing, and stop reporting writes that did not happen
b5569b8ccc schema: previous_line_items on the model; say what the finish_reason rule is
Compare 6 commits »
siddharthd pushed to feat/intake-router at siddharthd/finance-app 2026-08-21 17:53:14 +10:00
631e75e58f test(intake): cover the review findings, and CLAUDE.md for the rules they set
c25db5211b intake: a NULL platform is "no platform", and Create re-checks before it inserts
9a442b7355 intake: escape mrkdwn, and stop printing every total as dollars
f9638cc5e5 line-items: one metadata row, agreed on by the write and the read
7424d13858 intake: only a reply that finished is a reply the schema constrained
Compare 6 commits »
siddharthd pushed to feat/intake-router at siddharthd/finance-app 2026-08-21 12:10:09 +10:00
a4e5f540cc docs: intake router routes, env vars, migration 0034
32a47bf8ee test(intake): rules, PDF text, C2 idempotency, enrich-vs-candidates, pantry hand-off, Slack taps
c7ea516c34 slack: dispatch the four intake taps on action_id (plan §11 C5)
db5c9a02a7 intake: POST /api/intake router + PUT /api/transactions/[id]/line-items (plan §11 C1, C2)
a538376638 db(0034): intake_batches + intake_merchant_kinds for the intake router
Compare 5 commits »
siddharthd pushed to feat/intake-router at siddharthd/finance-app 2026-08-21 12:04:13 +10:00
057595f4ac wip(intake): router, enrich endpoint, Slack handlers, migration 0034 — UNTESTED checkpoint
siddharthd created branch feat/intake-router in siddharthd/finance-app 2026-08-21 12:04:13 +10:00
siddharthd pushed to main at siddharthd/finance-app 2026-08-21 00:57:29 +10:00
b958d05287 test(db): resolve the integration DSN at run time instead of storing an IP (#161)
eaf5d5ac66 test(analytics): guard the three unguarded Priority 0 behaviours (#155)
fc9ffaba25 chore(ci): clear the lint debt and make lint blocking (#79)
Compare 3 commits »
siddharthd pushed to main at siddharthd/finance-app 2026-08-17 18:15:03 +10:00
9f1be74330 transactions: let a gift card be a payment method you can pick
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 19:11:53 +10:00
4f307e9517 docs: what importing a BNPL account changes, and the Zip data decisions
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 17:03:17 +10:00
2cfaf8e8c8 statements: derive account identity, fix the new-bank alert (0033)
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 16:52:17 +10:00
c3b623052d statements: keep one bank's national entities apart (migration 0032)
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 16:45:06 +10:00
0bb4329249 statements: one institution, one bank name (migration 0031)
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 16:17:40 +10:00
95d8544752 transactions: change who paid, on a row and on a statement
siddharthd pushed to main at siddharthd/finance-app 2026-08-15 15:37:36 +10:00
6c14b493ef analytics: your share of what someone else paid is your spend
siddharthd pushed to main at siddharthd/finance-app 2026-08-13 15:09:18 +10:00
22c2349a47 docs: one CSV import path, and the statement-coverage rule that replaced the Frollo importer
siddharthd pushed to main at siddharthd/finance-app 2026-08-13 15:08:53 +10:00
3edcc27781 csv import: map a currency column, or foreign rows land as AUD
siddharthd pushed to main at siddharthd/finance-app 2026-08-13 12:58:08 +10:00
461c021e7a csv import: exclude what the statements already cover, and delete the Frollo importer