Post-0.16.0 Hardening
LatestLock down the new external remittance RPC to service_role only, fix an accessibility regression on suggestion pills, and tighten the gitignore so ad-hoc working files can't leak into a commit.
- SecurityRevoke EXECUTE on the create_external_remittance function from the anon and authenticated roles. The Next.js route already invokes it via the service_role admin client, so the app keeps working — but a logged-in user can no longer hit /rest/v1/rpc/create_external_remittance directly with a guessed family_id and fabricate remittance rows for another family. Flagged by the database linter and patched in migration 20260506130000.
- FixSuggestion pills (asset names, banks per country, transaction descriptions) had a role='listitem' on a button with aria-pressed — invalid on listitem and confusing to screen readers. Parent now uses role='group' and the buttons keep native button semantics, so they announce as actionable controls.
- ChoreTighter .gitignore — ad-hoc screenshots, PDFs, PPTX, and zips at the repo root are now ignored, alongside .playwright-mcp, supabase/.temp, and supabase/.branches. Working-tree cruft can no longer be staged accidentally.