Every source that feeds viska.gg — how its data is pulled, where it lands in the
database, which panels consume it, and whether the stream is live, lagging, blocked, or dark.
A living page: it reads the database on every load and turns red on its own when a pipeline breaks.
SCHEMATIC — reference for the ViskaFront build · live state proven against the DB 2026-07-01 ·
DB contract: public.v_data_lineage_health
5 live
1 empty
3 dark
1 manual
0 blocked
0 stale
Zone A · The lineage flow — shareable hero
source → ingestion → DB relation → dashboard panels · one lane per stream · edge tint = status ·
the curated, legible view of the 369-node architecture graph (not the raw graph).
Interactive Brokers
the portfolio · broker
→13:30
n8n flex pull → flex-apply-svc
re-parses Flex XML authoritatively
→T+1
trading.nav_snapshots
+ positions_current · 29 holdings
→
live
Forsida KPIsIskNavTrendStodur
ran 2026-06-30· covers 2026-06-29
Mímir research
news & research feed
→
ingest watcher → feed_items
sentiment + ticker + theme tags
→
public.feed_items
15,939 rows
→
live
IntelResearchFeed
ran 2026-07-01· continuous
Broker research
conviction engine
→
scored → broker_theme_calls
theme conviction, corroboration
→
public.broker_theme_calls
212 rows
→
live
ConvictionThemu
ran 2026-07-01
Central Bank of Iceland
USD/ISK official rate
→
fx cron → fx_rates
daily rate capture
╳no flow
public.fx_rates
0 rows
→
empty
CurrencyToggleIskNavTrend
producer wired, not flowing — verify vs fund.fx_usd_isk_latest
every column from the read-contract · sortable · filter chips per status ("show only blocked / dark").
Stream
Source
Cadence
DB relation
Clocks
Rows
Panels
Status
ibkr_positions
Interactive Brokers
daily Mon-Sat
public.positions_current
06-30· 06-29
29
StodurForsida
live
ibkr_nav
Interactive Brokers
daily Mon-Sat
trading.nav_snapshots
06-30· 06-29
27
Forsida KPIsIskNavTrend
live
news_feed
Mímir research
continuous
public.feed_items
07-01
15,939
IntelResearchFeed
live
research_feed
Mímir research
daily
public.research_feed
07-01
188
Intel
live
conviction
Broker research
daily
public.broker_theme_calls
07-01
212
ConvictionThemu
live
fx_isk
Central Bank of Iceland
daily
public.fx_rates
—
0
CurrencyToggle
empty
isk_nav
Manual (fund ops)
manual
fund_isk_nav_history
05-29
15
IskNavTrend
manual
allocation
Interactive Brokers
daily
public.allocation_history
—
26
AllocationChart
dark
benchmark
Public rate sources
daily
public.benchmark_metrics
—
12
SummaryCards
dark
monthly_pnl
Interactive Brokers
monthly
public.monthly_pnl
—
9
MonthlyPnlChart
dark
Zone C · Legend
live
Pipeline fired within its cadence, rows present. Flowing normally.
stale
Has data, but the heartbeat is older than its expected lag. Investigate the producer.
blocked
Last run failed. The pipeline errored — highest-priority fix.
empty
Producer is wired but no rows yet. Not yet flowing (e.g. FX capture).
dark
Data is in the database, but no dashboard panel consumes it yet. A roadmap signal, not a failure.
manual
Operator-entered, no automated producer. Refreshed by hand (e.g. the ISK NAV headline).
How to read this page. Each stream carries two clocks. The heartbeat
is when the pipeline last ran; the data date is what day the data covers. For the broker
feed these differ by one settled day (T+1) on purpose — a heartbeat today delivering yesterday's
statement is healthy, not late. The status pill always reflects the heartbeat, so a normal T+1
lag never shows as a problem. If a number on the dashboard looks wrong, find its stream here:
the status says whether the data is current, and the chain says which step to check.
DB read-contract — the FE reads status, never re-derives it:
select * from public.v_data_lineage_health · columns
stream_key, source_system, ingestion, target_relation, panels[], cadence, row_count,
last_run, data_as_of, heartbeat_status, status · granted to authenticated ·
migration 20260701-01-v-data-lineage-health.sql.
Icelandic hard gate + dashboard-content rule: page chrome (title, nav, column
headers) may be localized; all status meanings, tooltips and "how to read" prose stay English.