Brokerage data sync (Trading 212, Schwab, Fidelity, IMAP-CSV) → Wealthfolio. Image is published as viktor/wealthfolio-sync per the wealthfolio stack convention.
Find a file
Viktor Barzin 0ab069349f sinks/wealthfolio: treat duplicates as success in import-summary check
The IMAP cronjob re-processes the full mailbox window on every run, so
on steady-state runs all activities come back tagged duplicate=N. The
existing logic raises ImportValidationError whenever imported_n < total_n,
which makes the cron exit 1 (and the Job is reported FAILED) even though
the data path is healthy.

Treat (imported + duplicates) as "accounted for". Only raise when rows
go missing entirely (silently dropped / validation rejected).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 22:52:11 +00:00
.github/workflows CI: build image from phase-0-scaffold branch too (bootstrap) 2026-04-17 19:51:09 +00:00
.woodpecker [ci] deploy.yml: manual-only — push events don't set IMAGE_TAG 2026-05-07 23:25:28 +00:00
broker_sync sinks/wealthfolio: treat duplicates as success in import-summary check 2026-05-26 22:52:11 +00:00
docs docs: add IBKR provider runbook 2026-05-26 22:34:46 +00:00
tests ibkr: add Flex provider — Trade/Cash mapping + OpenPositions snapshot 2026-05-26 22:28:35 +00:00
.gitignore Initial scaffold + canonical Activity model 2026-04-17 19:16:11 +00:00
Dockerfile fidelity-planviewer: bake Chromium into the image for headless Playwright 2026-04-18 18:50:54 +00:00
poetry.lock deps: add ibflex with web extras for IBKR Flex Web Service ingestion 2026-05-26 22:21:54 +00:00
pyproject.toml deps: add ibflex with web extras for IBKR Flex Web Service ingestion 2026-05-26 22:21:54 +00:00