Amend spec: automatic wallet ingestion via email receipts

Jake wants no manual CSV exports. Wallets (Cash App/Venmo/PayPal) are
now fed by parsed transaction-receipt emails as the primary path, with
browser-automation statement fetch as reconciliation backstop and the
CSV drop folder demoted to break-glass fallback. Finance inbox decided:
finance@ordinatorlabs.com (IONOS IMAP; jbnel.dev has no MX). IMAP
connector promoted from Phase 5 into Phase 2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uv7wnzF6Xv6fmaRjFTiMMq
This commit is contained in:
2026-08-24 00:34:21 -05:00
co-authored by Claude Fable 5
parent 9adec1028c
commit 0e1097bdff
@@ -23,7 +23,9 @@ These were settled in the design conversation and bind all phases:
| Decision | Choice |
|---|---|
| Primary bank feed | SimpleFIN Bridge (read-only, ~$1.50/mo) |
| Coverage strategy | Connector layer: SimpleFIN plus per-institution connectors (CSV drop folder, email parsing, browser automation) until NFCU, TFCU, Cash App, Venmo, and PayPal are all covered. Verify real coverage per institution early; assume nothing. |
| Coverage strategy | Connector layer: SimpleFIN plus per-institution connectors until NFCU, TFCU, Cash App, Venmo, and PayPal are all covered. Verify real coverage per institution early; assume nothing. |
| Wallet feeds (Cash App, Venmo, PayPal) | *(Amended 2026-08-24 — Jake wants automation, no manual CSV.)* Primary: per-transaction email receipts parsed from the finance inbox (near-real-time; these apps support no aggregators). Backstop: browser automation fetches monthly statements/CSVs for reconciliation. Manual CSV drop folder is break-glass fallback only. PayPal may later upgrade to its Transaction Search API via business account. |
| Finance inbox | `finance@ordinatorlabs.com` — dedicated IONOS mailbox (ordinatorlabs.com already has IONOS MX; jbnel.dev has no mail hosting). Agent polls IONOS IMAP. Optional later: forward `finance@jbnel.dev` into it. |
| Bill-pay autonomy | Prep + approval. The agent tracks, verifies funding, and asks. Money never moves without an explicit approval from Jake. |
| Runtime | Hybrid. One Python worker container does deterministic work on schedules; scheduled Claude sessions do judgment work (analysis, forecast narrative, anomaly triage). |
| Notification channels | Telegram bot (interactive: alerts, approvals), ntfy (urgent push), email (digests, receipts). Routed by message class. |
@@ -130,15 +132,17 @@ may not start until the prior phase runs in production.
scheduler with a heartbeat job, `agentdb` migrations, compose service,
deployed to the host.
2. **Ingestion** — SimpleFIN → Firefly sync with dedup; verified coverage for
NFCU and TFCU; CSV drop-folder connector with mappers for Venmo, Cash App,
and PayPal exports.
NFCU and TFCU; IMAP receipt connector (promoted from Phase 5) parsing
Cash App/Venmo/PayPal transaction emails from the finance inbox; CSV
drop-folder connector kept as break-glass fallback.
3. **Alerts & monitoring** — notifier with all three sinks; rules engine:
low balance, large/unusual transaction, sync failure, negative trend.
4. **Analysis & forecasting** — scheduled Claude sessions: weekly spending
review, budget tracking, recurring-transaction detection, 30/60/90-day
cashflow forecast, monthly digest.
5. **Documents** finance inbox via IMAP, PDF extraction and filing, document
index, cloud sync target chosen and wired.
5. **Documents** — PDF extraction and filing from the finance inbox (IMAP
plumbing already live from Phase 2), browser-automation statement
downloads, document index, cloud sync target chosen and wired.
6. **Bills** — bill calendar, funding checks, Telegram approve/deny flow,
browser automation for approved payments and statement downloads.
7. **Later** — business Firefly instance when a venture opens; k8s migration