Skip to content

Stellar Index v0.37.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 19:12
· 126 commits to main since this release
de1e6e9

[v0.37.0] — 2026-08-17

Tested against Stellar protocol v23. No migration. Completeness-verdict
reliability + coverage hardening from the live-audit durable-confidence plan
(the "why does aquarius/defindex keep going red" thread).

Added

  • Comprehensive per-source projection reconciliation + a static
    catalogue-completeness invariant (#96).
    The projection axis previously
    reconciled only a subset of protocol tables; it now carries reconTargets for
    the 1:1 tables it was missing (aquarius admin / protocol-fee / kill-switches /
    liquidity / reserves-sync / rewards, soroswap_liquidity, phoenix
    initialize/admin), with the genuine per-token fan-out tables (aquarius
    reserves/liquidity, sdex_offer_events) explicitly noReconcile-waived rather
    than left silently unvalidated. A new AST-walking invariant test asserts every
    decoder EventKind that routes to a persisted table is either
    reconciled-by-kind/census or explicitly waived — so a future decoder kind can
    no longer silently fall out of the reconcile's EXPECTED sum (the exact class of
    the defindex strategy.harvest undercount that produced a phantom
    976-mismatch false-red).

Fixed

  • The nightly completeness-verdict driver no longer times out and freezes the
    alphabetical tail.
    run-compute-completeness.sh re-invoked
    compute-completeness -ch per source AND per 25k chunk, and every invocation
    re-ran the load-heaviest step — the global DistinctTopicShapes recognition
    scan (~60s over full history, identical regardless of -source/-from). A
    source pinned far below tip (aquarius, recognition-capped near its genesis)
    walked hundreds of chunks, so that one scan ran hundreds of times per night —
    the 3h52m timeout (Result=timeout) that left the alphabetical tail's verdicts
    days stale. A new compute-completeness -ch -pass mode proves recognition +
    substrate ONCE at full range for the whole catalogue and reconciles each
    source's projection incrementally from its own watermark; the wrapper now makes
    one such call. This also (a) clears the low-tip substrate flap — a full-tip
    substrate proof advances the tip and is never blocked by the CS-083 write guard
    — and (b) finally gives every catalogue source a verdict, including the
    never-seeded blend_emitter/blend_backstop/sorocredit (they reconcile from
    genesis on the first pass). INV-5, the projection dirty-window mechanism, the
    substrate/projection fail-closed claims and CS-083 are all preserved unchanged.