---
title: "Stability Index Changelog"
canonical: "https://pharos.watch/methodology/stability-index-changelog/"
description: "Stability Index Changelog - Pharos methodology version history."
---

# Stability Index Changelog

## v3.6 - Core-market aggregate universe

**Effective:** 2026-07-15

PSI now measures the core stablecoin market without counting parent-linked variants or investment products as independent monetary supply.

- The live and historical PSI universes include active core stablecoins, active cash equivalents, and PSI-only shadow assets
- Tracked variants remain readable on their detail and browse surfaces but no longer contribute market cap, trend, depeg severity, breadth, or DEWS stress breadth to PSI
- Stable-value investment products remain tracked for research while staying outside the ecosystem monetary aggregate

## v3.5 - Exact DEWS generation dependency

**Effective:** 2026-06-19

PSI now reads the exact DEWS generation advertised by the published-generation pointer instead of selecting latest rows at or before that timestamp.

- Retained stale DEWS rows for assets absent from the current published generation no longer fail PSI freshness
- Stress breadth is computed from a single coherent DEWS generation rather than a mix of current rows and older retained latest rows
- The no-pointer fallback remains bounded by the recent scan window and the existing staleness gate

## v3.4 - Fail-closed DEWS freshness dependency

**Effective:** 2026-06-06

PSI now requires a non-empty, fresh latest DEWS row set before publishing a new sample, preventing stale or wiped stress signals from being treated as zero stress breadth.

- The 30-minute cron skips PSI sample publication when latest DEWS rows are absent, missing computed_at, or older than two compute-dews intervals
- DEWS stress breadth is now computed from warning-band rows only after dependency freshness is proven across the latest DEWS row set
- Public PSI remains anchored to the last valid stored sample instead of publishing a healthier fresh score from stale or absent early-warning inputs

## v3.3 - Active-only PSI universe

**Effective:** 2026-05-14

PSI eligibility now resolves to active tracked stablecoins plus PSI-only shadow assets, excluding pre-launch and frozen tracked rows from live PSI denominators and repair scopes.

- Pre-launch tracked assets no longer enter the PSI-eligible registry before launch
- Frozen tracked archives remain available on readable public detail surfaces but are excluded from live PSI computation
- PSI-only shadow assets remain included for historical continuity and admin replay repairs

## v3.2 - Fail-closed depeg input availability

**Effective:** 2026-03-23

PSI no longer publishes a fresh sample when the active-depeg input query is unavailable, preventing false continuity from an incomplete core dependency.

- The 30-minute cron now returns degraded and skips the sample when `depeg_events` cannot be queried
- Only already-open depegs missing a current stablecoins price may use the replay-safe `price_cache` fallback; table-level depeg input loss is no longer treated as an empty event set
- Public PSI remains anchored to the last valid stored sample instead of silently publishing from partial core inputs

## v3.1 - Open-depeg replay-price fallback

**Effective:** 2026-03-23

Active depegs now stay in PSI when the current stablecoins snapshot temporarily loses a usable price but a recent replay-safe price-cache entry still exists.

- Severity and breadth now fall back to the last replay-safe positive `price_cache` value for already-open depegs when the current stablecoins snapshot price is missing
- Replay fallback is capped to recent cache entries (6-hour TTL) rather than unbounded historical prices
- Prevents transient contributor/sample omissions during price-validation churn without changing the PSI formula, caps, or bands

## v3.0 - DEWS stress breadth component

**Effective:** 2026-03-01

Added DEWS-derived stress breadth as an explicit PSI component to capture broad non-depeg stress.

- Formula changed to: 100 - severity - breadth - stressBreadth + trend
- New stressBreadth cap of 5 points
- Cron now reads latest DEWS bands (ALERT/WARNING/DANGER) to derive stress breadth

Commits: `dcdefde`

## v2.1 - Trend hardening and retention safety

**Effective:** 2026-02-27

Hardened trend input handling and operationalized rolling retention for PSI samples.

- NaN/Infinity trend values now treated as 0 before clamp
- No formula change, but edge-case score corruption prevented
- Sample retention/pruning standardized to 90 days

Commits: `76aa8c6`, `74aa1cd`

## v2.0 - Removed freezes, rebalanced caps

**Effective:** 2026-02-26

Major methodology revision removing freezes and reallocating penalty capacity.

- Removed freezes component from formula
- Severity cap increased 60 -> 68
- Breadth cap increased 15 -> 17
- Formula became: 100 - severity - breadth + trend

Commits: `bc2cfcf`

## v1.3 - Sample architecture and 24h average model

**Effective:** 2026-02-26

PSI moved to sample-first storage with daily snapshots and 24h average surfaced as the primary displayed signal.

- Introduced stability_index_samples table and daily snapshot aggregation
- API and UI switched to emphasize 24h average PSI
- Historical backfill path adjusted for peak-deviation realism

Commits: `9508e29`, `ad75f4f`

## v1.2 - 15-minute chained compute + depeg depreciation/dedup

**Effective:** 2026-02-25

Operational and methodological upgrade to live 15-minute PSI with chronic-depeg depreciation and per-coin deduplication.

- PSI compute moved to chained 15-minute cron after stablecoin sync
- Introduced chronic-depeg depreciation (grace 30d, decay 120d, floor 25%)
- Active depegs deduped per coin (worst current bps, earliest start for age)

Commits: `8acaa7d`, `a79049d`, `2dfb975`, `615256a`

## v1.1 - Current deviation semantics

**Effective:** 2026-02-25

Severity began using live current deviation rather than event peak deviation for active depegs.

- Live severity became recovery-sensitive instead of peak-anchored
- Backfill behavior later diverged and was subsequently tuned

Commits: `14c75e7`

## v1.0 - Initial PSI release

**Effective:** 2026-02-25

Launched PSI compute, API, cron persistence, and frontend integration.

- Initial formula: 100 - severity - breadth - freezes + trend
- Initial caps: severity 60, breadth 15, freezes 10
- Condition bands introduced

Commits: `c4c7caa`, `c21a6bd`, `5eaf440`, `6b3e7e5`, `a3f2b53`
