Adds daily sync of Meta payroll deposits from ActualBudget into
payslip_ingest.external_meta_deposits, enabling the dashboard to overlay
bank deposits against payslip net_pay and surface parser drift on net.
- Migration 0007: new table external_meta_deposits, unique on
actualbudget_tx_id, indexed on deposit_date.
- payslip_ingest.sync.actualbudget: narrow client for the
jhonderson/actual-http-api sidecar (list accounts + transactions).
Filters on payee regex (META|FACEBOOK, word-boundary). Idempotent
upsert — ON CONFLICT DO NOTHING on actualbudget_tx_id. Surfaces
clear error if the transactions endpoint is missing so the operator
can switch to a SQLite-mount fallback.
- CLI command: `python -m payslip_ingest sync-meta-deposits` driven by
4 env vars (ACTUALBUDGET_HTTP_API_URL, API_KEY, ENCRYPTION_PASSWORD,
BUDGET_SYNC_ID).
- Tests: 5 — regex positive/negative, full sync insert, idempotency,
404-endpoint failure mode.
Part of: code-860