hsa-app/config.json
Jean-Michel Tremblay 8b7252dad4 Initial commit: HSA receipt tracker
Go app for capturing and archiving HSA-eligible receipts: OIDC/PKCE auth
against Authelia, SQLite storage with dual-write (filesystem + DB blob),
mobile-first upload, and DB export.

Adds AI receipt classification: a config.json catalog of people and
categories (seeded into the DB on startup), a prompt builder that derives
name-order/initial variants from the data (with same-surname ambiguity
handling), and an Anthropic tool-use client behind POST /classify. Tests
run against a mock endpoint; a live integration test is env-gated to the
cheapest model.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 21:40:12 -04:00

31 lines
1 KiB
JSON

{
"persons": [
{ "last": "Tremblay", "first": "Jean-Michel", "middle": "" },
{ "last": "Nguyen", "first": "Lynna", "middle": "" },
{ "last": "Tremblay", "first": "Jude", "middle": "" },
{ "last": "Tremblay", "first": "Alex", "middle": "" },
{ "last": "Tremblay", "first": "Evan", "middle": "" }
],
"categories": [
{
"name": "Medical",
"examples": ["doctor", "clinic", "hospital", "urgent care", "lab work", "copay", "physician"]
},
{
"name": "Dental",
"examples": ["dentist", "orthodontist", "cleaning", "filling", "crown", "braces"]
},
{
"name": "Vision",
"examples": ["optometrist", "eye exam", "glasses", "contact lenses", "frames"]
},
{
"name": "Pharmacy",
"examples": ["CVS", "Walgreens", "Rite Aid", "Rockville Pharmacy", "prescription", "Rx", "pharmacy copay"]
},
{
"name": "Other",
"examples": ["anything HSA-eligible that does not fit the buckets above"]
}
]
}