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 cb159e17d9 fidelity: push per-fund manual snapshot instead of gains-offset DEPOSIT
PlanViewer's DisplayValuation.action JSON already gives us current
fund units + unit price; we were parsing it and throwing it away,
emitting only a single 'unrealised-gains-offset' DEPOSIT to make
Wealthfolio's totals match the dashboard. That hack double-counted
the gain as a cash contribution, hiding £35k of pension growth from
every contribution/growth/ROI panel.

New flow:
- FidelityPlanViewerProvider exposes last_holdings + last_total_contribution
  after fetch() drains.
- fidelity-ingest CLI converts to a ManualSnapshotPayload (cost basis
  allocated proportionally by current fund value share) and posts to
  WF /api/v1/snapshots/import. WF auto-creates unknown fund symbols
  with kind=INVESTMENT, quoteMode=MANUAL, quoteCcy=GBP.
- The gains-offset emission is removed entirely. Historical offset
  rows already in WF are corrected at the dashboard layer by the
  dav_corrected view shipped in infra@2841347e.

WealthfolioSink gains push_manual_snapshots() + ManualSnapshotPayload /
SnapshotPosition wire types. 11 sink tests (3 new) + 9 fidelity
provider tests (2 changed, 1 new) all green; mypy + ruff clean.
2026-05-16 13:56:25 +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 fidelity: push per-fund manual snapshot instead of gains-offset DEPOSIT 2026-05-16 13:56:25 +00:00
docs/providers fidelity-planviewer: scaffold provider + CLI (seed + stub ingest) 2026-04-18 14:09:04 +00:00
tests fidelity: push per-fund manual snapshot instead of gains-offset DEPOSIT 2026-05-16 13:56:25 +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 fidelity-planviewer: scaffold provider + CLI (seed + stub ingest) 2026-04-18 14:09:04 +00:00
pyproject.toml fidelity-planviewer: scaffold provider + CLI (seed + stub ingest) 2026-04-18 14:09:04 +00:00