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

# Stability Index Changelog

[All versions](https://pharos.watch/methodology/stability-index-changelog/)

<a id="changelog-v-3-67"></a>

## v3.67 - Canonical historical repair and unavailable-input retention

**Effective:** 2026-10-10

PSI v3.67 can change repaired historical scores by using one canonical replay path, paired supply identities and the post-audit eligible event universe. Missing required trend or DEWS history preserves accepted days rather than fabricating flat growth or zero stress; formula weights and condition bands are unchanged.

- Audit-triggered repairs and bounded backfills share daily prices, native-domain evidence, DEWS archives and persisted input provenance. Event exclusion or restoration recomputes PSI from the post-audit eligible universe in the same atomic transaction.
- Historical seven-day trend compares only paired admitted supply identities, independently of the current market-cap denominator. Observed zero remains valid, but an unavailable or unusable prior denominator holds the accepted day instead of inventing flat growth.
- Missing required v3 DEWS archives remain unavailable and preserve accepted days; an observed all-CALM archive still contributes measured zero stress. Archive date and row count remain part of replay provenance.
- Every historical entrypoint loads the same full twenty-one-day supply lookback, combining the seven-day trend interval and fourteen-day as-of margin, so narrow replay windows do not truncate the eligible cohort.
- Contributor attribution preserves the full-precision scoring factor without rewriting legacy factors. Displayed thirty-day extrema and averages use source-anchored UTC calendar coverage rather than row count; neither changes the scoring formula.
- Historical repairs are score-moving. Fixed-clock replay, attribution of changed days and owner review are release prerequisites; this entry does not claim a completed replay or rewrite of stored history.
- Activation is provisionally 2026-10-11 00:00 UTC (1791676800); re-date effectiveAt at release

Origin: Contemporaneous release record

Commits: `eb605e5ca`, `718253076`, `52e5df7b2`

<a id="changelog-v-3-66"></a>

## v3.66 - Observed supply admission and explicit partial-input quality

**Effective:** 2026-10-07

Live PSI excludes unavailable current supply from market-cap denominators and contributors, pairs only usable historical supply, and reports successful partial publication as ok with input-quality findings.

- Absent, empty, wholly invalid, nonfinite or negative current totals are omitted; explicit observed zero remains admissible
- Unavailable previous-week totals are omitted from both trend sides; a nonpositive or nonfinite paired denominator holds the prior sample with trend-inputs-unavailable instead of inventing zero trend
- Stored snapshots and the API disclose supplyUnavailableIds and trendUnavailableIds alongside existing unpriced-open-event diagnostics
- A successful sample and prune returns psi-sample-published with ok plus quality for omissions; failed dependencies still hold publication
- Six-hour USD/native price-evidence and 3600-second accepted-DEWS budgets, pure formula and historical rows are unchanged

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-65"></a>

## v3.65 - Persisted current native-peg event quotes

**Effective:** 2026-10-06

Live PSI reads directly observed native quotes retained by the existing depeg producer, without adding network requests to the DB-only lane.

- Each active native event retains its latest validated CoinGecko value, upstream observation clock, and source in D1 cache
- Live sampling selects the latest native observation at or before evaluation, strictly younger than six hours; absent or stale evidence still discloses open-depeg-no-price
- USD prices and FX cannot synthesize native deviation; producer fetch count and historical replay inputs are unchanged

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-64"></a>

## v3.64 - Null daily components without fabricated zero

**Effective:** 2026-09-28

Daily PSI snapshots persist missing components as null while retaining all-day score averages and per-component observation counts.

- An all-null component remains null; an observed zero remains numeric zero
- Partially observed components average only their observations and disclose their sample count
- All-day averaging and mixed-version provenance are unchanged; historical rows are not rewritten
- Live open-depeg inputs reject nominal par and legacy protocol-redeem cache rows on protocol-par routes as observed prices; absent replay-safe evidence is disclosed as open-depeg-no-price

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-63"></a>

## v3.63 - Quote-domain-safe event inputs and daily provenance

**Effective:** 2026-09-27

Live and historical PSI preserve native event quote domains; daily all-sample averages disclose methodology and component sample counts.

- Native events use timestamped native start or recovery evidence retained in D1, strictly as-of and younger than six hours; USD prices and changing FX cannot manufacture native deviation
- No continuous native quote history is retained: unprovable windows disclose open-depeg-no-price instead of borrowing an untimed event peak or rewriting native references
- Daily scores still average every sample across version transitions, with explicit mixed-version breakdown and per-component sample counts
- Release A readers accept null daily components; the numeric snapshot writer remains unchanged until the separately gated nullable-producer activation

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-62"></a>

## v3.62 - As-of historical supply lookup

**Effective:** 2026-09-22

The historical replay now reads the most recent supply snapshot at or before the day being rebuilt instead of the nearest snapshot in either direction.

- A replayed UTC day can no longer take market cap or historical price from a supply snapshot observed after that day
- A day with no snapshot within 14 days before it leaves the coin out of that day's universe instead of borrowing a later observation
- Live 30-minute sampling and daily aggregation are unchanged

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-61"></a>

## v3.61 - Paired 7-day trend inputs

**Effective:** 2026-08-22

PSI now excludes assets without observed previous-week supply from both sides of the 7-day market-cap trend ratio instead of treating them as zero.

- The live 7-day trend term pairs current and previous-week market caps only for assets with observed previous-week supply
- Assets without observed previous-week supply no longer contribute zero to the denominator while contributing current market cap to the numerator
- Published current market-cap totals and the historical replay path are unchanged

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-6"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-5"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-4"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-3"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-2"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-1"></a>

## 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

Origin: Contemporaneous release record

Commits: Commit provenance not recorded

<a id="changelog-v-3-0"></a>

## 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

Origin: Reconstructed from git commit history

Commits: `dcdefde`
