kernels.to_summary()

A JSON-safe digest for callers that cannot take the draws.

Usage

Source

kernels.to_summary(
    obj,
    *,
    quantiles=DEFAULT_QUANTILES,
)

3,571 B against 802,888 B for a 10-target, 10,000-draw distribution - a 225x reduction, and the reason this is a negotiated mode rather than a size threshold: whether a caller gets a distribution or a description of one is the caller’s decision to make explicitly.

There is deliberately no from_summary. A summary is not a distribution and must not be reconstructible into one; that is the whole reason PredictiveDistribution exists (CLAUDE.md decision 4). A caller who needs draws asks for Arrow.