infra/stacks/wealthfolio
Viktor Barzin 4f71ce6bc5 wealth: fix Fidelity Feb-2026 zero-gap + month-boundary contribution smear
Two correctness fixes to the wealth dashboard, found while validating
contribution data against actual-viktor (source of truth):

1. dav_corrected (Fix 1): LOCF gap-fill scoped to the Fidelity pension.
   A PlanViewer scrape gap left total_value=0 for 13 days from 2026-02-16,
   which cratered net worth and produced a phantom -£97,457 "contribution"
   in Feb then +£100,458 in Mar. Carry the last non-zero day forward across
   the gap (a £0 pension valuation is always a scrape gap, never real).

2. wealth.json (Fix 3): "Monthly contributions vs market gain" and "Annual
   change decomposition" now use consecutive period-end deltas instead of
   within-period first-to-last-obs, so contributions landing near a period
   boundary are no longer dropped/mis-attributed.

Verified live: Feb-2026 monthly contribution now +£34,000 (real Trading212
RSU-proceeds investment, reconciles with actual-viktor), no spurious
negatives. Brokerage contributions unchanged (already correct).

Applied via scripts/tg (wealthfolio + targeted monitoring ConfigMap).

[ci skip]

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 22:58:59 +00:00
..
.terraform.lock.hcl Woodpecker CI deploy [CI SKIP] 2026-05-26 22:53:29 +00:00
backend.tf state(dbaas): update encrypted state 2026-05-26 08:59:40 +00:00
main.tf wealth: fix Fidelity Feb-2026 zero-gap + month-boundary contribution smear 2026-05-28 22:58:59 +00:00
providers.tf state(dbaas): update encrypted state 2026-05-26 08:59:40 +00:00
secrets [ci skip] Move Terraform modules into stack directories 2026-02-22 14:38:14 +00:00
terragrunt.hcl wealth: SQLite→PG ETL sidecar + new Grafana dashboard 2026-04-25 17:07:33 +00:00