Skip to content

Add bill annotations, spending warning thresholds, transaction tags, … - #1579

Merged
harystyleseze merged 5 commits into
harystyleseze:mainfrom
Mikey-222:feature/annotations-thresholds-tags-household
Oct 19, 2026
Merged

harystyleseze merged 5 commits into
harystyleseze:mainfrom
Mikey-222:feature/annotations-thresholds-tags-household

Conversation

@Mikey-222

Copy link
Copy Markdown
Contributor

Closes #

What changed

How to test

Checklist

  • CI passes (typecheck, lint, tests)
  • No sensitive data files (data/spending.json, data/orders.json) committed
  • PR linked to an issue
  • CHANGELOG.md updated if user-facing change (or N/A for docs-only / internal refactor with no behavior change — see CONTRIBUTING.md:Development Workflow)

…household overview

Feature 1 — Bill line-item annotations:
- Add sanitizeAnnotation() to shared/sanitize.ts (more permissive than
  sanitizeUserString, allows punctuation for medical notes, 280 char cap)
- Add annotation field to BillLineItemSchema in dashboard types
- Add inline note input on each line item in bill-line-items-virtualized.tsx
- Annotated items visually distinguished with sky-50 border and 'Note' badge
- Annotations included in dispute letter text and HTML generation
- generateDisputeLetter agent tool accepts annotation on line items

Feature 2 — Spending policy warning thresholds:
- Add warningThresholdPct field to SpendingPolicy in shared/types.ts
  and SpendingPolicySchema in agent/tools.ts (1-99, default 80)
- checkSpendingPolicy fires a notification when projected spend crosses
  the threshold percentage of the category budget; transaction still proceeds
- Warning logged as 'policy.budget_warning' audit event, distinct from
  hard block events
- Policy tab UI: numeric input with hint explaining soft vs hard block
- Validation in schemas.ts ensures integer 1-99
- Default 80% applied when caregiver doesn't set one

Feature 3 — Transaction tagging & search:
- Add per-transaction tags with add/remove UI in activity-tab.tsx
- Tags sanitized via sanitizeUserString before storage
- Search box filters by description, tag, or amount
- Tag filter chips to quickly narrow the list
- Preset tag suggestions (reimbursable, urgent care, review, disputed, personal)
- CSV export includes tags column (pipe-delimited)

Feature 4 — Household overview page:
- New 'household' tab in DASHBOARD_TABS with HouseholdTab component
- Lists all recipients linked to the caregiver as clickable cards
- Each card shows pending approvals count and adherence status
- Sorted by urgency (pending approvals first, then name)
- Single-recipient case shows info message with no UX change
- Clicking a card calls onSelectRecipient to switch
@drips-wave

drips-wave Bot commented Oct 17, 2026

Copy link
Copy Markdown

@Mikey-222 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Oct 17, 2026

Copy link
Copy Markdown

@Mikey-222 is attempting to deploy a commit to the Harrison Eze's projects Team on Vercel.

A member of the Team first needs to authorize it.

@harystyleseze
harystyleseze merged commit 4102389 into harystyleseze:main Oct 19, 2026
4 of 12 checks passed
rhemy-arc pushed a commit to rhemy-arc/careguard that referenced this pull request Oct 21, 2026
rhemy-arc pushed a commit to rhemy-arc/careguard that referenced this pull request Nov 5, 2026
rhemy-arc pushed a commit to rhemy-arc/careguard that referenced this pull request Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants