ADR-0002 — streamlit and plotly versions are hard-pinned
Status: accepted Date: 2026-05-31
Context
The CSS design system uses internal Streamlit CSS selectors (tabs, pills, inputs, toggle…)
that change between Streamlit versions. A minor Streamlit upgrade can silently break
the entire visual design without any Python error.
plotly is pinned because it must match what is available in the Snowflake package catalog.
Decision
streamlit==1.52.2 and plotly==5.24.1 are hard-pinned in pyproject.toml.
Upgrading requires a full visual validation pass on all design system components
before moving the pin.
Consequences
Predictable visual output across all SiS apps built with the kit. Upgrade path is explicit and requires intentional effort — no accidental regressions from transitive upgrades.