Marmot-TS
    Preparing search index...

    Class MarmotGroupEngine<TEnvelope>

    Transport-agnostic MLS group state machine: ingest, send intents, fork recovery, and publish-before-apply lifecycle for local commits.

    This class is a coordinator. The heavy concerns live in focused modules it composes: retained history (RetainedHistoryStore), convergence fork recovery (ForkRecovery), and the inbound pipeline (ingestEnvelopes). The engine owns only the live state and lifecycle, the send path, and the wiring between those modules — mirroring darkmatter's cgka-engine split across message_processor/{ingest,send,store}, fork_recovery, and epoch_manager.

    Type Parameters

    • TEnvelope
    Index

    Engine

    ciphersuite: CiphersuiteImpl
    • get convergenceStatus(): ConvergenceStatus

      The derived convergence status (group-state.md §Convergence status, B5): Syncing while the quiescence window since the last convergence-relevant input has not elapsed, then Resolving / Blocked / Settled per the last pass. Recomputed on every read against the injected clock, so it advances to Settled as wall-clock time passes even with no new input.

      Returns ConvergenceStatus