Skip to content

MOD-171 — Risk Intelligence Dashboard

Purpose

Executive Risk Appetite Framework dashboard. Cross-domain read-only view spanning capital (MOD-033), liquidity (MOD-032), IRRBB (MOD-035), customer-risk concentration (MOD-039), FTP (MOD-086), and cost attribution (MOD-098). bank-wiki #35 Action E.

Architecture

Streamlit-in-Snowflake only — no DCM project, no dbt models, no Lambdas, no tables. The module owns a new RISK_INTELLIGENCE schema that hosts only the Streamlit + its source stage; the Streamlit reads cross-domain published views via standard SELECT (cross-schema grants issued by each source module's infra/snowflake/streamlits/*.sql or dcm/sources/definitions/grants.sql to RISK_INTELLIGENCE_ROLE).

Snowflake objects owned by MOD-171

Object Type Schema Notes
RISK_INTELLIGENCE SCHEMA Authoritative; CREATE SCHEMA IF NOT EXISTS in legacy infra/snowflake/schemas/.
MOD_171_STREAMLIT_STAGE STAGE RISK_INTELLIGENCE Streamlit source stage.
STREAMLIT_RISK_DASHBOARD STREAMLIT RISK_INTELLIGENCE Executive RAF dashboard.

SSM outputs

Path Value
/bank/{env}/risk-platform/risk-intelligence/streamlit-url RISK_INTELLIGENCE.STREAMLIT_RISK_DASHBOARD

Dependencies

Module Surface
MOD-032 RISK_CAPITAL.V_LCR_CURRENT, V_NSFR_CURRENT
MOD-033 RISK_CAPITAL.V_CAPITAL_CURRENT, V_CAPITAL_BY_PORTFOLIO
MOD-035 RISK_CAPITAL.V_IRRBB_CURRENT
MOD-039 RISK_CUSTOMER.V_RISK_SCORES_CURRENT
MOD-086 FTP.V_FTP_CURRENT
MOD-098 METERING.V_COST_BY_DOMAIN
MOD-102 RISK_INTELLIGENCE_ROLE (outbound issue #37 pending)

Bootstrap-resilient: each Streamlit section guards its query with try_query so missing upstream views don't break the dashboard.

Policies satisfied

Policy Mode How
Read-only contract LOG The dashboard's Python source contains NO INSERT/UPDATE/DELETE/TRUNCATE on any Snowflake object (verified by tests/policy/streamlit-read-only.test.ts).