公共 API 参考(@saas/contracts + @core/saas-kit + apps/api 对外接口)
    Preparing search index...

    订阅治理折叠后的当前态快照(回放结果)。

    订阅治理状态机·轻量溯源 fold(ES R4 第二上下文推广 · module-es-r4-second-context-subscriptions · 复用 R1 seam·裁①乙非聚合管道)。

    纯函数 事件序列 → 当前态·零框架依赖·零 recordEvent/pullDomainEvents。事件仍由 handler/service 产出(P3 操作记录语义);本件只承「回放即真相」的读侧裁决形态:R4c 写切换后 canTransition 的 前置态即从本 fold 的重放结果取得,而非表行。

    流语义(subscription 流·aggregateType subscription·aggregateId=订阅行 id·裁ⓐ甲):

    • subscription.created / subscription.bootstrapped:流起点。created=上线后新行· bootstrapped=存量快照。全流回放采「最后快照重启」(bootstrapped 覆盖此前一切·不重排历史·同 tenants); created 亦要求空态出现(再见=流损坏 fail-loud)。
    • subscription.status.transitioned:迁移合法性经 canTransition 复验·且事件 from 必须等于 重放态(空流起点 from===null);不符即漂移 fail-loud。
    • 未知 eventType / 非 subscription 聚合 / payload 关键字段缺失:一律 fail-loud,不猜。

    version 为回放段内已应用事件数(快照重启后从 1 起);物理并发校验由 append(expectedVersion) 承担(R4c)。

    interface SubscriptionLifecycleState {
        status: SubscriptionStatus;
        subscriptionId: string;
        version: number;
    }
    Index

    订阅状态。

    subscriptionId: string

    订阅 id。

    version: number

    已应用事件数(流内位置)。