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 0d23487608
Some checks failed
ci/woodpecker/push/build Pipeline was successful
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
CI / deploy (push) Has been cancelled
imap: skip InvestEngine by default; opt back in via INCLUDE env
Post-mortem 2026-05-27: 39 IMAP-source IE BUYs + their cash-flow
DEPOSITs were re-inserted into Wealthfolio at 09:22:18 UTC, exactly
the rows the £252k dedup removed the previous day. The cron's
BROKER_SYNC_IMAP_EXCLUDE_PROVIDERS=invest-engine env var did its job
(cron logged ie_skipped=53), but some other entry point — kubectl run,
poetry run on the devvm, or a sibling agent session — ran the IMAP
ingest WITHOUT that env. The opt-out was a foot-gun.

This change makes the IE-via-IMAP safety STRUCTURAL: `invest-engine`
is in the default exclude set inside _resolve_excluded_providers().
Any code path now skips IE unless the caller explicitly sets
`BROKER_SYNC_IMAP_INCLUDE_PROVIDERS=invest-engine`. The
`BROKER_SYNC_IMAP_EXCLUDE_PROVIDERS` env still works (additive) for
forward-compat in case Schwab etc. ever need similar treatment.

INCLUDE wins over both the default exclude set and EXCLUDE env.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 17:24:54 +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 imap: skip InvestEngine by default; opt back in via INCLUDE env 2026-05-27 17:24:54 +00:00
docs docs(ibkr): use Last 365 Days (no 'Last 90 Days' preset in IBKR UI) 2026-05-27 09:28:42 +00:00
tests imap: skip InvestEngine by default; opt back in via INCLUDE env 2026-05-27 17:24:54 +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