• Reduce a limited-description table to plain, serializable data.

    Each computed label/description/result that is a live sohl.entity.expr.SafeExpression is replaced with its serialized form (a __kind-tagged source string); literals pass through. A toJSON must emit this — not the raw table — because a live SafeExpression holds a back-reference to its parent logic, and the deep undefined→null pass over a toJSON result would recurse into that cycle. reviveLimitedDescriptionTable is the inverse.

    Parameters

    Returns PlainObject[]

    The table with expression fields reduced to serialized data.