broker-sync/broker_sync
Viktor Barzin 74b2179c83 sinks: read summary.imported as truth for partial-persist detection
The /import response returns activities=[input echo with errors annotated]
— its length equals input size regardless of actual persistence. The
summary{total,imported,skipped,duplicates} block is the authoritative
signal. When imported<total, raise with errorMessage + skipped + duplicates
counts.
2026-04-17 22:30:24 +00:00
..
providers Add imap-ingest CLI + ImapProvider: route emails to IE/Schwab parsers 2026-04-17 22:12:05 +00:00
sinks sinks: read summary.imported as truth for partial-persist detection 2026-04-17 22:30:24 +00:00
__init__.py Initial scaffold + canonical Activity model 2026-04-17 19:16:11 +00:00
cli.py Add imap-ingest CLI + ImapProvider: route emails to IE/Schwab parsers 2026-04-17 22:12:05 +00:00
dedup.py Add SyncRecordStore for authoritative dedup 2026-04-17 19:17:12 +00:00
fx.py Add FxCache and convert_to_gbp core 2026-04-17 19:18:41 +00:00
fx_ecb.py Add ECB FX fetcher + cache population 2026-04-17 19:32:23 +00:00
models.py Add SyncRecordStore for authoritative dedup 2026-04-17 19:17:12 +00:00
normaliser.py Add Provider protocol and normaliser 2026-04-17 19:20:12 +00:00
pipeline.py Add imap-ingest CLI + ImapProvider: route emails to IE/Schwab parsers 2026-04-17 22:12:05 +00:00