Stability Index Changelog: v3 archive
Historical release evidence. Return to current versions and the complete history index.
What this controls
Stability Index Changelog: v3 archive version history
Use this changelog to trace how Pharos changed the related scoring, data-source, threshold, or interpretation rules over time. Entries record the contract active at each release; archived rules are retained so historical charts and citations can be read against the rules active at the time.
Primary references
Latest version
Canonical historical repair and unavailable-input retention
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.
Impact snapshot
- 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.
v3.67Oct 10, 2026Canonical historical repair and unavailable-input retention
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.
DetailsHide details
Canonical historical repair and unavailable-input retention
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.
Impact notes
- 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
- eb605e5ca
- 718253076
- 52e5df7b2
v3.66Oct 7, 2026Observed supply admission and explicit partial-input quality
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
DetailsHide details
Observed supply admission and explicit partial-input quality
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
Impact notes
- 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
v3.65Oct 6, 2026Persisted current native-peg event quotes
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
DetailsHide details
Persisted current native-peg event quotes
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
Impact notes
- 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
v3.64Sep 28, 2026Null daily components without fabricated zero
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
DetailsHide details
Null daily components without fabricated zero
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
Impact notes
- 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
v3.63Sep 27, 2026Quote-domain-safe event inputs and daily provenance
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
DetailsHide details
Quote-domain-safe event inputs and daily provenance
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
Impact notes
- 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
v3.62Sep 22, 2026As-of historical supply lookup
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
DetailsHide details
As-of historical supply lookup
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
Impact notes
- 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
v3.61Aug 22, 2026Paired 7-day trend inputs
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
DetailsHide details
Paired 7-day trend inputs
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
Impact notes
- 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
v3.6Jul 15, 2026Core-market aggregate universe
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
DetailsHide details
Core-market aggregate universe
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
Impact notes
- 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.5Jun 19, 2026Exact DEWS generation dependency
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
DetailsHide details
Exact DEWS generation dependency
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
Impact notes
- 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.4Jun 6, 2026Fail-closed DEWS freshness dependency
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
DetailsHide details
Fail-closed DEWS freshness dependency
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
Impact notes
- 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.3May 14, 2026Active-only PSI universe
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
DetailsHide details
Active-only PSI universe
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
Impact notes
- 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.2Mar 23, 2026Fail-closed depeg input availability
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
DetailsHide details
Fail-closed depeg input availability
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
Impact notes
- 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.1Mar 23, 2026Open-depeg replay-price fallback
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
DetailsHide details
Open-depeg replay-price fallback
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
Impact notes
- 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.0Mar 1, 2026ReconstructedDEWS stress breadth component
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
DetailsHide details
DEWS stress breadth component
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
Impact notes
- 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
- dcdefde